How to Pass Coding Interview
IT sector, especially software development field, is one of the most rewarding job markets and extremely competitive too. Besides mastering the required technical skills, it is equally important to prepare oneself for the technical interview. A technical interview mainly focuses on the kind of projects you have developed; their short introductions and discussions, in-depth knowledge of frameworks you have used and coding skills to have an estimate of your problem solving and algorithm writing techniques. There are five key rules, listed below, that can help you to nail the interview:
Do a thorough research on the company
Knowing about company details and their way of working is a key to crack any interview:
- Grab an idea about what kind of technologies and framework they work with.
- What are their five year plans?
- What kind of domains and markets do they function with?
Getting enough knowledge about the company will help to get into a healthy conversation with the interviewer. It will also show your keen interest in the company, making you chances of getting hired more favorable. This also helps you know if you skills perfectly align with the requirements.
- While searching the details about the company, keep in mind these following points:
- Look for them on LinkedIn, especially your interviewer. Learning a little about them will help you channelize your answers in a better way, understandable by the interviewer.
- For example, an HR person may not understand jargon, but an IT person would fully appreciate it.
It shows respect if you use interviewer’s name during the interview process. Also, it makes him/her believe that you have great interest in working with them.
First impression is everything
No one gets a second chance to perfect their first impression. So, be confident enough to present yourself with great enthusiasm and positive energy.
Small things such as a strong handshake and eye contact positively impact the interviewer’s thoughts about you.
Besides coding and putting your head into machines for long hours, today’s software development world need engineers who are not only efficient in these tasks, but also have the capability to work with other developers, business teams and stakeholders.
Being a master in technical skills is the foremost important thing, but you must not neglect the bonus point, you can achieve with your smooth communication skills.
Be in sync with your interviewer’s body language
Body language is a window to the soul both in social as well as professional interactions.
- Maintain a good posture always. It enhances your personality.
- Avoid interruptions and get rid of distracting behavior.
- Make use of hand gestures, only when it is appropriate.
For instance, you may notice your interviewer becoming overwhelmed due to long and boring answers or clearing their throat. If you can follow their body language signals, then you can empathize with them and keep them engaged through your good momentum. It is quite a basic thing that can turn a poor interview into a better one.
Explain your Project
Technical interviews will judge your skills on the basis of your project. Talk about it in detail from high-level to low-level.
Normally, an interviewer will ask you to explain your project, which you added in your resume. Answer the high-level questions with high-level technical answers.
The best way is to start explaining from the front of the software / application and then, proceed further with the different tiers and modules that exist in your project and then, finally to the database, where information is stored either encrypted or non-encrypted.
Let us take an example, you may explain, “The front-end of my website is written in HTML designed with Bootstrap CSS, which send HTTP request to the server using node js. On the serve side, I have implemented Spring MVC controllers to handle the request, process it via JAVA and store or fetch data into / from MySql through Hibernate. I deployed my application onto AWS (Amazon Web Service) using RDS and EC2 services and an Apache container.” Utilizing the technical terms, buzz words and frameworks in your explanation will show your deep understanding with the software development process.
Prepare yourself for a Coding Challenge
If the job requirement is for a developer position, then be ready to go through coding challenges. There are high chances that the interviewer will ask you to write a code to test your logical skills. The test can be done either on whiteboard or on editing tool over the Internet. Most of the times, coding challenges are quite easy and can be done within a very short span of time. It is just to check your basic knowledge about the technology. Here are some examples of most common coding questions:
- Write an algorithm to reverse String using String only functions
- Write an algorithm to sort array either in a descending or in an ascending order.
- Write a SQL query to find the employee with the third lowest salary.
- Write a SQL query to find out employee names who have resigned and their age is less than 30.
Before putting up your thoughts to write a code, always ask the questions to make the requirements clear. Note them down somewhere. It is recommended to initiate the challenge by first drawing the diagrams and process flow, which shows that you have deeply understood the question. This is how the developers deal with real-life problems. Make sure your solution is short and quick to maintain interviewer’s interest and also explain why this is the best solution by taking space and time complexities into consideration.
Last but not the least
Interviews, either good or bad, will always be a part of your career. Each of them is a way to learn something new and there is no short cut to make every interview successful. Always give your best; make sure you know the company well before facing the interviewer, you have amazing body language and full confidence to leave an unforgettable first impression. You have thorough knowledge of your project from scratch and are well aware of technical terms.
Be Prepared. Do your Best. Good Luck!