The candidate should practice programming problems before start applying for the programming jobs. The candidate can use company career page, LinkedIn, Facebook or other similar social media tools for getting the better response from recruitment team. The candidate gets the response (phone call or email) from Human Resource (HR) initially. After initial communication, HR team schedule a technical discussion with interview panel based on the panel availability.
Phone screen and onsite interview
The initial round discussion may start with a phone screen. The candidate should attend the phone interview without disturbance. The Interviewer may discuss programming questions. The candidate should ready to write and read the code over the phone. If the candidate clears the phone interview, the Interviewer setup face-to -face interview with the candidate. The onsite interview may take a full day. It may go with multiple technical and management rounds. Each round may take 45 minutes to an hour.
The following guide helps to understand the overall programming interview process.
1. Make working code and cover corner cases later
When the Interviewee is solving the programming problem during the interview, they should not write the code immediately. The Interviewee can explain the problem to Interviewer and understand the problem clearly before start writing the code. If the Interviewee is not clear about the problem, they can ask for clarification. The Interviewee can explain the solution. If the interviewer accepts the solution, the Interviewee can start writing the code. The Interviewee should solve the problem first and cover the corner cases later. Example, if the interviewer expects to validate the binary search tree, the Interviewee should solve the problem. After providing the solution, the candidate can add validation.
The candidate should relax before attending the programming interview. They may not be able to prepare all the concepts during the interview day. The candidate can refresh the basic concepts quickly and attend the interview. If the candidate is not feeling well, they should communicate with interviewer early and inform about the situation. So, the interviewer may not wait for the candidate.
3. Communicate well
The candidate should communicate with interviewer clearly. When the candidate understands the problem, they should explain the approaches. If the interviewer accepts the approach, they can start coding on whiteboard or paper. If the candidate takes the online interview, the interviewer may ask the candidate to write code on shared document (example google doc). The candidate should read the code and explain to the interviewer. If the candidate attends through the phone without document sharing, the candidate should explain the approaches. The candidate should listen to the interviewer and understand the requirement.
4. Take your time
The candidate should discuss the approaches to the interviewer and explain the solution. If the interviewer confirms the solution, the candidate start code. The candidate should not assume the problem and solve. It may end up with the incorrect solution.
5. Treat everyone equal
The interview process may take three to six rounds of interviews. The candidate may get interviewed by bar risers. They test the candidate ability during stress environment. The candidate should understand the interview process of the company before the interview. When the candidate communicates with Interviewer during the interview, they should treat all the interviewers equally. Because, the candidate may not know the person who makes the final decision.
6. Explain the concept first and start coding
Once the candidate gets the problem from the interviewer, the candidate should discuss the solution with the interviewer. Once the candidate understands the problem, they can explain the solution or approach. The interviewer comments and direct the candidate with the right direction. Once the interviewer confirms the solution, the candidate can start coding. The candidate can concentrate the solution first (make it work) and think corner cases later. Example negative number use cases, zero input, input size, etc.
7. Run the code
After completing the coding, the candidate can run the code manually with sample data. It should cover all the corner cases and make sure the program flow. If the program does not work with any use case, the candidate can feel free to add or update the algorithm. If the candidate completes the final code, they can discuss the solution with the interviewer. The interviewer may add or update uses case for validating the candidate potential.
8. Ask for help
If the candidate stuck while writing code, the candidate can seek help from the interviewer. The interviewer can give the direct or indirect hint to the candidate. If the interviewer expects to improve the solution performance, the candidate can think about a solution with optimized way. The candidate should always try to solve the problem using data structure or algorithm. The candidate must know to relate problem with the data structure or algorithm.
9. Learn from mistake
If the candidate not clears the current interview, they have experience. The candidate should not make the same mistake again. The candidate always learns from the mistake.
You cannot create experience. You must undergo it.– Albert Camus.