Q)What is your Project Architecture?
A. The reason behind asking this question is to check your
acquaintance towards the project in which you are working.
Most of the people feel difficulty in answering this question.
You are expected to explain the following this about your
project like
· Title of the project
· Client
· Team Size
· Brief description about the functionality of the project
After specifying the above things, now you should start
explaining the modules in the project and which module you
are woking on and you should explain the technical flow of the
project.
If it is struts application You should explain the key
components of it and how the request handling flow happens
and how your struts components talks to backend classes etc.
In a spring based application you should explain which web
module you are using, various components of it, typical request
flow, how you integrated your webtier components of spring of
spring with backend spring beans etc.
Along with the above you need to explain how you are
implementing the transactionality, any security related
concepts etc.
You should explain the database you are using, and your role
towards it.
Q) what are your roles and responsibilites in the project?
A) You should not explain in-terms of the types of classes you
coded, most of the people when they asked this question will
try to tell I coded struts action classes or In involved in writing
the DAO logic etc. With this you are in-directly leaving a wrong
message to the interviewer stating my participation in the
project in minimal.
Instead you should select a module’s (based on the exeprience)
and start explaining you participation in those module’s like,
am involved in gathering the requirements, understanding and
analyzing them and involved in few design considerations as
well. Takes the ownership of implementing it, I was involved in
handling the front-end parts of the application as well as
writing the back-end DB related logic as well. You should
explain convering all the parts of your application showing your
involvement towards it.
Q) What are the technologies you have worked on?
A) You should explain the technologies you worked on as well
as you know. You should first list out the technologies that your
project is using and along with that you should describe what
you know in-addition to them.
While answering the technologies related to your project, you
should even consider the versions which you are using in your
projects.
Q) What are the tools that are used in your projects?
A) This question relates to any third party tools that you are
using in your project like code review tools, or profiling tools
etc to improve the productivity of the project. Most likely you
will use tools like
· Visio – For modeling
· PMD – Java code review tool
· Any browser plug-in’s like File Bug etc to debug
javascripting etc.
· IE Developer to work with javascript and CSS
· Jdeveloper or TOAD to working with database.
In may not be necessary to use a tool.
Q) Which IDE you have used for the development?
A) (Which IDES’s you Know?)
Here you must explain him the IDE you are using for
development and if any other tools which you know apart from
the one you are working on.
Here the interviewer might ask you even the stortcuts keys of
various things that you do for writing the programs.
Q) What are the database’s you worked on?
A) You need to specify the database on which your application
is using. Here he might ask you questions related to database
specific things like how to write the joins what is normalization
and how your application is talking to database etc.
Q) What are the server’s / platform’s you worked on?
A) Here you should possess minimum knowledge pertaining to
the application server which you are using for deployment of
your application. You should know the basic deployment steps
of deploying the application, default administrative console,
how to configure a Data source, folders in which your
application gets deployed etc.
Q) Which operating system / environment you are working on?
A) Few of the security related banking and financial applications
will use for remote machines like citrix servers are etc for their
development rather that working on their personal PC
provided, so here the interviewer will expects you to answer
the environment in which you are working along with that OS
you are using for development. The question is not concerned
about on which OS platform you deploy in production rather it
is taking about the platform on which you do development.
Q) Have you ever been involved into Design?
A) The answer to this question depends on the experience you
are claiming, If you are around a 1-2+ years of professional it
may not be relevant to say you are part of design as your
involvement towards project decisions would be minimal.
If you are above 3+ years of experience, then you need to
explain the key design you are involved in or what you worked
out etc.
Q) What is the reporting tool you are using in your project?
A) Generally any application needs printing capabilities,
generally java web based application’s will produces data for
printing in-terms of web pages. If you have a typical printing
requirement, the you need to explain which library you are
using to generate reports of data.
For example Jasper reports or iText API for generating PDF’s
and POI API for generating excel sheets etc.
Q) What is the CIS/build management tool used in your
project?
A) In a development environment after developing the
application, In order to deploy your application, you use your
IDE’s to compile your code and deploy. But in a Testing and
other environments, for every new check-in that goes into
source control, you code needs to be built to verify the
sustainability of your code, so generally in they use continuous
Integration Systems or Build management tools which builds
the application regularly similar to a scheduler and reports the
health of your build cycle.
Few of them are
Hudson – CIS tool
AnthrilPro – Build, Deploy, Test and Release tool.
Q) What is the volume of data against which your application
runs?
A) In general a developer will not know the production
environment and the volumes of data against which your
application works. Your technical architect should be taking
these kinds of challenges and makes decision to have a
particular use case to be online or offline.
So, you can always I don’t know the exact numbers of records
my application is running on.
Q) How do you manage security like managing user credentials
/ data encryption etc?
A) In general you will take care of securing your application by
hosting on an SSL connection rather than plain HTTP.
When it comes to data protection, generally the passwords that
are being stored in the database will not be stored in a plain
text rather those will be converted in to generally BASE16 or
BASE32 encoding formats and will be stored.
You can even explain like we use Salted Password technic in
storing them. You can search about the salted password
mechanism for more information.
Q) How do you write Unit Test Cases? (Microsoft, Goolge,
Tanla, Adobe, Bharti Telecom)?
A) You need to explain your participation of writing unit test
cases in your project. Generally for writing unit test cases using
Junit and Mocking Objects to mock the HTTP or orther protocol
specific things.
You need to explain by taking atleast one of the test cases and
write the code for how to work on it.
3. Nature of Work
Here the interviewer will try to find the nature of work you are
performing and type of duties you are responsible for. Let’s say
you said you are into development, in-order to find are you
really in to development or not he will ask you vairous aspects
related to a general development lifecycle. You need to take
these question with most focus.
Q) Have you ever participated in release call?
A) Generally once the code is development complete and fully
tested to bug free, it will be moved to production environment.
While moving to productio environment, they will try to
identify the set of activities that needs to be performed as part
of the release process.
This is called release plan, in this all the managers, technical
architects, support and technical leads will generally
participates in the call to monitor the progress of the process.
If any environment specific issue or code specific issue comes
into picture, these guys will technically resolve the issue to
further move into production.
Once the build and deploy is over it would be smoke tested to
verify all the critical execution parths of the application is
working or not?
You can always either opt to be in or out from this.
Q) Have you ever been involved into Testing?
A) This question will be asked to verify the nature fo duty you
are handling. Always a developer will be involved in Unit
Testing of his application, but beyond this never he should
claim he has been involved into testing unless he wants to
switch his role from developer to tester.
Q) what is your Team size?
A) This would be a mandatory question, to verify whether you
can work within a group of people or not.
Even you could be an individual contributor as well. But you
score more within a group.
Q) What are the corporate trainings you have attended?
A) These could be the trainings that you underwent as part of
your jo and which was nominated by your manager. These
should not include your personnel expensed trainings in
general.
These trainings could be technical as well as non-technical
though.
Q) Do you have experience in production Support and what is
the hierarchy in Production Support? (HCL, RBS, Amdocs
(Gurgaon), HSBC).
A) This question would be asked in generally for a Production
Support related Job role only. Here he wanted to test your
exposer to the production support environment and the SLA’s
and the escalations they would dealing with.
What are the steps that are taken care when you encounter an
issue? How do you debug the issue?
Q) Tell and explain to us about a specific situation during the
project where you have to cope with a less experienced
candidate in your team and what are the measures you took to
meet your deadlines? (Verizon)
OR
You have been assigned as the Team Lead for a team comprised
of new employees just out of college and “entry-level”
consulting staff. What steps can you take to insure that the
project is completed against a very tight time deadline?(TCS,
Infosys, CTS, LogicaCMG)
OR
Your project is beginning to exceed budget and to fall behind
schedule due to almost daily user change orders and increasing
conflicts in user requirements. As a senior developer, how will
you address the user issues?(United Health Group)
A) If you opted for a Technical or a Team lead this is to test
your team handling skills.
In general to handle a team under stringent deadlines, you
should say we follow the process and to verify whether we
are meeting the deadlines we will have regular checkpoint
meetings.
We will have an MPP plan to measure and track the
process of project, along with that owner ship would be
assigned persons by identifying aggressive persons in the
team.
We would be monitoring across various stages of the
project from requirement gather till Unit Testing. Whether
the design documents are in place and has the
Implementation phase has been started or not.
We will come up with estimates identifying the key
components of the application and track to ensure we are
meeting the estimates.
Code reviews would be done for every component that is
ready to completion.
Will use automation tools to increase the productivity like
Hibernate reverse engineering tools or SQL Jdeveloper to
work with databases or PMD code review tools etc.
Will ask the team members to perform Unit testing once
there are done with development and verify them against
tracebility matrix.
All the changes to the requirements would be monitored
closely and will have a change management and approval
process would be placed to accept any future changes to
the requirements.
Q) How do you handle non-productive team
members?(Accenture, CISCO, GE)
A) Will try to monitor the resources closely, will try to have a
regular discussions with them to identify their strengths and
weakness. Will motivate them by encouraging them on the
work they have done. Will identify their technical challenges
and nominate for training.
Q) Tell us some of your extraordinary skills which place you in
the leading position over the other technical
associates?(Juniper Networks)
A) You can make any situation favor to you like, you have
handled certain module of your application or you are involved
into critical design of a module etc.
You can say even challenges related to technologies as well like
we are moving from struts to spring and it is Phase wise and we
need to move our entire existing logic in struts framework
towards spring. I was identified as a key actor in owning this
migration and towards its successfully delivery.
I Identified the migration plan and compared struts with spring
and analyzed what are all the changes that we might need to
make in porting the application from sturs to spring. Guided
rest of the Team members and ensure the correctness of the
delivery etc.
Q) What were the criticism / difficulties you got during your
projects, how did you handle it and what are the measures you
look to avoid repetition of the same?
(Mercedes Benz, ORACLE, CA, Pega Systems)
A) It’s better if you avoid taking up such kind of questions by
replying I haven’t encountered any.
Q) What is SCM tool?
A) This is the tool which acts as a central repository where all
the developer’s code will go stored permanently to avoid any
loss of local code. The backups would be done on the code that
would be checked-in to the control repository to avoid any
losses further from there.
Developer will pull the code from the repository, work on this
local copy and pushes back to the central repository to see the
changes he made to others, this process is called check-in and
check-out.
Q) What are the measures you take to ensure there are
minimal code conflits with other peers in the team?
A) In order to avoid conflicts when each codeline, we have a
proper plan in place. Every developer has to check-in only the
compiled code for Build Management process to run smooth.
Every day when he starts coding he needs to update his code to
sync with source control system branch, so that he will be
updated with the changes that are done with the central copy.
Q) If you are working on parallel releases one will be identified
as a main branch which will be released slightly after than the
current release. And the second one is the immediate release.
All the check-ins that are done in the immediate release branch
must also should be ported to the future release MAIN branch
so that your changes would be ensured to go in future releases
as well.
Q) what are the Different phases in delivering the project
during development and during maintenance? (CTS, patni,
General Motors)
A) This question relates to the process model you choose in
developing your application, you need to explain him the
lifecycle model of the project and various stages involved in it.
Q) How do you perform unit testing and make sure you covered
all the aspects of your code?
A) Before starting the unit testing, every developer based on
the Use case he should identify all the alternate paths, critical
paths of a test case and should draft them in a Tracebility
matrix. In this matrix he will trace all the critical flow of the
application has been covered to its fullest or not.
Q) What is the document that should be consulted to know
about your project, the activities you do, to know about your
project? (Dell, Qualcomm, HCL,PSPL, TechMahindra)
A) Requirments Phase – Highlevel Requirment document or
Business Requirment document.
Analysis Phase – Usecase and Analysis document
Design Phase – Highly level design document and Detailed
design document.
Unit Testing – Test case document describing the unit testing
flows and Tracebility matrix.
Q) How do you come up with estimates for a requirement?
A) We will identify the components of the application into three
categories based on their complexity.
And we use estimation document where we will feed in the no
of critical, moderate and normal components in that document
will calculate the estimates.
No comments:
Post a Comment