During the interview you can expect to meet with one Technical Interviewer/Panel and one HR Interview.
What to wear at the interview?
While some companies do not mind casual wear, be safe and wear formal clothing. Suits are not necessary, as the interviewers will be wearing casual attire. Wearing Jeans and a T-shirt indicates that sufficient respect or seriousness for the interview so stay clear of that. A standard technical interview outfit consists of non-denim cotton pants, a collared shirt and shoes(no sneakers).
What will the Coding Questions be about?
For Coding Questions: You should be ready to code during your interviews. Make sure that you brush up on your C/C++ skills before you come, as interviewers love to ask questions related to linked lists, loops, arrays & pointers, etc. You might get a basic algorithmic-type problem you solve on paper with a pen/pencil. Before you go for the interview make sure you are very comfortable with the programming language that you choose.
Coding Questions : Tips
Make sure you write your best code that you will ever write, keep in mind the code you write will be the only code the Interviewer will ever see. If you write ugly code the interviewer will assume you always write ugly code.
Generally you can choose your language while coding, try to come up with a simple design in a fairly short amount of time, rather than trying to incorporate too much and making the code unnecessarily complicated. Always double check for errors and bugs, before handing it over to the interviewer.
Approach is measured
Keep in mind that the interviewer wants to see the thought process throughout the interview. Keep the problem solving process interactive if you have any questions or problems. At the same time the less the hints you need the better it is.
The process should highlight your ability for problem solving, logical thinking and communications for eliciting requirements.
Do not dismiss the question
For example if you are given a problem like this "Write a function that determines if two integers are equal without comparing them". This is a silly and contrived problem. You might want to answer "That is a stupid question".
You would flunk if that is the answer.
You need to answer the question as it has been asked. You could for example if you are forced to use a hash table for a problem say "This might be much easier with a binary search tree to extract the largest element but let's see how to solve this with a hash table".
Ask clarify questions
You can't solve the problem if you don't understand it. Often there are hidden assumptions and you can't demonstrate your skills if you don't understand the problem. Don't hesitate to ask questions about the problem and don't start solving it until you understand it.
Steps to follow - Use Example
Once you understand the problem, always start with an example. This will highlight methodical and logical thought process. Examples are also especially useful if you don't see the solution right away.
Steps to follow: Algorithm
After the example focus on the algorithm to be used to solve the problem. This may require some additional examples and will take some time and is expected. Make sure you communicate your progress to your interviewer instead of blankly staring at the whiteboard. You can mention the approach that you are using and this could lead to some hints from the interviewer.
After you figure out your algorithm explain your solution to the interviewer, this gives him an opportunity to evaluate the solution. he may then give a go ahead to start coding or give you some more inputs.
Steps to follow: Test your code
Test your code before saying you are done!
Non Coding Questions
For resume/non-coding questions: Expect ‘Experience’ or ‘Behavioral’ questions which are open-ended questions about your past experiences, jobs and projects. Be specific, answer what was meaningful about the experience and what you learned.
Don’t practice too much, try to keep the answers natural, make sure that you have captured the key points Also, keep it short, but make sure that you have covered what you wanted to.
What better Candidates do
Diagrammed the problem clearly
Asked clarifying questions before writing code
Considered the consequences of every line
Checked their work without being prompted
Proved that their code was correct by trying different inputs
Self-tested their code
Things to Avoid in Interview
Don’t linger on the good or the bad, don’t talk too much or ramble, don’t hide your thought process, especially for coding questions and don’t forget you are interviewing your employer too, so make sure to take the time and know them and ask them any questions you have about the company, the products, the job etc.
Can i be asked Brain Teasers?
You will also come across some problem solving questions (like brain teasers or puzzles) so be sure you fully understand the question and take a few seconds to think about the problem & ask clarifying questions before jumping in!
Interviewers like to ask ambiguous questions, so when in doubt; ask plenty of questions to be sure you fully understand the problem before jumping in to a solution. Also what the interviewers are looking for here is your approach, rather than the correct answer. Thinking aloud might help!
Who is a Qualified Candidate
Someone that has very strong abilities to write code in C/C++ Someone that is very driven and passionate about technology, desiring to make software products that will go all over the world Someone with fluent English speaking skill
Development: Code Complete by Steve McConnell Writing Secure Code, Second Edition by Michael Howard, David C. LeBlanc Coder to Developer: Tools and Strategies for Delivering Your Software by Mike Gunderloy, Sybex.