A full loop with a company will look something like this:
- Recruiter chat
- Technical phone screen
- Onsite loop
- Offer stage
Every company has a slightly different process. Some places may have you do take-homes instead of or in addition to a phone screen. Some places may have you talk with a hiring manager before coming onsite. Some places may even expedite you and take you straight to an onsite after speaking with a recruiter. The above is the general flow we encountered based on 20+ loops with companies in San Francisco and the Bay Area. In greater detail:
This interview is typically a 15-30 minute call with a recruiter to discuss your interest in the company. Before talking with any recruiters you should already have clarity on your goals for the job search. Your objective for this chat is to communicate those goals, determine if there is a potential mutual fit, and move forward to the technical screen.
This interview is typically a 60m minute video call with an engineer where you share your screen and code live. You will work on either an algo or UI problem depending on your interview loop (back-end or front-end). You should clarify with your recruiter what to expect. Before doing these interviews you should be thoroughly prepared for the Algorithm and/or UI interviews. Your objective for this interview is to demonstrate your technical ability, ask insightful questions to your interviewer after the coding portion, and move forward to the onsite.
The onsite loop typically lasts between 4-7 hours and consists of multiple interviews at the company itself. You will encounter algorithm, UI, system design, and experience interviews. Be ready to meet a lot of people, communicate enthusiasm, and demonstrate your technical ability. Your objective for the onsite is to give strong positive signal and move forward to the offer stage.
You've made it this far, congratulations! There are no more interviews for you to pass. Your objective at this stage is to determine whether this is the right opportunity for you, and if yes, to negotiate the best package that makes you happy and excited to sign.