LinkedIn Software Engineer Interview Guide

Interview Guide 13 Aug 2021

The role of a LinkedIn Software Engineer

A software engineer is tasked with designing, developing, testing, deploying, maintaining, and improving the company’s software. Software engineers work with users to understand user interfaces and incorporate functionalities that help improve the user’s experience with the software. They must have extensive knowledge in various fields such as database management, frameworks, and other technologies. 

Requirements of a LinkedIn Software Engineer - 

  • Should be adept in coding languages such as Java, C++, C#, and Python.
  • Should be experienced in designing and building infrastructure and web services at a large scale.
  • Should have practical experience in relational database systems 
  • Should be able to produce high-quality software and know how to test them. They should also be able to integrate new and improved code into the software. 
  • Should be a team leader and be able to provide technical leadership. They should also have enough project experience to initiate, plan, and execute large-scale critical company programs.

LinkedIn Software Engineer Interview Guide

The LinkedIn Software Engineer interview consists of 3 rounds.

The first round is the Recruiter Phone Screen, which will be a general discussion about your resume and previous experiences. The next round is the technical phone screen, which will test your coding concepts and challenging topics such as advanced data structures, graph theory, and dynamic programming. The third and final round is the onsite round which consists of 2 technical interviews, a system design interview, a cultural interview, and a team collaboration interview.

After you apply, you will have an online coding challenge on HackerRank. You will be given 2 questions that have to be solved within 75 minutes. 

A question that was recently asked was - “Given a string of definite length, write an algorithm to compress it on a given condition.” You can practice one such question on the link given below - 

https://leetcode.com/problems/string-compression/

Relevant Guides

Recruiter Phone Screen

Overview

The first round of the LinkedIn Software Engineer Interview is a 15-minute interview with a recruiter over call, in which they will inquire about your background, experiences and discuss your projects. The recruiter will be in constant touch with you and will share resources before the interviews.

Tips

  • Be prepared to discuss your projects in detail and some behavioral questions related to them, such as, “If you were to do the same project again, what would you do differently?”

Interview Questions

Linkedin SDE interview questions - 

  • Tell me about yourself.
  • What inspired you to apply here?
  • What was your most challenging responsibility in the previous job?
  • Discuss a great challenge that your team was able to turn into a big accomplishment.

Technical Phone Screen

Overview

The second round of the LinkedIn Software Engineer interview is the technical phone screen. It is a video call that is generally conducted on Coderpad. In this round, you’ll be interviewed by two people who will take 5-10 minutes to discuss your experiences and projects, and then move onto the coding part. Coding questions will be based on the following topics - 

  • Basic concepts like arrays, lists, strings, stacks, queues.
  • Advanced data structures.
  • Graph theory.
  • Dynamic Programming.

Interview Questions

LinkedIn coding interview questions - 

  1. Write a code to invert a binary tree.
  2. Find the N closest elements in the Binary Search Tree.
  3. Determine if a graph is bipartite using DFS.
  4. Write a function to calculate (x^n).
  5. Convert a nested list into a normal list with elements in the same order in which they were present when nested.
  6. Find the largest and smallest number in an unsorted list with minimum complexity.
  7. Implement a linked list and create functions to add, subtract, and remove elements.
  8. Where will you use the BFS and DFS algorithms?
  9. Write a function to perform binary search on a given array.
  10. Given a list containing characters and operators, apply the Reverse Polish notation on it. 
  11. Write a program to input a string and line length and return the string in justified form.
  12. Find the union of two given lists.
  13. Write a function to select the top 3 largest numbers from the given list.
  14. Find the shortest path from the given 2D matrix.
  15. Write a code to perform inorder traversal in the given tree. 

Linkedin SDE behavioral interview questions - 

  1. Tell me about a project you worked on, which turned out to be more challenging than you had anticipated.
  2. Tell me about a project where your initial assumptions ended up being incorrect. What did you do in this situation?

Note - You may also be asked questions specific to the role. For example, if you’re applying for an SE role specifically for Machine Learning, then basic Machine Learning questions may also be asked.

Read these articles

Onsite Round

Overview

The onsite round of the LinkedIn Software Engineering Interview consists of 5 rounds of interviews, each being 45-60 minutes long. The first 10 minutes will be an introductory discussion, and the last 5 minutes are reserved for any questions you may have for the interviewer. 

There is a System Design interview, Cultural Interview, Team Collaboration interview, and 2 technical interviews (in no particular order).

1. Technical interviews - 

You are typically asked 2 questions, one will have medium-level difficulty and the other will be a hard-level question. You will get 40 minutes to solve both and will be required to walk the interviewer through the solution. 

LinkedIn Coding Interview Questions:

  1. Write a program to examine whether the parenthesis in a given expression is balanced. 
  2. Given a list of strings, calculate the minimum number of words present between two given strings. 
  3. Print all the leaf nodes of the given binary tree. 
  4. Given a sorted array, find the first and last index of a given integer.
  5. Write a program to count the number of connected components in the given graph.
  6. Find the possible number of permutations given a specific situation.
  7. Given a string, return ‘True’ if it is a valid number.
  8. Given an array of numbers, return the indices for the numbers that add up to X.
  9. Given a nested list of integers, calculate the depth sum.

2. System Design Round - 

This round will assess your system design skills. You should be prepared to prepare a high-level design of a product. Depending on your experience as well as the role you apply for (Junior/Senior), the level and importance of this round will vary. 

For a junior position, you will not be expected to be adept at System Design, however, you must know about Product Designing. As for the senior position, you will be required to have extensive knowledge of both.

Sample System Design Questions - 

  1. Organize an alert system for notifications. 
  2. Design a search system.

3. Cultural Interview - 

This is a behavioral and leadership-oriented round with the Hiring Manager. In this interview, you will be given various scenarios and you have to explain how you respond to the given situation. Through these questions, the interviewers can assess if you’re a cultural fit for the company.

Sample Behavioural Questions - 

  1. Are there any projects that you regret working on? Why?
  2. What is your favorite Google product? What would you do to improve it?
  3. How did you resolve a conflict at the workplace?
  4. Talk about a project you completed successfully.

4. Team Collaboration interview - 

Team Collaboration interviews test how well you will fit in the company, and whether you have good communication skills to work in a team.

Salary

The salary of a LinkedIn Software Engineer has a really wide range. Entry-level LinkedIn SWEs get a total compensation of around 214,000 USD, with a base salary of 145,000 USD. A senior software engineer earns around 302,000 USD, and a Staff Software Engineer earns 448,000 USD. A Senior Staff Software Engineer gets a total compensation of about 668,000 USD, which consists of 254,000 USD as base salary, 322,000 USD in stocks, and 92,000 USD as a bonus.