How to handle software design questions.

I have came cross many design questions in my technical interviews, and to be honest I failed a lot. So I have put efforts to learn how to deal with hifi design questions. Which every small to big companies ask in their design interview round, if you are applying for SDE-II or higher positions.

When interviewer ask you design question, you don't have to think about any architecture or UMLs, or HLD, or LLD, or any object oriented design. Just pick pen and paper and start modeling requirement. Any design will come latter, at the first you have to understand problem statement, as deep as you can.

Before you go ahead and jump into design jargon, convey your understanding on asked problem with interviewer. You may have understood it correct or may not! 


Share all assumptions with interviewer, you have to make sure you both are in same page, before you start thinking solution, otherwise you will conflict with interviewer at latter stage of interview, if you both have different assumptions to asked problem.


Many times you will get very abstract level info (like design google map, or how you will design youtube), and you will be thinking, how I can design such a big system in 60 minutes, with covering all corner cases, which in real would have taken months of effort to complete. Don't worry talk to your interviewer, he is not looking a fully functional design with covering all corner cases, scope down a small area of that application, which you can design and demonstrate within 1 hour interview time. Ask questions and try to understand where he want you to focus and which specific design problem he is trying to question you.

To read more on end to end design, please see "End to end design" section on my web page.



Thanks for reading it. To read more on design patterns and basic design principles please see my web page. You can also join me on FB or on G++. Please drop comments for any question related to this blog.

Comments

Popular posts from this blog

Non-virtual interface idiom (NVI)

Factory method design pattern for beginners.

Architectural patterns => Mud to structure => layers.