← Interviews

Technical interview (Leetcode style)

Pray for mercy

Nearly 60% of the interviews are going to be testing your ability to solve Leetcode style questions.

Thankfully, if you are already studying for your Online Assessment, you are already halfway there. Continue to study and practice the different patterns and techniques. My page here won't cover that as there's so many better resources out there like Neetcode. Instead I want to cover the actual interview process and nuances people often overlook.

Mannerism

Simply by having a good interaction / vibe with a semi-professional tone, you're already setup for a good score.

"Hey! How's it going" — Never a bad start and gets the conversation going. You start to build an invisible rapport and it can only reflect positively on the score sheet.

"Sorry, this part is a bit tricky...give me a moment to gather my thoughts" — Even a simple apology and acknowledgement of the difficulty shows your thought process and ability to work under pressure.

"Gotcha, in that case, I would do XYZ" — After interviewer gives you a hint, acknowledge it, and process it and keep moving. Even better if you are able to come up with an extended solution with the hint.

These are all examples of conveying your personality, thought process, and what it would be like to work with you. A lot of students will simply forget these as during the interview, they are focused on the technical aspect and the overall interaction. My personal take is this sometimes matter even more — obviously assuming you are able to at least write a for-loop. It's better to score an imaginary 70% on communication and a 40% on technical than the other way around. Obviously edge cases exist but keeping this mental also relieves anxiety on not being able to 100% solve the problem.

Slow down buddie

Yes, there's a clock ticking but that doesn't mean you need to rush every single aspect. Some of the most common mistakes I see:

  1. Immediately explaining the answer without thinking about edge cases.
  2. Speaking too fast because they're nervous.
  3. Not trying to comprehend the interviewer's hints and try to force it through.
  4. Absolute silence and not trying to convey what is confusing you.
  5. Not checking in on the interviewers themselves — if they understand what you're doing and if you need to clarify anything.

Take a deep breath (silently of course) and think in "blocks". Think about what you want to do and say in chunks.

  1. Phase 1 — coming up with an initial solution — just take a moment! Think about what you have in mind AND concerns. Then sort out your thoughts and start yapping.
  2. Phase 2 — You're stuck! — inhale some oxygen...think what's blocking you, breathe some more, and then cry to the interviewer.
  3. Phase 3 — Shit is too easy! — Congratz! Take a deep breath, put on the thinking emoji, and explain in chunks and not vomit every little detail out. You have time if you are able to solve it.

Try hard nerds

Obviously we want to showcase we are technical geniuses during the interview. But trying to optimize every little detail is a good way to get yourself rejected.

"Why?" — Interviewer might not even care about the answer, or even have an answer sheet for that specific optimization.

Over-optimizing is also a great way to lead to confusion and mistakes. Worst case is if the interviewer is lost with you.

Always start with communicating your thoughts and ideas. "My solution is XYZ, there's probably some nit-picky functions I can use to decrease time complexity here but perhaps we can come back to that?"

The only time I would expect an ultra-optimized solution with crazy latency is probably in Quant interviews. Even then I doubt that's very common.

Conclusion

Overall, this type of interview is much easier to prepare for. It's either you know how to solve for it or you don't. Worst case scenario, you don't get a full solution, but you are able to communicate well and pray to RNG Jesus.

My main advice is to have a mental framework for the interview. That is what my mock interview sessions will cover. For beginners, think about the "checklist" of things you need to do and constantly practice with that in mind. It will lower the amount of mental effort required and allows you to tunnel vision on what's important.