First steps

  • Interview process usually consists of something that is called “Interview loop”. The interview loop is set of usually five (5) people that will take you for 1h interview each.
  • Each person form the interview loop will ask different questions and you need to usually pass *all* interviewers in order to get a job. The more are happy with you the better.
  • Interview loop is “costly”, by cost I mean time. It is 5h of time, for each candidate. Often companies want to make sure you have potential, are good match and can pass the interview loop. There are usually two additional roles involved in this process: HR person (who matches you with position, to make sure your qualifications are a match), and Technical Screening (person who does 1h interview with you, usually over the phone, to check if you at least “meet the baseline”, and have good skills and can pass the full interview loop).
  • Do not underestimate the Technical Screening part – this is a normal interview
  • Interview loop usually consists of a total of 5 person
    • HR – initial screening
    • Technical Screening / First interviewer – usually person from the team that will be your peer; questions are often technical and coding is involved
    • Second interviewer – often person from the team; also technical, coding involved
    • Third interviewer – often person from the team; also technical
    • Hiring Manager/Last interviewer – this person is usually at the end and is the one that will at the end hire you or not; make note however that this person relies in 90% on decision made by previous interviewers. If previous interviewers are unhappy with you, even if you made this person very happy, you won’t pass the interview. As this person is on management position you might expect also technical questions but not so complicated and hard to pass. This person will apart from looking at your skills look also if you will be a good match for the team. From experience, person on this level usually have 1 favorite question they like to ask a lot and know a lot about how good answer looks like, so ask around, possibly someone will remember what this person is asking about. You might not have interview with this last person if your performance with previous interviewers was bad. Reason is simple – you did not do well, and you will be wasting their time.
  • Each interviewer ask own questions and have own favorite questions
  • Usually there is some way of tracking questions so they do not repeat within the interview
  • For most common questions look at the following books
    • Cracking the Coding Interview: 150 Programming Questions and Solutions
    • Elements of Programming Interviews: The Insiders' Guide
    • Coding Interview Questions
  • Usually questions are simple so you can solve them in 40 min – rest time of the interview is spent on discussion, etc
  • Experience suggest that some companies (ex. Google) ask two questions per interview. One simple, one more complicated one. Usually first question is the more complicated one, requiring coding, second one is simple one requiring speaking about “how you would design something” and require possibly some whiteboarding, but rarely coding (almost never).