It is no secret that software engineering interviews are rigorous and extensive today. We wouldn't blame you if you were feeling overwhelmed by the extent of it all during your preparations. This is especially true given that many of the companies' exact hiring processes may differ, ultimately making it harder for you to know what to expect.
Nevertheless, there are some general trends you can expect in many of your software engineering interviews. We've discussed some (pair programming, culture fit questions, and more) at the bottom of our article. However, to help fill the gap and ease some anxiety for you, we've outlined below how 12 top tech companies interview and hire software engineers.
Before we get started, be sure to watch our video below on general tips for your upcoming software engineering interview.
Without further adieu, here is how 12 top tech companies interview software engineering candidates:
The Google Interview
Being one of the largest tech companies, Google first has new software engineering candidates complete an online assessment before their phone screening. To get a better idea about what these assessments look like, be sure to check out past Google coding competitions here. The company also asks its candidates to complete some self-reflection before diving deeper into their career search to find the best fit possible at Google. Do you know why you want to work at Google?
If candidates successfully complete their online assessments, they'll be invited for a phone screening. Here, they will speak with at least one hiring manager at the company. Candidates should expect to answer coding questions on a shared Google doc. While answering these coding questions, candidates will not have access to syntax clues or autocorrect, so prepare accordingly.
If all goes well, software engineering candidates will be invited to the on-site interview. Google onsites typically last all day, with 4 -6 rounds of interviews. For software engineers, these rounds will be focused on coding, system design, and behavioral questions. Google has extremely high standards when it comes to hiring new engineers. They are not only seeking candidates who can write fast, error-free code, but those with ingenuity, strong problem-solving skills, and adaptability, along with culture fit.
Ultimately, Google receives so many applicants every year, it can afford to be picky with its candidates. The result of this is a huge emphasis on hiring software engineers that have "Googleyness." This is the Google-specific term for particular culture fit the company uses during its hiring process. You can learn more about Googleyness in our article here.
Interested in applying at Google? Browse job openings here: Google Careers
The Amazon Interview
The software engineering interview process at Amazon is similar to that of other tech companies. However, the company is notorious for the level of rigor that is expected out of its candidates. As a matter of fact, Jeff Bezos is famous for saying: "I'd rather interview 50 people and not hire anyone than hire the wrong person."
Amazon's hiring process is notable because of its use of something called "bar raisers." The mission of these particular hiring managers is solely focused on determining if you would "raise the bar" at the company if you were hired. Unlike other hiring managers, bar raisers can unilaterally veto the hiring of any software engineering candidate they believe to be a cultural misfit.
Beyond this, Amazon's software engineering hiring process is similar to other companies. Candidates will need to complete a phone screening consisting of behavioral interview questions. Amazon's on-site interview will involve several rounds of technical interviews consisting of many coding and system design questions.
Interested in applying at Amazon? Browse job openings here: Amazon Jobs
The Microsoft Interview
Microsoft software engineering interviews are chiefly concerned with assessing candidates based on their problem-solving skills and technical excellence. Hiring managers at the company are seeking SWE candidates that can think strategically and have the adaptability to solve complex technical problems.
Currently, the Microsoft interview process is entirely remote, although this may change in the future. The software engineering interview process may take up to 4 - 8 weeks in total. The process consists of an initial phone screening, a coding test, and an on-site visit with several rounds of interviews.
The on-site technical interview rounds at Microsoft seek to assess a broad range of technical skills in the companies software engineering candidates. The most important are algorithms, data structures, system design, distributed systems, artificial intelligence, data science, and computer networking.
Following the on-site interviews, a hiring committee will evaluate the candidate's interview performance before making a final hiring decision.
While Apple software engineering interviews may have a similar structure to other companies, recent interviewees have noted that their interview process is a bit of a free-for-all depending on the particular team conducting the interview. Apple makes use of team-based interviewing to hire its software engineers, and each team has significant liberty to adapt their hiring methodology as they see fit. This means that it is even harder to predict what you will experience during your SWE interview at Apple.
First and foremost, a recruiter will evaluate candidates' resumes before inviting them to a phone screening. During this phone call, Apple hiring managers mostly ask behavioral questions. Hiring managers also use this screening to match candidates to specific teams at the company who will conduct the on-site interview.
As we mentioned, Apple's team-based interviewing approach to hiring software engineers means there is significantly more variation in the Apple SWE interview than at other companies. However, you can expect several rounds of technical interviews consisting of coding questions, whiteboarding system design, etc.
Ultimately, Apple is chiefly concerned with fostering a work environment best for stimulating innovation. This means that hiring managers and teams at Apple will evaluate potential SWE candidates based on their potential fit with the company values.
Interested in applying at Apple? Browse job openings here: Apple Careers
The Asana Interview
Of all the companies on our list, Asana is notable for how transparent it is regarding its hiring process for all candidates, not just software engineers. They do so because they want their software engineering candidates to come into their interviews feeling fully prepared and confident. As such, Asana has provided an Engineering Interview guide online for aspiring candidates to review.
The company states that software engineering candidates will experience three types of interview questions. These are coding, algorithms & data structures, and modeling & design questions. Ultimately, Asana seeks candidates that can produce simple, robust code that can be shipped quickly and sustainably. The company values candidates with a disposition towards efficiency and thoroughness, along with a bias towards simplicity.
Interested in applying at Asana? Browse job openings here: Asana Careers
The Robinhood Interview
The interview structure at Robinhood is similar to that of many of the companies on our list. However, software engineering candidates will need to complete two phone screenings before being offered an onsite interview.
The initial phone screening consists of a conversation with a recruiter that involves behavioral and culture fit questions. The cultural values that Robinhood evaluates their software engineering candidates against are Safety First, Participation is Power, Radical Customer Focus, and First-Principles Thinking.
After the initial phone screening, candidates will have another phone interview with an engineer that is, as you can imagine, much more technical in nature.
Afterward, if candidates pass the phone screenings, they will be invited to a series of on-site interviews. These consist of 4-5 meetings with different hiring managers. Ultimately, the company desires software engineers that can further Robinhood's mission to democratize financial trading for all.
Coinbase is another tech company that focuses heavily on culture fit when hiring software engineers. The cultural values at Coinbase used to evaluate candidates is:
Act like an owner
The company is notable for using pair programming exercises during the technical rounds of interviewing. Generally speaking, candidates will need to complete at least 3 stages of pair programming. This means that candidates will complete their coding exercises alongside an engineer at the company. Coinbase includes this in its hiring process to evaluate a candidate's ability to write production-grade code. Ultimately, the hiring managers at the company assess the quality, maintainability, and testing abilities of software engineering candidates.
Facebook software engineering interviews begin with initial technical screenings, which largely consist of coding questions. If candidates pass the screening, they are invited to an on-site interview.
First and foremost, Facebook hiring managers ask their candidates to complete one or more coding exercises. The coding questions are short or simple enough to answer and explain within a 30-minute window.
Candidates will also need to answer system design questions. In Facebook's case, they will either be asked to design a system from the ground up or improve upon an existing system.
In addition to system design, Facebook SWE interviews may involve product design questions such as "Tell me how you'd design an email server."
Finally, aspiring Facebook software engineers will need to answer a series of behavioral interview questions, like many other interviews at Facebook and elsewhere.
Ultimately, Facebook interviewers seek to assess SWE candidates' knowledge and experience in big-O complexity, data structures & algorithms, lists, arrays, hash tables, hash maps, stacks, queues, graphs, trees, heaps, recursion, and iterative approaches.
SWE interviews at Lyft begin with general "getting to know you" behavioral interview questions.
Not long after that, the interview transitions to Coderpad, in which the candidate must complete some coding exercises. Lyft interviewers allow applicants to solve their coding problems as they typically would. This means you can look at online resources, consult StackOverflow, etc.
Software engineering interview questions at Lyft usually focus on assessing problem-solving, data structures & algorithms, system design, and pair programming.
Interested in applying at Lyft? Browse job openings here: Lyft Careers
The Dropbox Interview
Interviews at Dropbox are rather straightforward. The company's hiring process explicitly acknowledges that interviewing at tech companies can be an intimidating and daunting process. As such, software engineering candidates at Dropbox only have to complete three steps. These are a resume scan, a phone screen, and on-site interviews.
First and foremost, recruiters at Dropbox scan the resumes of potential software engineering candidates. The company evaluates these resumes to find candidates with clear track records of success, especially in educational settings.
Next, Dropbox hiring managers use a phone screening to assess candidates with desirable resumes. For software engineers, these phone interviews are technical in nature. Candidates will be asked to code in a collaborated online document while discussing common technical problems experienced at Dropbox. These screenings are used to evaluate a candidate's CS fundamentals, problem-solving skills, and quick thinking.
Finally, candidates will be invited for on-site interviews. Dropbox SWE candidates usually must have 4-5 interviews during their on-site. These consist of many deep technical discussions. Dropbox candidates will find that their interviews deliberately resemble typical days at the company. This means that on-site technical interviews will involve whiteboard discussions, architecture diagrams, and collective problem-solving. The company desires software engineers that are generalists/stack engineers with broad experience in CS fundamentals such as databases, operating systems, design patterns, algorithms, data structures, front end, and performance.
Interested in applying at Dropbox? Browse job openings here: Dropbox Jobs
The Figma Interview
Like many companies on our list, Figma first requires their SWE candidates to complete a phone screen with one of their recruiters. These phone screenings are primarily concerned with culture fit. Candidates will undoubtedly be asked, "why would you want to work at Figma?" Recruiters will be evaluating SWE candidates during the phone screening based on Figma's three core values: Have Fun, Be Bold, and Foster Inclusivity.
If candidates pass the recruiter phone screen, they will be invited to a five-round on-site interview. The interview rounds are a non-technical culture interview, a non-technical deep-dive interview, a system design interview, and two rounds of coding interviews.
Interested in applying at Figma? Browse job openings here: Figma Careers
The Paypal Interview
Paypal SWE interviews start with Recruiter Phone screens. This phone call usually is no more than a 30-minute conversation regarding your past projects and experience. Recruiters ask candidates some behavior interview questions. However, sometimes candidates are asked coding/technical questions.
If candidates pass the Paypal phone screen, they are invited to an on-site interview. The on-site technical interview involves three parts. These are pair programming interviews, system design interviews, and project experience interviews.
Paypal seeks to hire software engineers with experience in Scrum software development, excellent communication skills, ability to work with teams, experience with carrying out unit, integration, and functional testing, along with previous experience using cloud platforms like Github or Jira.
Interested in applying at Paypal? Browse job openings here: Paypal Jobs
Industry Trends When Hiring Software Engineers
As you have probably already noticed, many of these companies have similar practices in their hiring processes. So, while you may not be applying to one of these companies, chances are you will experience the following tech industry hiring trends during your software engineering interviews:
Many companies today use something called "pair programming" during their technical rounds. This is a practice from the Agile development methodology in which, as the name suggests, programmers are working in pairs. One engineering is responsible for writing code while the other is reviewing the code as it is written. The engineers will switch positions frequently as they solve a problem or develop a solution together.
Many companies today make use of pair programming in their technical interviews for a few reasons. First, it may better simulate actual working conditions at the company. This is especially true if many development teams use the Agile framework. Secondly, it can demonstrate how software engineering candidates will work with the existing development teams at the company.
Technical Rounds Mimic the Real World
In the past, aspiring software engineers would be asked to complete coding questions outside of an IDE. They would need to write code on paper or a word document without using outside resources. As you can imagine, this is a very challenging thing to do without making significant mistakes. Yet, it also does not reflect how actual software development is done. Software engineers in the real world use IDEs that give them syntax cues, correct mistakes, or point out broken code. Engineers often consult outside resources to help them solve problems, whether that be books, StackOverflow, etc.
As such, hiring managers are changing the technical interview process to better mimic real-world working conditions. They believe (rightfully so) that this better demonstrates how a software engineering candidate will perform in their role. As such, you can expect your hiring managers to allow you to use outside resources during your coding questions. They may ask you to bring your laptop to your on-site or provide one to you. Hiring managers may allow you to use your preferred IDE or programming language, as well.
Interviews Align With Company Values
Finally, companies place more emphasis on finding talent that aligns with their core values more than ever. As we mentioned, many companies, especially ones like Google, Amazon, and Facebook, receive so many applicants that they can afford to be selective with their software engineers. Superior technical skills alone are no longer enough for many tech companies. In the end, hiring managers are looking for those software engineering candidates that can best mesh within the company culture or whose experience best represents the company's values.
What this means for you is that your interviews at many companies will be focused on the company culture, largely relying on many behavioral questions to assess your potential fit.
More Software Engineering Interview Prep
We know that the software engineering interview can be tricky, especially when the process can vary across different companies. Chances are, you will want some additional resources to help you prep! Here at Exponent, we have everything you need to ace your upcoming SWE interview: