India’s IT sector is expected to produce 2,50,000 new jobs in 2019, according to TeamLease. Even with the ever-increasing demand, the tech industry has always been picky about the candidates it employes. So, a technical interview becomes crucial in finding the right candidate.
And even though the demand is high, the supply is even higher.
According to the HRD ministry, 1.5 million engineers in the country graduate and join the job search rat race every year. Not only this
Getting a job in the tech industry can be a tough nut to crack, especially when the technical interview can be overwhelming for even the best candidates. However, since it’s the most crucial aspect of the hiring process that can make or break your chances of landing the job of your dreams, it’s important that you learn how to ensure you come out with flying colours.
So, what exactly is a technical interview? Here’s a quick overview:
What is a Technical Interview?
Not just that, it also aims to determine if you are culturally fit for the organisation. After all, the recruiter’s primary goal is to eliminate not just under-qualified candidates, but also shortlisting the ones that align with the core values of the company. Also, the candidates are behaviourally suited for the environment they’d be working in every day.
How To Crack A Technical Interview?
A technical interview is typically going to judge you on three aspects: algorithm, architecture design and behavior. Often, you get a mix of all three, wherein one of them takes the center-stage, depending on your experience level, and the job profile. Therefore, it’s imperative that you are prepared for whatever your interviewer has planned for you.
Let’s go over what this three-fold process includes:
In most cases, algorithm related questions take up 70% of the entire technical interview. As a rule of thumb, the interviewer would present you with a problem statement that you must find a brute-force solution for using a whiteboard or pen and paper.
In most cases, the overall purpose of this is to:
- Your knowledge of data structures.
- Evaluate your ability to use sorting algorithms and recursions of functions
- Understand how well you recognize patterns + edge-cases and analyse time/space complexity to come up with an optimal solution.
- Analyze how open you’re to taking criticism, discussing trade-offs and working on the required improvements.
While there have been arguments against the use of whiteboard tests to determine the employability of a candidate, it’s definitely the most commonly used approach by employers everywhere.
Whether you are a fresher looking for your first job as a front-developer or experienced personnel applying for a machine learning position—your next company will use the whiteboard to push you out of your comfort zone. After all, without your preferred coding tools, most candidates are likely to panic and lose touch with their problem-solving skills.
So, how do you manage to ace the whiteboard round in your technical interview?
For starters, you are not going to have a running code on software that alerts you of syntax errors or have the privilege of copy-pasting from an existing algorithm library. So, it’s in your best interest to ditch your system and grab the mighty pen while you’re in the preparation mode for your next technical interview.
Learning to write your code on paper or a whiteboard can be bothersome at first, however, once you get the hang of it, it will become second nature to you.
Not to mention just that, practising algorithms on the whiteboard—where you can think aloud and document your thought process— gives you the much-needed confidence to crack the in an interview.
Make sure you master the algorithms that employers most commonly ask during interviews, including:
- Linked lists
- Number theory
- Dynamic programming
- Bit manipulation
- Sorting and searching
- String/ Array
- Binary search tree
While you’re preparing to have the aforementioned algorithms on your fingertips, it’s also important to be mindful of how you conduct yourself during the interview. Remember to share your thought process with the interviewer as you work on the whiteboard, so they’re in a better position to gauge if you’re headed in the right direction.
Regardless of whether you conclude with their preferred solution, talking about the exact step-by-step approach that you take when presented with a problem helps them evaluate the efficiency of your methods. Ultimately, don’t forget to keep it simple.
Maintain a steady pace—not too slow, not too fast—while working on your code. Your code will have 80% more clarity if you choose the right variable. Instead of going for a hasty X and Y, name your variables based on what information they hold – for example- “height_in_centimetres” or “course_name”.
Senior developers with more than 8-10 years of experience often go through the Architecture Design round where the interviewer asks you to design a system (for example, a coffee ordering system) on a whiteboard. You have to define a collection of software and hardware components, including their interfaces to establish a framework that solves the original problem.
While Architecture Design is a great opportunity for candidates looking to demonstrate their programming knowledge, it’s also an excellent judge of your perceptiveness or the ability to look beyond the possible bottlenecks.
Similar to the algorithm round, the objective of this round is to assess how effective and streamlined your thought process. Of course, how well you design the system that meets all the requirements is the true deciding factor.
This round will include active communication and brainstorming, in addition to class structuring diagrams and actual implementation code.
Some of the common systems that are asked in interviews are:
- Global video viewing service
- Global chat service
- Social networking service
- URL shortening service
- Ride-sharing service
- Search related services
- Proximity server
- File storage and sharing service
Wish to ace your next system design interview? Here are some commonly asked questions and things you should keep in mind while answering them.
For the algorithm round, there are a few other things that you must also keep in mind.
First of all, try to use your background to your advantage. For instance, if you are an iOS engineer, steer clear of topics API endpoints, adding workers, AWS. Instead, initiate and focus on a conversation around modularisation of functionality, and design patterns.
Most architecture problems are designed to judge your understanding of the problem space and how you tackle the bottlenecks. The interviewer also wants to know the volume you can cover within the scope of your interview.
For instance, if you’re asked to create the framework for a one-on-one conversation platform, then you would be expected to explore the possibility of extending your design to group chats. You can further add a push notification functionality for the messages in your framework or include an end-to-end encryption system to enhance your design.
With all this, remember, you are running by the clock. Cover aspects of the design framework that would highlight your skills. Try to focus discussions around topics that you have more knowledge of.
Now that we’ve gotten the major preparation tips out of the way for your technical interview, let’s quickly cover some basics that you should not miss.
Interview Basics To Keep In Mind
Ask Clarifying Questions
Whether your interview is around algorithm or architecture design, remember not to work on the whiteboard before you ask clarifying questions. If dealing with a coding problem, this will help you narrow down the scope of what you are supposed to do. And also help you understand the extent of the employer’s requirements. Similarly, for a system design problem, this helps you gauge the user’s expectations of the system, It also helps you recognise possible bottlenecks in advance.
Expect culture-fit questions
Usually conducted by a senior person in the organization, this part of your interview is to evaluate if you are fit for the organisation and not the position. The questions are related to how you would react to different professional situations to mediate workplace conflict and get along with your subordinates/superiors. For example, be prepared to talk about your past work experience. Remember to research the company you’re interviewing to answer questions related to your motivation behind joining this particular place of work.
Brush up on your programming fundamentals
While you are busy preparing algorithms and system designs, don’t forget to brush up on your basics. Irrespective of what role you have applied for, you will be questioned on the fundamentals. Refer to your initial CS courses or use the mighty powers of the internet to brush up on important programming concepts. you can easily revise them online.
Learn to say ‘I don’t know’
If you don’t know an answer, just say so. Beating around the bush and saying something irrelevant reflects on your character. While an honest, “I don’t know” reflects your clarity of thought and integrity. Your interviewer is experienced enough to gauge that you don’t know the answer and are trying to act over smart. And before you know it, you would get a negative on your scorecard.
Focus on your appearance
Whether a startup or a corporate, you cannot enter your interview chewing gum, wearing shorts. We are not suggesting you suit up all the time, but don’t get too casual with your attire. Even a skillful developer might be rejected based on first impressions. Looking too casual reflects that you are not serious about the interview or the job and you don’t want that.
Your body language also plays a crucial role in any interview, read some of the body language secrets here which can help you ace your interview.
Needless to say, always expect the unexpected. Be ready to be surprised and don’t panic. We know that the technical interview is the toughest obstacle on your way to your dream job but it’s not invincible. Sometimes it’s about all the right attitude than the right answer.
Looking for your next dream job in a leading tech-startup? Try Workship and get an interview call within 2 weeks.