The Software Engineering Interview Loop
Software engineering interviews vary widely depending on company stage, size, and domain. That said, you’ll likely go through:
- A recruiter screen: A recruiter will spend 15-30 minutes asking you questions about your resume, your past experiences, and why you want to work at your target company.
- A technical screen: Most commonly a live coding questions where you’ll screenshare as you solve a problem using common data structures and algorithms.
- An onsite interview: Typically a full half-day of interviews; anywhere from 3-5 rounds including behavioral questions, project deep-dives, and more coding rounds.
Let’s look at these in more depth.
Recruiter Screen
If you’re an internal transfer or a referral candidate:
The initial screen probably won’t be question-heavy, and you might have it with the hiring manager instead of a recruiter. You may spend up to 30 minutes learning specific role responsibilities and have an opportunity to ask questions.
If you’re an external hire:
No one knows you yet, so the first screen aims to prove you are who your resume says you are, you know your stuff, and you’re likely to fit in culturally. You can expect:
- Behavioral questions to assess your personality and working style.
- Resume questions to understand your experience.
- Light technical questions to gauge your domain knowledge.
Good questions to ask at this stage are:
- What’s the format of the interview like? Will I be asked mostly behavioral questions? Will I be expected to go through a technical exercise?
- Can you please provide the names and any relevant background for my interviewers so that I can prepare?
Some tips on acing the first interview:
- Do research on the company so that you can display why you’re interested and how you can contribute.
- If it’s by phone, have all of your prep materials physically laid out in front of you for easy viewing. If it’s by video, it’s better to keep your prep materials on your computer so that you can make eye contact often with the video camera.
- If you can, look up the interviewer on LinkedIn so you can understand them a bit better; make references during the interview if you have something in common.
Technical Screen
Here’s where the interviews start to diverge from company to company. The next stage is a technical screen, where you’ll prove your basic competency in software engineering.
In some companies where SWE roles are super-competitive, these rounds might be quite hard. They’re meant to filter the best candidates to bring onsite for a long and expensive interview. At startups or companies looking for a unique technical skillset, the technical screen might be tailored to the problems that company is solving - thus filtering candidates who have the right domain knowledge.
In many cases however, you can expect to do a live coding round or a take-home coding problem where you’ll use common data structures and algorithms to code an efficient solution. Think Leetcode easy to medium.
Tip: For more specific information, look for a SWE interview guide for the company you’re interviewing with. We publish new guides all the time, so check back frequently, and if you don’t see one, ask the Slack community. Someone’s bound to have been through the loop already.
On-Site Loop
On-site interviews also vary, but they follow a predictable structure. Typically you’ll interview for 3-5 hours total with a lunch break midway through.
You’ll go through many rounds, each 30 - 60 minutes long. You’ll probably have at least one coding, system design, and behavioral rounds.
We encourage you to gather as much information as possible about the exact structure from your recruiter, as well as check our interview guide collection and ask questions on Slack. Regardless of how your target company structures interviews, we’ve got plenty of practice questions ready.
Some additional tips for the onsite (before and after) are:
- Imagine what kinds of questions they might ask depending on the company. (e.g. Google might give you a search-based technical exercise).
- Prepare plenty of questions on the technology, company vision, and management structure. Use the product yourself and be prepared to share your experience. Your dedication and enthusiasm will win points.
- Email the recruiter after the interview thanking the team for their time.
Tip: If you're preparing for a specific interview, create a study plan. Estimate how much time it will take you to prepare for coding questions, system design, and behavioral rounds, and block off time appropriately. Of course, nothing beats actual practice, so make sure to sign up for as many mock interviews as you feel comfortable with. We run them every evening at 6:00pm PST.
Some Companies Do Things Differently
Tech companies recognize that traditional SWE interviews are stressful, and are taking steps to make the process smoother. Exponent community members and our SWE contributors have reported companies doing things a bit unconventionally. For example:
- Triplebyte, Asana, and Stripe all publish complete engineering interview guides outlining their interview philosophies, the exact interview structure, and example questions.
- Facebook/Meta, Asana, Lyft and more all do pair programming, which means you’re able to use your interviewer as a resource and collaborator. This works out for the company too - they get to see how you’ll work on a team as you solve a problem.
- Lyft uses a “laptop assignment”, where you’re given a problem and then set loose to work as you normally would for 90 minutes. Work in silence, with music, or chat with your interviewer, sit in a quiet room or a common space - whatever works for you.
- Slack doesn’t do coding rounds onsite at all. Instead, you’re given a coding assignment to be returned in a week.
The Hire / No-Hire Decision
Each company weighs skills and competencies differently, but the evaluation process is similar across the board. Hiring decisions occur after the final round — typically the on-site. Either the recruiter or hiring manager will lead a 30-minute meeting with the goal of arriving at a decision. Interviewers take turns sharing their feedback and a recommendation along set spectrum, e.g. Strong No / No / Yes / Strong Yes.
For the most part, these meetings are consensus-driven, but in many companies the hiring manager has slightly more influence. Sometimes the decision is quick. If not, it may come down to which group can convince the other to change their vote. Interviewers may place more emphasis on technical skills or domain-specific knowledge when evaluating an "on-the-fence" candidate, but evaluations typically follow a specific rubric.
Generally, technical skills are weighed less as seniority increases, but this is very company-dependent. Be sure to review the job description thoroughly and reach out to your recruiter with questions about scoring.