Acing Your Programming Interview

Naren Ganjoo 25.03.2019

In the world we live in today, engineers are in high demand by startups and tech giants.

This present world is the oyster for individuals with engineering backgrounds and the ones studying information technology or computer science. However, these companies are not just employing anyone who claims to be proficient. Programmers are still mandated to pass through specialised interview processes, which include the often-dreaded technical interview.
 
Unlike other types of job interviews, a technical interview is a rigorous one that focuses on testing one’s personality, ability to solve problems, and coding skills. As a matter of fact, many consider technical interviews as the most intimidating job interview, but it is far and away less difficult than people perceive it to be. For every technical interview, one should expect to be interviewed in any of the three common types of technical interview – verbal, white-boarding, or pair programming. For any of them, there are some highly effective tips to follow to give the best impression of yourself.
 
1) Be honest
Your honesty plays an important role in acing your programming interview. Simply state what you are capable of doing; you do not have to bluff about anything. In programming, you either know how to solve a problem or you don’t. When questions are thrown at you, think critically and determine the best answer to the question – do not take wild guesses. If you are not sure of your answer, feel free to start by saying “I am not sure, but I think…” This shows your ability to think and a never die attitude. No one wants to work with people who say "I can't do this".
 
2) Be ready to code
For any technical interview you are about to experience, you should be completely ready to code. With many technology focused companies (start-ups and MNCS) it is common to code during your interview. The majority of coding challenges in interviews are simple enough to write within the given period by the interviewer.
 
You should not be surprised if your interviewer gives you a complex project to take home, solve, and return with it within a given period. It is important to understand the objective behind these assignments whether they are looking to test your test driven development, OOP skills, or comprehensive approach to a user problem. You can include comments within your code for the reviewer to know the thinking and logic behind your work.
 
Irrespective of the code you are given to write, you should cultivate the habit of asking questions before writing in order to do the exact thing expected by the interviewer. Make use of good indentations, lots of spaces, diagrams, process flows, and other documentations to prove your knowledge.
 
3) Be ready to explain your project
In addition, you should be ready to give explanations to your project. As an engineer, you are expected to understand the business before coding. As a result, you should be able to give explanations pertaining to what you have done in your project. About three or four lines should be appended to the project that explains it in high level. By reading these lines, people should know what your project is about. After explaining the business needs, you will need to talk about the technical architecture of the project. This requires that you prepare all architecture diagrams that depict the component interactions in your project.
 
4) Answer the “WHY” questions
Another crucial tip to ace your interview is to prepare for the WHY questions. Your interview will most likely focus on the question “Why?” Answering these questions should never lead to arguments, which is the reason why you should possess the ability to convert arguments to conversations.
 
Your previous experiences should demonstrate an understanding of best practices and reasons behind your development methodology. It is smart to practice one key achievement in your previous work and explain your contribution, learning curve and final impact to the company. Ensure that you describe it so remarkably that the interviewer would believe you have done something extraordinary. Accordingly, make a believable story of how your skills and knowledge have been able to complete the tasks that induced your achievement. It is crucial to carefully practice this story, for it may be difficult to come up with a coherent and believable story if the interview is bringing you pressure.
 
5) The features v benefits pitch
Most importantly, do not just talk about yourself, benchmark yourself.  Talk about your phenomenal reasoning and problem solving processes. There are a number of skilled engineers within the market, you need to position your application in a customised way to the company and job requirements.

Prove that you are aware of the expertise on the existing team and talk about your team driven values. This is a shrewd approach to prove that you have researched about the company, the job scope, the team, and you know how you align. Talk about projects that you perceive to be crucial and attractive to the company, and skills you possess that are greatly needed by your employer.
 
6) Practice Practice Practice
This is probably the most cliché and self-explanatory advice yet equally important. There are numerous websites that allow you to brush your skills and practice problem solving questions around a specific language.
 
At the end of the day, your interview will attest to your work over the years however making sure you provide a polished and comprehensive answer is crucial to your presentation as an application. HackerRank is one of the best known website and the links below is a great tool for you to prepare.
 
https://www.hackerrank.com/interview/interview-preparation-kit
https://www.hackerrank.com/interview/interview-preparation-kit/tips-and-guidelines/videos
 
7) Ask the “5 W’s” questions
Lastly, do not forget to end the interview with one or more questions. Usually these would include: What, when, where, why and how. These questions should be smart enough to avoid a yes or no answer. Ideally, you want the interviewer to create a subconscious image of you working alongside them. This would leave the interviewer with the impression that you are smart and you truly care about getting the job.
 
This discussion is also essential for you as a job seeker to ensure you have full details about the role and its potential impact to your career. As a potential new employee you want to avoid as many surprises and ask the hard questions up front to the managers or your recruiter.
 
Do you have a forthcoming technical interview and still need further tutoring? If yes, feel free to contact me.

 

 
Naren Ganjoo - R1104151's picture
Associate Director & Head Innovation & Technology ASEAN
nganjoo@morganmckinley.com.sg

GET THE INSIDE TRACK FROM YOUR EXPERTS