Preparing for interviews

Amazon LuckyDay!
Nov 14, 2018 16 Comments

A lot of people asked for my preparation notes. Here they are:

Total preparation time: ~ 3 months

Resources used:
1) LC
2) Grokking the system design

Coding:
1. There are two things here. One, how well do you know a data structure and how quickly you can implement it. For example, implementing a Trie, doing a BFS/DFS in a graph, iterative traversal of binary trees, etc. Coding speed and the ability to transform a logic into a clean code is probably the most important part of the interview.

Lots of times, interviewers will offer you hints. If you can take that and translate it to clean code quickly, you are golden.

Two, try to solve/go through as many problems/solutions as possible. Don’t memorize, instead, try to find an easier answer in the forums. Over time, this taught me a lot of different techniques/solutions that helped when i was given an unknown problem.

Design:
I’m a bit shallow here. My current work gave me the opportunity to design a few systems and that taught a lot. Grokking the system design taught me how to approach a design question from an interview perspective and what the interviewers are looking for.

Few things to note: It’s ok not to know how a particular thing works, just be honest about it. For example, i didn’t know how long polling works and was vocal about it. At senior levels, it important to voice out if you don’t know something. Don’t try to throw fancy words like NoSQL, Distributed Hash Table, etc. Interviewers will definitely ask you rationale for choosing something.

Practice in a white board designing the system. Think about it like your next project. Do this for all the questions you come across for design and this would open up a lot new ideas.

Revision:
Spaced revision helped a lot. Over time, the concepts/code became muscle memory

Luck:
Cannot stress this enough. There were interviews where I got a super hard question during phone screen and bombed it. On the other hard, I had an entire loop where I had practiced the question before hand.

Before you interview for the actual companies, interview with at least 3-5 companies whom you are sure you won’t join. The confidence of clearing a phone screen initially was vital.

Hope this helps. Good luck to all of you trying to do better!

comments

Want to comment? LOG IN or SIGN UP
TOP 16 Comments
  • Cisco bitset
    Thanks, which offer do you have and TC
    Nov 14, 2018 3
  • Microsoft UMbR31
    Thank you OP, you the real MVP!
    Nov 14, 2018 0
  • Workday / Eng Jimmyjim
    How many LC problems did you do before you felt comfortable
    Nov 14, 2018 3
    • Google / Eng Neopets😍
      Probably at least 200
      Nov 14, 2018
    • Workday / Eng Jimmyjim
      Got it. Do you by any chance remember the breakdown of mediums/hards you did
      Nov 14, 2018
    • Google / Eng Neopets😍
      I mean I haven’t done it in years. Couldn’t say
      Nov 14, 2018
  • C Spire Wireless sWWv28
    Can someone link the Grokking the System Design resource the OP mentions? Googling returns various results and am wondering if there is one that stands out above the rest.
    Nov 14, 2018 1
  • Microsoft tuki
    Thanks for sharing
    Nov 14, 2018 0
  • Salesforce Bigly123
    Thank you!
    Nov 14, 2018 0
  • LinkedIn Popovers
    Also, can u tell me how were the interviews?
    Nov 14, 2018 0
  • LinkedIn Popovers
    Do you think your prior experience helped you to get senior roles?
    Nov 14, 2018 0
  • Oracle / Eng Tati
    How many problems have you done in LC?
    Nov 14, 2018 0