Congratulations, you are ready to put your skills into practice! In a real coding interview, you will be given a technical question (or questions) by the interviewer, write code in a real-time collaborative editor (phone screen/virtual on-site) or on a whiteboard (on-site) to solve the problem within 30–45 minutes. This is where the real fun begins!
Congratulations, you are ready to put your skills into practice! In a real coding interview, you will be given a technical question (or questions) by the interviewer, write code in a real-time collaborative editor (phone screen/virtual onsite) or on a whiteboard (onsite) to solve the problem within 30–45 minutes. This is where the real fun begins!
Your interviewer will be looking out for signals that suggest you fit the requirements of the role and it is up to you to display those signals to them. Initially it may feel weird to be talking while you are coding as most programmers do not have the habit of explaining out loud as they are typing code. However, it is hard for the interviewer to know what you are thinking just by looking at the code that you type. If you communicate your approach to the interviewer before you start coding, you can validate your approach with them and the both of you can agree upon an acceptable approach.
@ -48,6 +48,12 @@ For onsite interviews at smaller (non-public) companies, most will allow (and pr
If the company provides lunch, you might also have a lunch session with an employee where you can find out more about the company culture.
:::INFO
With COVID around, many companies are doing remote interviews even for the onsite rounds, so the instructions will differ.
:::
## Formats of famous companies
### Airbnb
@ -55,12 +61,12 @@ If the company provides lunch, you might also have a lunch session with an emplo
- Recruiter phone screen
- Technical phone interview:
- 1 or 2 x Algorithm/front end on CoderPad/CodePen
- On-site (General):
- Onsite (General):
- 2 x Algorithm coding on CoderPad
- 1 x System design/architecture
- 1 x Past experience/project
- 2 x Cross functional
- On-site (Front End):
- Onsite (Front End):
- 2 x Front end coding on CodePen. Use any framework/library
- 1 x General coding on your own laptop
- 1 x Past experience/project
@ -75,7 +81,7 @@ If the company provides lunch, you might also have a lunch session with an emplo
- Recruiter phone screen
- Technical phone interview
- On-site (Product Engineer):
- Onsite (Product Engineer):
- 3 x Algorithm and system design on whiteboard within the same session
- 1 x Algorithm on laptop and system design. This session involves writing code on your own laptop to solve 3 well-defined algorithm problems in around 45 minutes after which an engineer will come in and review the code with you. You are not supposed to run the code while working on the problem
- Tips:
@ -90,7 +96,7 @@ If the company provides lunch, you might also have a lunch session with an emplo
- Recruiter phone screen
- Technical phone interviews:
- 2 x Algorithm/front end on CoderPad/CodePen
- On-site (Front End):
- Onsite (Front End):
- 2 x Front end on CodePen. Only Vanilla JS or jQuery allowed
- 1 x General coding on CoderPad
- 1 x All around. Meet with an Engineering Manager and discussing past experiences and working style
@ -104,28 +110,31 @@ If the company provides lunch, you might also have a lunch session with an emplo
- Recruiter phone screen
- Technical phone interviews:
- 1 or 2 x Algorithm/front end on Skype/CoderPad
- On-site (Front End):
- 2 x Technical coding interview on whiteboard (Ninja)
- 1 x Behavioural (Jedi). Meet with an Engineering Manager and discussing past experiences and working style
- 1 x Design/architecture on whiteboard (Pirate)
- Onsite:
- 2 x Technical coding interview on whiteboard
- 1 x Behavioral. Meet with an Engineering Manager and discussing past experiences and working style
- 1 x Design/architecture on whiteboard
- Onsite (University Grad):
- 2 x Technical coding interview on whiteboard
- 1 x Behavioral. Meet with an Engineering Manager and discussing past experiences and working style
- Tips:
- You are only allowed to use the whiteboard (or wall). No laptops involved
- For the Jedi round, you may be asked a technical question at the end of it. Front end candidates will be given a small HTML/CSS problem nearing the end of the session
- For the Ninja rounds, you may be asked one to two questions depending on how fast you progress through the question
- For the behavioral round, you may be asked a technical question at the end of it. Front end candidates will be given a small HTML/CSS problem nearing the end of the session
- For the coding rounds, you may be asked one or more questions depending on how fast you progress through the question
### Google
- Recruiter phone screen
- Technical phone interview:
- 1 or 2 x algorithm on Google Doc
- On-site:
- Onsite:
- 1 or 2 x Front end on whiteboard. May be required to use Vanilla JS (or at the most, jQuery) depending on the question. (Front End only)
- 2 to 4 x Algorithm on whiteboard
- 1 x General Cognitive Ability, Leadership and "Googleyness".
- Team matching
- Speak with managers from different teams who are interested in your profile
- Tips:
- In rare cases, candidates may even be allowed to skip the phone interview round and advanced to on-site directly
- In rare cases, candidates may even be allowed to skip the phone interview round and advanced to onsite directly
- For non-fresh grads, you only receive an offer if you are successfully matched with a team
### Lyft
@ -133,7 +142,7 @@ If the company provides lunch, you might also have a lunch session with an emplo
- Recruiter phone screen
- Technical phone interview:
- 1 x Algorithm/Front end over JSFiddle
- On-site (Front End):
- Onsite (Front End):
- 4 x Front end on Coderpad/your own laptop. Use any language/framework
- 1 x Behavioral. Meet with an Engineering Manager and go through candidate's resume
- Tips:
@ -145,10 +154,10 @@ If the company provides lunch, you might also have a lunch session with an emplo
- Recruiter phone screen
- Technical phone interview:
- 1 x Algorithm over HackerRank CodePair and Skype
- On-site (General):
- Onsite (General):
- 2 x Algorithm on whiteboard
- 1 x Decomposition (system design) on whiteboard
- On-site (Front End):
- Onsite (Front End):
- 1 x Front end on your own laptop. This session lasts about 1.5 hours. Use any library/framework
- 1 x Decomposition (system design) on whiteboard
- Tips:
@ -160,7 +169,7 @@ If the company provides lunch, you might also have a lunch session with an emplo
@ -11,7 +11,7 @@ There are some languages which are more suitable than others for coding intervie
Personally, Python is my de facto choice for algorithm coding interviews because it is succinct and has a huge library of functions and data structures available. One of my top reasons for recommending Python is that it uses consistent APIs that operate on different data structures, such as `len()`, `for ... in ...` and slicing notation on sequences (strings/lists/tuples). Getting the last element in a sequence is `arr[-1]` and reversing it is simply `arr[::-1]`. You can achieve a lot with minimal syntax in Python.
Java is a decent choice too but having to constantly declare types in your code means extra keystrokes which results in slower coding/typing speed. This issue will be more apparent when you have to write on a whiteboard during on-site interviews. The reasons for choosing/not choosing C++ are similar to Java. Ultimately, Python, Java and C++ are decent choices of languages.
Java is a decent choice too but having to constantly declare types in your code means extra keystrokes which results in slower coding/typing speed. This issue will be more apparent when you have to write on a whiteboard during onsite interviews. The reasons for choosing/not choosing C++ are similar to Java. Ultimately, Python, Java and C++ are decent choices of languages.