Ankur Dubey

Member Tech @ D.E. Shaw

Demystifying Tech Interviews

05 Sep 2020 »


This post will give you an idea about the internship/FTE interview process, types of questions you can expect, dos and don’ts, and some things that I have experienced and I think are worth sharing.

The Interview Process

The process is almost similar for every company. Generally, it is a three step process.

  1. Online coding round
  2. Technical rounds (Telephonic and/or F2F)
  3. HR/Managerial round

Online Coding Round

Coding rounds generally take place on HackerRank. You can get an idea of HackerRank environment by trying this sample test. Other common platforms are HackerEarth, CodeChef, CoCubes, etc. It usually consists of 2-5 coding problems with a time limit of 45-150 minutes.

Coding problems range from easy to moderate difficulty level, but could be implementation heavy at times. Most of these problems can be solved using simple implementation, sorting, binary search, basic DP, tree and graph algorithms (rare). However, the problems could be on a bit tougher side for Codenation, Directi, Google, etc. Most of the time partial scores are also given. So if you are able to pass only some test cases and not able to solve completely, submit it anyway.

Along with coding problems, it may contain some MCQs as well. MCQs can be aptitude questions/CS fundamental questions (from DS/Algo/OS/DBMS/Networks etc.)/Language specific questions (eg. Program outputs/Errors).

Do: The interviewer in the upcoming rounds might discuss the problems asked in the online round. They have your results with them and probably your code too. So try to remember the problems and solve the problems you couldn’t solve during the round. Also, try writing cleaner code.

Don’t: Try not changing windows/tabs and write code in the provided editor. Do not copy code from the internet or cheat from somewhere else.

Technical rounds

This is the point where things start getting tense. You can expect anywhere between 1-4 technical rounds. Each of these rounds could be elimination. Each interview can be of 30-60 minutes. Interviewer will have your resume with him and feedbacks from your previous rounds. Generally the interview will begin by the interviewer introducing himself and then will ask you to introduce yourself. After that you can expect something from the following list:

  1. Discussion about your project(s) mentioned in the resume.
  2. DS/Algo problem(s). Usually like on geeksforgeeks/interviewbit/leetcode.
  3. Objected oriented programming questions like what is a class, object, encapsulation, abstraction, inheritance, polymorphism, abstract classes, etc. Design questions could also be asked like write class for a restaurant.
  4. Programming language specific questions like pointers vs references, operator overloading, how vectors are implemented, smart pointers and their types, static and const, dynamic memory allocation, virtual functions and so on. (these are for C++)
  5. CS fundamental questions from DBMS, OS, Networks, etc. Some example questions are SQL queries and joins, database design, what is HTTP?, what happens after you enter URL in the browser?, processes and threads, deadlocks, memory layout of programs, etc.
  6. Puzzles. Almost all of them can be found on geeksforgeeks puzzles.
  7. Open ended design problems like design search autocomplete/typeahead, design a train reservations system, design URL shortener, etc.

Do: Try to put your strong areas in your introduction. This can drive your interview in that directions. Also, for your projects make a table similar to this. Needless to say, practice solving and explaining coding problems on whiteboard/paper, understand OOP concepts along with code/examples to explain and real life use cases, master your preferred programming language. Understand CS fundamentals and other things mentioned in the above list.

Don’t: Do not surrender. Try to explain whatever you know. If interviewer is giving you time to think, think. Do not get nervous. Most of the times interviewers are very friendly and will help you when you are stuck.

HR/Managerial round

After clearing tech rounds, the final rounds can be with HR and/or with some senior guy from the company. These are generally small and can be of 15-30 minutes. HR questions are standard like strength/weakness, teamwork, why do you want to join us, etc. The round with senior guy could get technical and don’t get surprised if he hits you with some question similar to the tech rounds.

Do: Keep your HR questions script ready. Do some research about the company and it’s products. Ask related questions.

Don’t: Don’t try to improvise. It’s better to prepare the answers to standard questions and questions to ask beforehand.


I hope this was helpful. Please feel free to contact me on LinkedIn if you have any queries/suggestions. Happy Interviewing!