Meta, formerly known as Facebook, was founded in 2004 and is one of the largest technology corporations today. Meta owns Facebook and Instagram, which are some of the most popular social media apps that we have known. With the company's large scale, it is not a surprise that interviews at Meta are really challenging and competitive. One of the most common interviews that we have come across is that of a product manager. Working in the role of our product manager or a software engineer working in a product team at Meta is incredibly rewarding with its large scale and mission to connect hundreds of thousands of users around the world. Let's learn about the Meta interview process in more details. Subscribe below to get access to the questions that you can expect in your Meta interview. The interview process at Meta consists of a recruiter screening, a couple of phone screenings with Meta project managers, and an on site interview. The Meta interview process will begin with a recruiter screening. Subscribe below to practice the Meta coding questions.
Read more: Is it hard to get hired at Meta? »
Subscribe for $12 per year. Get live stories and updates.
- Premium Articles & Downloads
- In-depth comprehensive analysis
- Monthly price of only a movie ticket
- 3000+ Practice Questions included
- Advanced Aptitude & Coding Questions
- Real-time feedback in every question
- Continuously updated database
- Wide coverage of industry news
- Career & IT Consultation, Contact Me
Thanks for reading
Create your account or
log in to continue reading.
- Join thousands of subscribers
- Get instant access to this article
- Silicon Valley latest events coverage
- Unlimited access to Premium Articles
- Wide coverage of industry news
- Mock Tests for Strategic Preparation
- 3000+ problems on variety of topics
- Real-time feedback in every question
Support independent journalism.
Already a member? Login.
Meta Phone Screening
Soon after applying for the Meta job position, our Meta technical recruiter will reach out to you over phone to ask about your qualifications and overall experience along with your motivations for working for the company. These phone screens typically last around 30 to 45 minutes. You should expect to answer the questions about why you are interested in joining Meta and why you want to be a Meta Product Manager or Software Engineer. While Meta software engineers and product managers are not expected to be as technical as say Google project managers, it is still important that you display your technical skills as much as possible to the recruiter who has contacted you. Also, if you have any Meta teams or particular products that you have a special interest in, it is best to share those details during this phone screen interview round. After you have spoken with the Meta phone recruiter, as a product manager candidate for Meta, we will take you through a couple of more phone screens. There is no fixed rule how many phone screens that will be conducted. But you will be talking with a couple of more product managers who are currently working at the company. Like the technical recruiter phone screen earlier, these two phone screens will take similarly about 30 to 45 minutes.
Meta Product Sense Screening
This screening will consist of questions around the product sense and execution related questions. The questions on the product sense and execution related topics will also come into your onsite interview rounds. So be ready to communicate very clearly. The product managers you speak during this stage of the interview will provide feedback, and this feedback will be shared in the final hiring decisions of the on site interviews. If everything goes well, you will be able to successfully make it to the on site interview rounds. The Meta project manager on site interview consists of about three rounds and each round is focused on a different type of interview question. The types of the questions are mostly around product sense execution, leadership and product sense in general. The product sense interview will evaluate your product knowledge, instincts, and overall creativity and awareness around a product. The hiring manager at Meta will ask you questions on what you think is defined as a great product. You can also be asked questions like what product decisions you would make if you were a project manager in some particular company. You can expect to potentially answer some questions about some of Meta's products such as Facebook Messenger, WhatsApp, or Instagram.
Meta Execution Sense Screening
In the next round of the onsite interviews, you can expect execution related interview questions. These are some of the questions which are often focused on analytical metric and KPI focused topics. With the vast scale of user base that Meta has today around the world, data driven decisions is one of the key activities that Meta heavily relies on. You can expect all the product managers on their teams to be capable of using a large amount of data and making insightful decisions about the products they manage. The execution questions during your interview will be focused on evaluating these decision-making capability scenarios. You can expect to answer various questions about identifying and prioritizing opportunities and how you can execute them to further improve Meta's products. The execution related questions in Meta interviews also typically focus on how to analyze different constraints and business problems to bring the best possible metrics to measure success. Next comes the leadership and drive questions. Your onsite project manager interviews will heavily focus around leadership and drive. The Meta hiring managers in this round will try to understand how you motivate a team and how you build relationships and work along with others. These are very similar to behavioral interview questions that we have come across in many other organizations.
Meta Core Values Questions
The product sales and execution round questions needed you to speak on hypothetical scenarios and problems. But the leadership and drive questions will focus on your previous experiences more, especially how you aligned with Meta's six core values. You can expect to answer four or five of these kinds of interview questions. Hiring decisions are made after all the interview rounds are complete. All the interviewers will together discuss before finalizing and coming to a decision. You must keep in mind that each of Meta's interview rounds has its own set of criteria for qualification. The individual hiring managers will be using these criteria to make their hiring recommendations. So be prepared and give everything you got in every round of the Meta interviews, including the initial phone screens. This is an overview of the three types of interview questions you will be asked in your Meta interview. One of the most common scenarios and types of questions that are asked in a product for a job in a product team is a hypothetical scenario where you have to walk us through how to build a product and how to optimize its design. When it comes to Meta, messaging app that is real time and can support millions of users is a common topic. The interviewer can ask you how do you design a real time messaging app that can support hundreds of millions of users like Facebook Messenger, WhatsApp, Discord or Slack. Knowing a high level architecture of these systems as well as some specific features, how to build them in real time with group messaging, and image and upload video upload features with push notifications will be really useful for your Meta interview.
Meta Chat App Designing
You should be able to talk to the hiring manager about some of the best practices as well as how to build and scale a reliable chat messaging system. Some of the important goals that you want to support in this type of ideal real-time messaging app that users can use to message each other is the ability to support multiple users. You would also like to show an online status that will indicate whether a user is online or offline, as well as supporting other features like image and video uploads in addition to text messages. You might also want to add some extra features like read receipts and push notifications. You also have to keep in mind the constraints that you will be facing down the line while building these features. Your goal will be to create a low latency system to support real time messaging, and how you can make that happen using the different applications or technologies. The main goal is to create a real time messaging system. Millions of users might be using this application to write messages at the same time. The system should also be really reliable and available all the time. Along with it, the messaging system should be highly secure, because security is always an important topic at Meta.
Meta Chat Server and HTTP Tips
We can assume there are a couple of users, and they want to send a message between them. The first thing that is needed is a chat server. We also need the feature to store and retrieve message histories later on. So a chat server is needed to establish and broker the connection and to store these messages so that they can be retrieved from different devices in the future. This will need a chat API server, when a user sends a message to another user, the server delivers that message instantly to the user to whom it is intended for. However, that contradicts the model how HTTP requests work, because they can't actually be server initiated. These have to be client initiated. The first thing we can do is something called HTTP polling. In this HTTP polling model, instead of sending a request to the server, we can repeatedly ask the server if there is any new information that is available. The server most of the time is going to reply with a negative answer if there is no new information available. If there is new information available, the server will respond for this positively. However, this will require a lot of requests to the server that will not help and not contain significant meaningful data. It will also create high latency. Also, we will be receiving the messages much later when we will request a server for an update and not actually when the message was sent.
Meta Chat App Design Concepts
There is another option called long polling. And in this model, we will also use a traditional HTTP, but instead of resolving it immediately, we will have the server hold on to that request and wait until there is data available. This way, an open connection will be maintained with the server at all times. Once the data is sent back, we can immediately request to open a new connection, and then we can keep that connection open until the data is available. Again, this technique solves the latency problem, because we don't have to create the unnecessary request to the server at all times. However, the open connection is something that we do not want to keep because if there is a lot of data coming from the server, that will mean that we have to initiate a new request to get the next piece of data. Even though this is good for notification, it is not great for real time chat applications like we are trying here. The other option we have is called WebSockets which is one of the recommended approaches. In WebSocket, we are going to maintain an open connection with the server. But instead of being one way it will be a full duplex collection. This way we can send the data to the server and the server can push down the data to us, and this connection can be kept open for the entire duration of the session.
Meta Interview Chat App Ideas
There are some unique challenges in this situation because of some practical limitations as to how many connections we should keep open. The WebSockets are built on TCP protocol which has about 16 bits for the port number. That would mean that there is a limitation of about 65,000 connections that any one server can have open at a time. Thus instead of having one API server, there is a need to have a lot of servers to handle all the WebSocket connections. That would need a load balancer or a gateway that would help balance these connections and route them to the correct server. If we are trying to support hundreds of millions of users, and we can only support thousands of requests per server, that would mean that we would need hundreds of thousands of such servers, which will serve requests and keep these connections open. This would need a massive scalable system. This would make this a distributed system, which would need to be able to communicate from one API server to another. All the API servers will need to know how to talk to each other. The other model we can adopt here is a design pattern called message queue. Each API server will publish messages into a centralized queue and subscribe to updates for the users that it is connected to. This way when a new message will come in, it will be added to the queue. Also, any service that is listening for messages from a user can receive an update and forward the message on to that other user.
Meta Interview Chat Database Topics
Now we have to plan to store and these messages in the database. There are various types of database that we can choose from. Our SQL database has a sort of built-in replication and sharing ability. Something like a Cassandra or HBase would also be great for such an application for real time messaging. We would need the username and the name for the messaging app to display along with a timestamp. This would allow us to have features like the online status and when the user was last seen online. In the database, we would also need a unique ID that we are going to use to store for reference the details of the user. In apps like Slack or Discord there would be a channel name for the conversation, but here we would need the username and the user details. Another thing that we can add here is a caching service, or a caching layer, which would be a read through cache, so that we can store all that data in the memory. This way we do not need to overload the database and fetch messages from it directly every time. We can use storage platforms like an object storage service like Amazon S3. To make our application more efficient, we can also add some caching at other places, and we can use something like a CDN. The CDN would request any message that is not already cached at that object from the object storage service. We can create a notification system where a notification service will forward the notification to the user by some sort of third party API for iOS devices or Android devices. This is the overall big picture and overview of how we would build a real time messaging application. And most important technical decisions and trade-offs that we need to think about when we implement something like this on a large scale.