Given that almost all of the tech companies majorly hire through Problem Solving/Data Structures coding interview rounds, it is extremely important to prepare for it if you aim to get a job as a software engineer. Although most candidates prepare for it, the rejection rate is pretty high.
Having worked at Flipkart and Microsoft and having cracked technical interviews of most of the top tech companies, I thought of writing articles on how to prepare for the Problem Solving/Data Structures coding rounds and how to do well during the interview.
Preparation
Get really comfortable with coding: You should aim to get so comfortable in coding that if you’re told the high-level solution, you should be able to code it without much thinking.
Learn data structures and algorithms: Try to understand the basic concepts related to different data structures and algorithms instead of just looking at past problems. You should be able to solve most of the questions that you will likely encounter during the interview if you work on the basic concepts.
Practice: You should spend most of the time coding while preparing for the PS/DS interview. While learning a particular DS/Algo, try to implement them with related functionalities followed by problems where you’re supposed to use that particular DS/Algo.
For remote interviews, avoid noisy places and make sure you have a good working internet connection and keep a pen and notebook with you. Use earphones/headphones.
Make the interview interactive through discussion so that the interviewer can understand your solution approach better.
Try to use meaningful variable and method names while coding to make the code more readable and understandable.
Avoid letting the interviewer know that it’ll be done similar to some other interview problem. You can map a problem to a particular concept or algorithm but not to another interview problem.
@utkarsh911 because the interviewer is not trying to check whether you know the solution or not or if you’ve gone through previous interview problems or not. The aim of the interview is to check if you’re able to solve the problems by mapping the problem directly/indirectly to concepts related to common data structures and algorithms using your problem-solving skills.
Having been quite active in the interview preparation scene recently, I’ve observed that there is a lot of misconception around competitive programming in the context of interview preparation.
So decided to write an article to clear these misconceptions.