Your Complete Guide to Acing Your Tech Interview (Part 3: The Coding & Onsite Interviews)
Well done! As now you have passed the Phone Screen Round, it’s time to get ready for the more intense session i.e. face-to-face interaction with the company heads. It is indeed the most nerve-wracking part of the tech interview. This is the final stage where you have to show your complete technical skills along with overall constructive body language. Here, in this round you have to show that you are a perfect contender with the best knowledge to succeed in the role. So let’s start with the steps to consider while cracking the Coding & Onsite Interviews.
Step 1: Preparation of the Coding Interview
Swot technical ground rules
This part will be similar to your traditional interview where you have to roll-up your sleeves and start preparing from the basics irrespective of your experience and educational qualification. It is because this part will involve entire Computer Science exam rolled into one and you have to sit with that thick book to cram the detailed programming principles, algorithm, and data structure.
But the problem is that till the end you will have no idea as to which part is more important and which is less. So, to avoid this confusion and wasting your time on the heavy book and online tutorials, pay more attention to the expected and the most common topics usually asked in the coding interview:
- Basic computer architecture concepts
- Hash tables
- Linked Lists
- Bit manipulation
- Illustrious library functions
- Sorting Algorithms
- Big O Notation
How to deal with the important topics
Comprehending what to study is not that difficult than how to study. When you actually sit down to study, you have to formulate plans on covering the important part of the topic. Merely looking at the topic will not serve the purpose here. You need to practice the particular diagram and understand the concepts behind it so that you can explain it in a better way.
In front of the judging panel, it sometimes becomes quite embarrassing when you know the answer, but don’t know how it was derived. For this, even if you don’t have a coding interview in near time, still you have to practice few problems on daily basis and boost your knowledge. You have to first read the problems carefully, derive the various codes for it, check the solutions and think of the other ways you could have solved the question.
You can also refer some websites for coding solutions like Codewars, HackerRanks, CareerCup, Interview Cake, etc. Books by experts also help in getting quick and elegant solutions to coding problems.
Pick a language for your interview
The interviewers will get impressed by the right solution you gave them and not the coolest language.
Run-through the whiteboard skills
This is the most fearful and contentious part of any technical interview process. The candidate has to show off his coding and problem-solving abilities to the managers, engineers, and company heads. In this, you will be asked to write handwritten code for solving a difficult question along with full explanations to the related queries bowled by the panel every now and then. It is therefore, a long and time-consuming process.
If this is your first time, then do practice the same environment at home before the actual interview as many firms do ask to highlight coding solutions during the interview on the whiteboard. Buy a whiteboard and start writing solutions on it in clear handwriting instead of relying on keyboard or code editor.
Try Codementor, Gainlo, or interviewing.io to plan a simulated whiteboarding discussion with a real tech professional or even a hiring manager.
Get to know tech questions asked in interviews
Well, to be very frank there is no exact list of questions to be asked in the interview as no one knows the mind of the judging panel. It is kept as a surprise package for you. This is the exact reason why this round is little too terrifying. But the only option left for you is to search the internet and follow the footsteps of the experts of this field. What you can do is that you get acquainted with the company fellows during the first session. This will help you to get some idea from them for the interview.
For the whiteboard session, you can expect them to implement coordinated algorithms, binary tree balancing, check the interconnected lists, etc. For CS questions, they can ask anything related to the new technical terms, about objects, two or three tier architectures, etc. This is just a basic idea as the exact list will not be known till you sit in front of the judging panel. Just keep practicing various questions related to your field to boost your confidence level.
Step 2- During the Coding Roundtable
Clear your doubts if any by asking questions
Maybe that you know the exact answer to the question asked, but don’t show off too much excitement as this often tends to lose the whole game. Just be calm and first ask them the doubt or any clarifying question if any before starting the coding solution. This will give you time to frame your answer exactly they want and you will be able to recollect all your thoughts on that particular point.
It will give a positive impression on the judging panel and they will know that you are preparing for the best possible answer even after knowing the exact ready solution in your mind. The clarifying questions asked before diving into the answer will give you the idea of what type of answer they want for the questions put.
Get involved in answering the question
The judges sitting in front of you are not only waiting for the correct answer but also your clear and explained approach towards the solution. So, don’t jump into writing the codes after listening to the question as this will make them feel that you have already heard the question before from someone and have a ready answer to it.
Explain every step you are writing so that they also get engaged in the solution. This helps them to understand your answer in a better way. Someone might throw a clue or drive you away from the answer, but you have to face that also smartly and continue to go on with your explanation.
Ask for help when you get stuck
The technical interviews are planned in such a way so that the judging panel ascertains your ability in every aspect, and not only getting the perfect answer. The will assess you on your filed knowledge, coding skills, problem-solving skills, etc. So if you get stuck in the whole process, just realize it that it was supposed to occur. The judges are waiting to see your reaction to all the challenges they put you through.
Don’t lose your confidence and give tattered looks at this stage. Instead ask for clarifying questions and tell them that even if you don’t’ know the exact answer, you are going to try for it. If you don’t know even the basics of the topic discussed, then clearly tell them that you are not aware of it. It will not ruin your impression and they will try to frame another question. Remember, if you try to answer the question you don’t have an idea about, then you will sound stupid. In such cases being honest is the only way out.
In case you have little idea about the answer then you might ask for clues and involve the judges in your solution so that they can drive you thru the process. After all, getting cooperation from others is the main trait for any software developer.
The technical rounds are always tricky and no one has clue about it. It entirely depends on your preparation and practice you do before the final day. The best suggestion from my side is that you start your routine healthy on that particular day. Get good sleep, don’t be too nervous or think too much about what’s going to happen next. Be calm, have a good breakfast, wear your best looks and revise everything you have planned for this big day in a brief. These small things also help a lot at the time of interview as your thinking ability is better when you take good rest, and your responsiveness is quick when you eat and sleep well.
For the interview session, you just have to be attentive to all the questions asked and frame your solutions accordingly. Try to break the answers into small segments and start coding by explaining everything stepwise so that everyone gets involved in your solution. If you get stuck somewhere then either, ask for hints instead of staring at the whiteboard like an absent-minded person.