Disclaimer: This article was written few years ago and may no longer be relevant as software engineering has changed a lot in the last few years. This is what may be more relevant now: Future of Software Engineering - Gaurav ChandakIntroduction
PS/DS (Problem Solving, Data Structures and Algorithms) round, also known as the coding round, is the most popular interview round for software engineering jobs. The primary aim of this round is to check the coding and problem-solving abilities of the candidate through data structure and algorithm problems.
The PS/DS round has been facing a lot of criticism for its inability to test how the candidate would perform in the actual job; so a lot of companies have started adopting the machine coding round.
Format
PS/DS round involves solving 1-3 problems related to problem-solving, data structures and algorithms. The round could be done remotely (over a call) or onsite.
In case of remote, the round is usually done over a video conferencing tool (Hangouts / Skype / Zoom) and the coding is done over a shared code editor (Collabedit / HackerRank / Google Docs).
In case of onsite, you’re expected to code on a whiteboard or paper. It is generally ok to let the interviewer know if you prefer one over the other. In a few companies (including Google), you are supposed to code on a laptop.
Expectations
The expectations may vary from company to company and role to role. The following are the general expectations from the PS/DS round.
- Need to solve 1-3 problems depending on the difficulty of the problems asked.
- Make the interview interactive through discussion so that the interviewer can understand your solution approach better.
- Generally, some details in the questions are left ambiguous and so clarifying everything before jumping into the solution is expected.
- Should be able to get to a solution as soon as possible even if it is not the most efficient solution. In most cases, the interviewer may not ask you to code it.
- Then the interviewer may ask you to optimize your solution where you can take some time thinking of a better solution.
- After discussing the solution and going back and forth until the interviewer is satisfied with the correctness and the time/space complexity of the solution, you can start coding if the interviewer asks you to.
- You may or may not be asked to write a clean production-like code. In a lot of cases, the pseudo-code is enough.
It is a pretty crucial round since it is the most popular round across companies.
Please go through ‘How to prepare for PS/DS (coding) round?’ to learn more on how to crack the PS/DS coding round.
After preparing for the PS/DS round, please go through ‘How to ace the PS/DS (coding) round?’ to understand what to do and what not to do during the actual interview.



