The coding interviews at LinkedIn are really challenging. The questions are difficult, specific to LinkedIn, and cover a wide range of topics.
Here's the good news, the right preparation can make a big difference and can help you land a job offer at LinkedIn. To help you maximize your chances of success, we've put together the guide below.
Here's an overview of what we'll cover:
- Process and timeline
- Example questions
- Preparation tips
What's the LinkedIn software engineer interview process and timeline? It takes four to eight weeks on average and follows the below steps:
With the high-level process in mind, let's now drill down further into the different steps of the software engineer interview process at LinkedIn, so that you can have a more thorough understanding.
1.1.1 Resume, cover letter, referrals
Step one is getting a LinkedIn interview in the first place. In this guide we're focusing primarily on the interviews, so we'll keep this portion brief. You’ll need a quality resume and cover letter that are tailored to SWE positions, and to LinkedIn more specifically.
Once you have your documents together you can submit your application. And, if possible, it can be helpful to get an employee or contact at LinkedIn to refer you to the recruiting team internally.
1.1.2 Recruiter email or call
In most cases, the interview process starts with an HR recruiter call. Your recruiter will use this conversation to gauge your interest and fit with the company, and to confirm that you've got a chance of getting the job at all.
You should be prepared to explain your background and why you’re a good fit for LinkedIn. For example, you'll want to be ready to answer typical behavioral interview questions like "Tell me about yourself," or "Why LinkedIn?"
1.1.3 First round: phone screen and coding test
If things go well with the recruiter, then you'll move on to the next step of the process. What happens at this stage varies depending on what team and role you're applying for.
You can usually expect a technical phone screen, and in some cases you'll face an online assessment. We'll review each format below.
The phone screen will usually be held over the phone or through Skype. You'll speak to a peer or a potential manager and they'll either ask you just technical questions, or a mix of technical and behavioral questions.
For the technical part of the interview, you can expect typical data structure and algorithm questions which you'll have to solve in an online collaborative text editor. The text editor probably won't have syntax highlighting or autocomplete features, so you'll need to get used to not having those features during your interview preparation.
Similar to the recruiter call, you'll want to make sure you're prepared for behavioral interview questions. Candidates often overlook the importance of these questions, so it's worth making sure you're well prepared for them, to give yourself an edge over the competition. We'll touch on common behavioral questions more later.
Some, but not all, candidates will also be asked to take an online assessment. This will take place either before or after your phone screens. The online assessment contains ~2 coding questions, which you'll have about 75 minutes to answer.
There is not much information available about LinkedIn's online assessment questions, however, there is a helpful Leetcode thread that shares a list of questions that have recently been asked in the online assessment at Microsoft (LinkedIn's parent company).
1.1.4 Second round: onsite (5-6 interviews)
If you crack the first round, the next step is to spend a day at one of LinkedIn's offices and participate in five to six on-site interviews.
You can expect about three of your onsite interviews to focus on coding questions (i.e. data structure and algorithm questions). You can find some examples of this type of question later in this guide.
You'll also typically have one to three system design interviews during your onsite visit. In both your system design and coding interviews, you should be prepared to answer common behavioral questions, as they may spend a little time on these during each interview. In addition, you may have an interview with a manager at LinkedIn, which will focus on behavioral questions.
All candidates are expected to do extremely well in coding and behavioral questions. If you're applying for a relatively junior position, then the bar will be lower on system design questions than for mid-level or senior engineers. In most cases, your onsite visit will also include lunch.
1.1.5 You get an offer!
After your onsite interviews, your job as a candidate is finished. At that point, you'll just need to wait to hear back from LinkedIn, to hopefully receive your job offer.
Now that we've covered this overview of the interview process, we feel that it's also important to consider one other area that LinkedIn will likely be evaluating with your application.
1.2 Don't forget to update your LinkedIn profile!
If you're interviewing at LinkedIn, then you might already suspect this, but the LinkedIn recruiters and interviewers are probably going to look at your LinkedIn profile throughout the process. You therefore need to make sure it's as good as it can be to maximize your chances.
The objective of a LinkedIn profile is similar to that of a resume. You should aim to summarize your experience in a way that shows you've got the skills of a great software engineer. Here are a few tips to help you get started:
- Make sure your experience and summary are up-to-date
- Focus your description on SWE skills
- Use action verbs for all bullet points
- Quantify your impact whenever possible (i.e. use specific numbers)
- List SWE competencies in Skills & Endorsements
- Ask for recommendations
- Add LinkedIn as one of your Interests
- Follow notable SWE leaders
- Comment on relevant SWE articles published by others
We also recommend the following article for general advice on improving your LinkedIn profile.
Now let's turn our attention to the example questions!
The types of questions you'll face during your LinkedIn interviews can be broken down into 3 broad categories:
- Coding questions
- System design questions
- Behavioral questions
In order to land an offer at LinkedIn, you'll need to be well prepared for each of these types of questions. To help you get ready, we've put together a list of interview questions from each category for you to practice with.
As a note, the questions below are a combination of LinkedIn and Microsoft questions. Microsoft is LinkedIn's parent company, so although the questions may not be exactly the same, Microsoft questions should still serve as good examples for practicing. In addition, there is more data available for Microsoft, so by using a combination of the available data, we are able to provide a more robust set of examples.
Hopefully this will help you get a high-level sense of the questions you'll want to be ready for.
The below coding interview questions are from LinkedIn software engineer interview reports from Glassdoor. For each question, we modified the phrasing of the question to match the closest Leetcode problem, and then we linked to a related free solution on Leetcode.
If you'd like to see some additional resources to help you learn to solve coding questions like these, have a look part 3 of this guide (i.e. the preparation section).
Example coding questions asked by LinkedIn
- "Flatten nested list iterator." (Solution)
- "Implement pow(x, n), which calculates x raised to the power n." (Solution)
- "Evaluate the value of an arithmetic expression in Reverse Polish Notation." (Solution)
- "Given two words word1 and word2, find the minimum number of operations required to convert word1 to word2." (Solution)
- "Given a binary tree, find its maximum depth." (Solution)
- "Merge two sorted linked lists and return it as a new sorted list." (Solution)
- "Given a wooden stick of length n units. The stick is labelled from 0 to n...Return the minimum total cost of the cuts." (Solution)
- "You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?" (Solution)
- "Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target." (Solution)
- "Given a binary tree, return the level order traversal of its nodes' values." (Solution)
In addition to coding questions, you'll also face system design questions during your LinkedIn interviews. The coding questions we've covered above usually have a single optimal solution. But the system design questions you'll be asked are typically more open-ended and feel more like a discussion.
This is the part of the interview where you want to show that you can both be creative and structured at the same time. In most cases, your interviewer will adapt the question to your background. For instance, if you've worked on an API product they'll ask you to design an API. However, this is not always the case so you should be ready to design any type of product or system at a high level.
As mentioned previously, if you're a junior developer the expectations will be lower for you than if you're mid-level or senior.
There are not many LinkedIn system design interview questions publicly available, so as a substitute we've compiled some common Microsoft system design questions which can be found on Glassdoor or on relevant forums (like the Leetcode forum). You can still practice using the below questions, as the skills used to solve Microsoft and LinkedIn system design questions are similar.
Example system design questions asked at Microsoft
- How would you design an IDE like Visual Studio
- How would you design Instagram
- How would you design Uber
- How would you design OpenTable
- How would you design Dropbox / iCloud
- How would you design a shopping cart for Amazon.com
- How would you design the photo gallery app on iOS
- How would you design a distributed cache
- How would you design an API for a running app
- How would you design an API for a tic tac toe game
The importance of behavioral interview questions is often underestimated in tech interviews, so take advantage of this opportunity to set yourself apart from other candidates.
Below is a list of common behavioral interview questions, according to Glassdoor's Microsoft interview reports. Note that in some places, we have modified the questions to make them more relevant to LinkedIn. If you can consistently answer the questions below, that will be a great start to your behavioral interview question preparation for LinkedIn.
Example behavioral questions
- Tell me about yourself
- Why LinkedIn?
- Why are you / do you want to be a software engineer?
- Tell me about a recent / favorite project and some of the difficulties you faced
- Tell me about the greatest accomplishment / failure of your career
- Tell me about a time you struggled to work with one of your colleagues
- Tell me about a time you led a team
- Tell me about some of the biggest lessons you've learned in life
- Tell me about your values and the kind of environments you thrive in
Now that you know the types of questions to expect, let's focus on how to prepare. Here are the four most important things you can do to prepare for your LinkedIn software engineer interviews.
3.1 Learn about LinkedIn's culture
Most candidates fail to do this, but before investing tens of hours preparing for an interview at LinkedIn, you should take some time to make sure it's actually the right company for you.
LinkedIn is prestigious and it's therefore tempting to ignore this step completely, but the prestige of the company, in itself, won't make you happy day-to-day. It's the type of work and the people you work with that will.
If you know engineers who work at LinkedIn (or used to), talk to them to understand what the culture is like. In addition, we would also recommend reading the following resources. The first two highlight information that is specific to LinkedIn, and the second two apply to Microsoft more broadly (since LinkedIn is under the Microsoft umbrella).
- LinkedIn's summary of their vision and mission (by LinkedIn)
- LinkedIn highlights from Microsoft's financial report (by LinkedIn)
- Microsoft strategy teardown (by CB Insights)
- Microsoft vision and mission analysis (by Panmore Institute)
3.2 Practice by yourselfAs mentioned above, you'll have to answer three types of questions during your LinkedIn interviews: coding, system design, and behavioral. The first step of your preparation should be to brush up on these different types of questions and to practice answering them by yourself.
3.2.1 Coding interview preparationFor coding interviews, we recommend getting used to the step-by-step approach recommended by Microsoft in the video below.
Here is a summary of the STAR approach recommended by Microsoft:
- Step 1: Situation, make sure you understand the problem correctly
- Write down the problem provided by the interviewer
- Ask clarification questions
- Agree on inputs and outputs
- Step 2: Task, outline how you are going to solve the problem
- Talk through your ideas for solving the problem out loud
- Start with a simple case and work toward a solution, without coding
- Think about different test cases which you'll use for testing later
- Step 3: Action, write clean code to solve the problem
- Start writing clean code with clear variable and function names
- Modularize your code with helper functions
- Check with your interviewer before using a library
- Bugs and forgotten variables are ok as long as you catch them early
- Step 4: Result, test your solution and suggest improvements
- Run through the different test cases you've developed in step 2
- Incorporate any feedback from the interviewer into your approach
- Analyze the time and space complexity of your code and suggest improvements
To practice questions, we recommend using Leetcode where you can get a lot done with the free tier. You can also access LinkedIn-specific questions using their premium tier if you'd like. Don't forget to practice questions on a whiteboard or in a simple text editor instead of in an IDE.
3.2.2 System design interview preparation
For system design interviews, Microsoft and LinkedIn have not posted specific recommendations. But Amazon has, and the approach they outline in the video below is quite helpful.
Here is a summary of what you should do:
- Step 1: Ask clarification questions
- Understand the goal of the system (e.g. sell ebooks)
- Establish the scope of the exercise (e.g. end-to-end experience, or just API?)
- Gather scale and performance requirements (e.g. 500 transactions per second)
- Talk through any assumptions you're making out loud
- Step 2: Design at a high-level, then drill-down
- Lay out the high-level components (e.g. front-end, web servers, database)
- Drill down and design each component (e.g. front-end first)
- Start with the components you're most comfortable with (e.g. front-end if you're a front-end engineer)
- Work with your interviewer to provide the right level of detail
- Step 3: Bring it all together
- Refer back to the requirements to make sure your approach meets them
- Discuss any tradeoffs in the decisions you've made
- Summarize how the system would work end-to-end
We'd also recommend studying our system design interview guide, which digs into this method in more detail. It also provides several example questions with solutions.
3.2.3 Behavioral interview question preparation
For answering behavioral interview questions, we recommend learning our step-by-step method. In addition, you'll want to write down your answers to the common behavioral questions we listed previously in this guide. During your interviews, you'll be able to provide clearer answers that better highlight your accomplishments, if you've prepared some responses in advance.
Finally, a great way to practice coding, system design, and behavioral questions, is to interview yourself out loud. This may sound strange, but it can significantly improve the way you communicate your answers during a real interview. Play the role of both the candidate and the interviewer, asking questions and answering them, just like two people would in an interview.
3.3 Practice with peers
Practicing by yourself will only take you so far. One of the main challenges of coding interviews is communicating what you are doing as you are doing it. As a result, we strongly recommend practicing live coding interviews with a peer interviewing you. Taking this approach is helpful for system design and behavioral questions as well.
A great place to start is to practice with friends if you can. If you don't have anyone in your network who can interview you, then you can also find peers to practice with on platforms such as Pramp.
3.4 Practice with ex-interviewers
Practicing with peers can be a great help, and it's usually free. But at some point, you'll start noticing that the feedback you are getting from peers isn't helping you that much anymore. Once you reach that stage, we recommend practicing with ex-interviewers from top tech companies.
If you know a software engineer who has experience running interviews at LinkedIn or another big tech company, then that's fantastic. But for most of us, it's tough to find the right connections to make this happen. And it might also be difficult to practice multiple hours with that person unless you know them really well.
Here's the good news. We've already made the connections for you. We’ve created a coaching service where you can practice 1-on-1 with ex-interviewers from leading tech companies like LinkedIn. Learn more and start scheduling sessions today.
SWE Interview Coaching
Any questions about LinkedIn software engineer interviews?
If you have any questions about LinkedIn coding interviews, do not hesitate to ask them below and we will be more than happy to answer them. All questions are good questions, so go ahead!