I got interview call via LinkedIn.
Round 1: 1st round was coding round on some coding platform(I don’t remember the name as it is not well known).
2 questions were there. They were very basic questions which requires little knowledge about how lists within list works. I solved them by brute force method and it worked fine.
After 1 month I got call for F2F rounds.
Round 2: F2F (only DS round 1 hour)
For all DS rounds Interviewer/s will first ask the approach and complexity of the solution and if it is not a optimal solution they will ask to further optimize it. They might also suggest some alternative approaches and ask to compare your approach with their approach. Then they will ask you to write production quality code i.e. covering all corner cases, optimized loops, no code repetition etc (They take these points seriously :))
Round 3: F2F (DS + Design 1.5 hour)
- Find first non repeating character from a stream of characters
Find the first non-repeating character from a stream of characters
- Design tiny URL
Most of the discussion was on HLD. Different approaches and there advantages and disadvantages were asked.
Discussion was mainly around services involved, failures, recovery, and little bit about database (sql vs nosql).
Suggestion: In HLD discussions don’t directly start with tech terms like kafka, zookeeper etc etc(It is good to know about these technologies). Start with block diagram and identify the micro-services of your system and how they are calling each other. If the interviewer asks you about technologies then you can tell.
Round 4: F2F (DS + Design 1 hour)
1. Given a partially filled Sudoku. Write a code to check if that partially filled Sudoku is valid or not.
2. Design all-in-one messenger system.
Round 5: F2F (Bar Raiser 1 hour)
Discussion about current work and projects. Too many behavioral questions it is good if you come prepared with.
1. Design food delivery app (HLD + Class diagram + Sequence Diagram)
Round 6: F2F (DS + Design 45-50 mins)
- Print matrix diagonally
- Design book my show (HLD and Only high level discussion)
Verdict: I got selected.
Suggestion for design rounds:
HLD: come up with high level and basic block diagram first then identify the micro-services of your system.
LLD: Identify the classes of the system. Try to put functions/responsibilities in correct class(interviewers checks that thoroughly). Try to design reusable classes i.e. it could be used by some other similar apps also. Then you should have good idea about the object flow i.e. which would be the main controller class and how the different classes calls each other.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.