How I prepare for tech interviews in 2024

After having gone through the hiring process for big tech twice, I feel, now I have a good handle on how to prepare for these types of interviews.

Not claiming to be an expert, but wanted to write down what has worked for me in the past and where I need to improve my own skill set.

Behavioral interviews: I struggled with these – mostly because like most engineers I focused on the technical prep and tried to ‘wing’ the behavioral interviews. This obviously does not work. Behavioral interviews in addition to finding cultural fit are also used to validate your communication and organizational skills. And so, you must be able to answer specific questions with clarity – your answer should not be too long, at the same time should not skip over important specifics of the story. So as you prepare for this type of interviews do use the STAR (situation, task, action result) method to construct your responses (I almost always add learnings to the story as well – so it becomes STARL for me). My prep strategy? (1) Write down responses for popular questions. (2) Record yourself (private YouTube videos) answering these questions – review your videos after a week or so after recording and then fine tune your answers. I will post a separate article with questions that I practice with.

LeetCode style coding interviews: Practice! a lot of it. This is the only way I think anyone can improve in these interviews. I stick to questions from the NeetCode 150 list when practicing since I feel that list covers all possible topics you can get in an interview. Before the interview I do try to look up the top questions asked by the company on LeetCode (you need premium for this). One tip – which I try to remind myself during interviews as well – it is not always bad if you get stuck and ask for a hint – this is perfectly fine. The interviewer is looking for signals during the interview – signals that you can think logically, that you can communicate technical details well, that you document assumptions and edge cases well. Being able to work with hints is also an important skill when working in a team settings – that shows that you are willing to accept feedback and incorporate it. So ask for help if you feel stuck.

System design interviews: I think the most important advice for senior engineers is to be decisive. System design interviews are open ended by design – so when you have different architectural choices in front of you – don’t ask the interviewer which one they prefer – instead chose one that you feel is the best given current constraints and then justify your decision. Present the options but chose one – never let the interviewer make that decision. A concrete example of this – if you trying to decide between using local persitence or not using it for an app – make that choice yourself based on what type of product you are using and how that product might grow or get used in the future. Make a choice and then explain why you made that decision – most likely the interviewer not going to argue with you (even if they disagree with your choice) – but they would appreciate the fact that you had an opinion and that your decision was backed by strong arguments.

Leave a comment