Thursday, February 25, 2010

It is all about facing interviews...

Last of couple weeks I did face a number of interviews: mock interviews, real job interviews, technical interviews and non technical interviews. I gained quite a lot of experiences and thought of sharing it with you all.

Being a final year undergraduate of the field of Computer Science and Engineering, interviews that I faced were intended to select and appoint fresh graduates as Software Engineers.
Two main important things that I consider in facing an interview well, are: being prepared and being truthful.
No matter, how many good projects you have carried out or how much soft skills you think you have, if you have not organized them in mind the day before the interview, you surely are gonna miss the most important points you like to highlight.

In my opinion, you need even to prepare for the very first basic question: 'Describe about yourself'. Take some time and list down what are the points you would like most to tell about your self. And then organize them in a flow such that it gives an overall complete idea about yourself. Not too long and not too short. In general, it need not to be fully technical. Touch the aspects such as your family, education and interests as well. But be careful, in some technical interviews, they may specifically ask Tell about your education and your computing background. So be attentive!
It is really good if you can arrange a mock interview session before you face the real job interviews. Thanks to MBA students and the organizers, we got that opportunity.

Next, they would like to hear about the projects you involved and carried out. Go through the project documents and prepare an overall description of the projects you have mentioned in the CV and prepare them in an order such that you describe them starting from the most challenging project you have done or starting the from the most relevant project to the domain of that particular company. It is really good if you can explain them using diagrams you draw at the interview itself, if they permit. Trust me, most interviewers like that since that way of explaining is more comprehensive. Take papers with you or be ready to explain on the board which is usually there in a conference room.

Then comes the phase where your technical knowledge is tested. Those will include basics from OOP, Design Patterns, Database systems, Operating Systems, Data Structures and Algorithms. Prepare some examples to illustrate OOP concepts. Of course, it is quite hard to revise all the stuff, but given you have learnt them through out your course, you can brush them up quickly. A good way is to do a search on interview questions on: the subject and go through them, but be careful to refer only to trusted sources if you are reading the answer as well. When they ask to write a pseudo code, sometimes you may go wrong though it is a trivial thing. That may due to nervousness. You can avoid that by practice. Do not get panic when you are given a problem, or do not concentrate on the fact that interviewers are looking at what you write. Take the full time and try to construct an answer calmly. 
Describing my own experience, at the first interview, I was asked to write the pseudo code to get the factorial of n which I went wrong due to nervousness. But in a following interview, I could write the algorithms for printing all the permutations of a string and reversing a linked list although they are harder. And the difference of my performance at the latter case was due to practice.
And, be truthful in the interview, if you do not know or have not done that before, tell that frankly and if you think you can come up with an answer with what you know, let them know that and try to construct the answer. Also be truly passionate to learn new things and declare that in the interview where necessary.
Then comes the phase where you are asked some general questions such as why do you like to join us?,what are your future plans and any questions you need to ask? For those,  do your homework and see what those companies do and think of some good reasons why you want to join.

Good luck with your interviews!