Meta Software Engineer Interview Guide

Interview Guide Aug 13

Detailed, specific guidance on the Meta Software Engineer interview process - with a breakdown of different stages and interview questions asked at each stage

The role of a Meta Software Engineer

Software Engineers design, test, and develop software solutions to meet the needs of the customer. They need to have extensive knowledge of databases, frameworks, and other technologies to convert ideas into viable products. They work with businesses, programmers, frontend developers to implement software functionalities. For insights into similar roles, review the guides for Meta Frontend Engineer.

Requirements for a Software Engineer at Meta - 

  • Proficient in coding languages such as Java and C++ and have experience with object-oriented programming.
  • Has a good understanding of computer fundamentals, knowledge of data structures, and dynamic programming. 
  • Familiar with concepts of design and architecture, as well as being able to implement them by collaborating with front-end developers. This is closely related to the system design and architecture knowledge required for a Meta iOS Engineer, where designing scalable and maintainable systems is a key aspect.
  • Able to test and debug software and also maintain it so that it is usable in the longer term and can be improved and fixed whenever necessary. 

Meta Software Engineer Interview Guide

The Meta Software Engineer interview consists of 3 rounds.

  • The first round is the Recruiter Phone Screen in which you will have an informal discussion with the Recruiter.
  • The second round is the Technical Phone Screen, where two software engineers will test your coding skills and understanding of data structures (and similar concepts). 
  • The final round is the Onsite Round.

We've got the Meta Software Engineer interview guide also available to watch as a short video.

Relevant Guides

Meta SWE : Recruiter Phone Screen

Overview

This is the first round of the interview process and will be an informal call with the recruiter. During the call, the interviewer will inquire about your background, why you want the role and why Meta. They will also ask you to share your project experiences.

Interview Questions

  1. Tell me about yourself.
  2. What made you apply for Meta?
  3. What do you think about Meta?
  4. Where do you see yourself in the next 5 years?
  5. Tell me about the most challenging project you worked on, and why you think it was the most challenging. 

Meta SWE : Technical Phone Screen

Overview

This is the second round of interviews in the Meta Software Engineer Interview, which is a 45-minute video call. This typically involves 2 coding questions; nearly always Leetcode style.

Tips

  • When you get the coding problem, explain your approach first and then start coding. Always better to clarify uncertainties upfront before you start navigating the solution.
  • The level of difficulty of the interview questions is typically LC Medium.

Some Meta coding interview questions are -

  1. Given an integer array, return an array such that the value in the array is the product of all values of the original array except the number in that position in the original array. 
  2. In which cases is the Quicksort algorithm used?
  3. Write a code that generates the shortest path from a to b in the given matrix.
  4. Reverse the given linked list.
  5. Write a code that determines if a given graph is bipartite. 
  6. Write functions for traversing, reversing, sorting, and searching in a list.
  7. Given the root of a binary tree, determine the number of root-to-leaf paths such that the sum of the values of the nodes is N.
  8. Search for a given element in the linked list.
  9. Write a code to find all nodes in a binary tree at a distance of N from the leaf nodes.
  10. Write a code to check whether a given string is a palindrome or not. 
  11. Find a specific node in the binary tree.
  12. Convert the given queue into a stack. 
  13. Given the binary tree, sort it. 
  14. Print a binary tree in a zigzag order.
  15. Write a function to add and remove elements in a binary tree. 
  16. Find the middle element in a singly linked list.

Note - You can code in the language of your choice. You can also write a pseudo code but it is recommended that you check in with the interviewer first. Questions based on wildcard pattern matching algorithms have also been asked. 

You may have another technical interview if you’re a borderline candidate. 

Want a real-life mock for the Technical Phone Screen?

Schedule a mock interview
Read these articles

Meta SWE : Onsite Round

Overview

The onsite round usually consists of 4-6 interviews, 2 of which are technical interviews, one is a systems design round and one is a behavioural round with a hiring manager. Technical interviews will be conducted by software engineers and will be live coding challenges. You may also want to look into the processes at similarly levelled companies such as Google Software Engineer and Amazon Software Engineer.

1. Technical Interviews

For the technical interviews, you will be tested on - 

  1. Basic Coding skills - manipulating strings, arrays, recursion.
  2. Data Structures.

Note - Questions related to previous experiences and related technical questions are also asked.

2. Design Round - 

This round will assess your System and Product Design skills. Depending on your experience as well as the role you are applying 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.

Some tips for the Design Round - 

  • Learn by practicing and observing the models of companies like Meta, Google, and Amazon, and understand how they were designed.
  • Think about how you would go about designing a model. Start with some general questions and then move onto more specific details as per the problem.
  • Read about various design failures, understand why they failed and how they could have been prevented. It will help provide a direction as to what can be done and what shouldn’t be done. 

3. Behavioural Round - 

Through this round in the Meta Software Engineer interview, the interviewers will try to determine whether you’re a good fit for the company and role. They also want to see how you interact with your peers and deal with the situations at hand.

Some tips for the Behavioural Round -

  • It is recommended that you answer questions using the STARR Framework - Situation, Task, Action, Result, Reflection.
  • Meta’s 5 core values form an important component of answers to Meta's SDE interview questions, so try to incorporate them into your scenarios. 

Meta Interview Questions for the role of Software Engineer for the Onsite Round:

Sample Systems Design Interview QuestionsSystems Design Interview Questions

  1. Design a social media interface like Twitter.
  2. Design a booking service to book tickets for the cinema, such as BookMyShow. 
  3. Organize an alert system for notifications. 
  4. How would you design Meta?
  5. Design a specific feature of the Facebook App.
  6. Design a search system.

Sample Behavioural Questions - 

  1. What is the most challenging problem you have solved?
  2. What are some projects you’ve worked on that you are proud of?
  3. Are there any projects that you regret working on? Why?
  4. Have you ever had a conflict with a team member? How did you resolve it?

Meta Coding Interview Questions -

  1. In the given string, check if the parentheses are balanced.
  2. Follow up - How can we improve the performance of the code?
  3. Split the string into substrings based on some given rules. Example - The length of each sub-string should be less than a given M.
  4. From a given array, select triplets whose sum will be equal to N.
  5. Remove the duplicates from the given sorted array.
  6. From a matrix of 1’s and 0’s, find the biggest square, where a square consists of 0’s only.
  7. Find the lowest common ancestor in a given binary tree. 
  8. Given a different order of characters of the alphabet, check if the words in a given list are arranged in lexicographic order. 
  9. Which algorithm would you use in a given situation and why?
  10. Design a class to return the median of an array.
  11. Given an array of strings, write a function to return all strings that are anagrams.
  12. For a given array, rotate the numbers clockwise.
  13. Given two binary numbers in the form of strings, calculate their sum.
  14. Search for a word in the given list, with the least possible complexity. 
  15. Implement division without using the division operator.

Note - You can program in the language of your choice. 

Practice with a Meta Software Engineer

Book a mock interview!

Frequently Asked Questions