Meta OA A third of an acre | Experience & Guide 2026: How to Prepare It

1,523 Views

Meta(formerly Facebook) has always been one of the most competitive companies for technology jobs in the world. Whether it is Software Engineer, New Grad or Intern positions, Meta OA is almost the first threshold for candidates to enter the subsequent interview process.

Many people have studied a large number of questions, but when they actually participate in Meta OA, they still feel that they are short of time, they are familiar with the questions but cannot finish them, and they even lose points on boundary conditions. This article combines real Meta OA feedback in the past year to make a systematic review of OA forms, types of real questions, and effective preparation methods.

Meta OA Overview

Meta OA is usually a time-limited online programming test used to quickly screen candidates for their algorithmic foundation and engineering thinking.

Common characteristics include:

  • Testing time typically ranges from 70 to 90 minutes
  • The number of questions is usually 2 to 3 questions
  • Supports multiple mainstream programming languages, such as Python, Java, C++, etc.
  • In most cases, the code cannot be run frequently and relies on logical deduction and one-time submission.

The focus of OA is not just to write code that can run, but to examine whether the candidate can choose the right direction to solve the problem within a limited time and write an implementation with clear structure and complete boundaries.

Meta OA real question restoration

The following questions come from a summary of real OA feedback from many Meta SDE / NG / Intern candidates that ProgramHelp has tutored in the past year.

Question 1

You are analyzing network traffic logs to identify potential security threats. A specific type of threat is indicated by a sequence of packet sizes that form a geometric progression with a given common ratio.

Given an array of integers PacketSizes Representing the sizes of packets captured in a network session and an integer R, count the number of contiguous subarrays where the elements form a geometric progression with common ratio R.

Note: You are not expected to provide the most optimal solution, but a solution with time complexity not worse than O(packetSizes.length^2) Will fit within the execution time limit.

Example

1. For PacketSizes = [2, 6, 18, 54, 108] And R=3, the output should be Solution(packetSizes, r) = 7.

Explanation: The valid subarrays are [2], [6], [18], [54], [108], [2, 6], [6, 18], [18, 54], [54, 108], [2, 6, 18], [6, 18, 54], [18, 54, 108], [2, 6, 18, 54], [6, 18, 54, 108], [2, 6, 18, 54, 108].There are 7 Such subarrays.

2.For PacketSizes = [5, 5, 5, 5] And R=1, the output should be Solution(packetSizes, r) = 10.

Explanation: Every subarray is a valid geometric progression with common ratio 1.There are 10 Such subarrays.

Input/Output

  • [execution time limit] 3 seconds (java)
  • [memory limit] 1 GB
  • [input] array.integer packetSizes
    An array of integers representing the sizes of packets captured in a network session.

Question 2

Given an array of integers StockPrices And an array TrendPattern Representing a price movement pattern, find how many subarrays of StockPrices Match the given pattern. TrendPattern Can only contain the following integers.

TrendPattern[i] = 1 Represents that the price corresponding to this element of the pattern is higher than the previous one.

TrendPattern[i] = 0 Represents that the price corresponding to this element of the pattern is equal to the previous one.

TrendPattern[i] = -1 Represents that the price corresponding to this element of the pattern is lower than the previous one.

It is guaranteed that the StockPrices.length > trendPattern.length.

Note: You are not expected to provide the most optimal solution, but a solution with time complexity not worse than O(stockPrices.length × trendPattern.length) Will fit within the execution time limit.

Example

1. For StockPrices = [100, 105, 103, 104, 102, 101, 100] And TrendPattern = [1, -1, 1], the output should be Solution(stockPrices, trendPattern) = 1.

Explanation: Let’s check all possible subarrays of length 3, Subarray [105, 103, 104] Matches the pattern because 105 > 103 (trendPattern[0] = 1), 103 < 104 (trendPattern[1] = -1), and 104 > 103 (trendPattern[2] = 1). There is 1 Such subarray.

2.For StockPrices = [5, 5, 5, 5, 5, 5] And TrendPattern = [0, 0], the output should be Solution(stockPrices, trendPattern) = 3.

Explanation: The valid subarrays are [5, 5, 5], [5, 5, 5], and [5, 5, 5].There are 3 Such subarrays.

Question 3

You are managing a shared workspace with multiple meeting rooms. Given an array Bookings Representing existing bookings for all meeting rooms over the course of a day, and an integer Duration Representing the length of a new meeting in hours, find the earliest possible time when a meeting of the given duration can be scheduled in any available meeting room. Meeting room.

Each element in Bookings Is an array, such as that Bookings[i][j] Represents the JTh booking for the ITh meeting room. Each booking is represented by a pair of integers. [startTime, endTime], where each integer represents the number of hours since the start of the day. StartTime And EndTime Do not exceed 24.

Your task is to find the earliest possible time when a meeting of length Duration Can be scheduled in any meeting room. If there is no time block which suits the requirement, return -1.

Note: The new meeting should also fit within the same day, so the end time for this meeting should not exceed 24.

Note: You are not expected to provide the most optimal solution, but a solution with time complexity not worse than O(bookings.length^2 - max(bookings[i].length)^2) Will fit within the execution time limit.

Example

Bookings = [

  [[1, 3], [6, 9]], [[0, 2], [12, 14]], [[1, 2], [12, 14]]
  [[0, 2], [12, 14]]
]

And Duration=2, the output should be Solution(bookings, duration) = 5.

Explanation:: The earliest available time block of duration 2 Hours is from 5 To 7 In the first meeting room.

How to prepare for Meta OA efficiently

Based on practical experience, here are some of the most helpful suggestions for preparing for Meta OA:

First, when answering questions, you should prepare according to the "question type model" rather than the quantity.
Arrays, hashes, sliding windows, and BFS/DFS are the most frequently occurring categories.

Second, a time-limited simulation must be performed.
It is the norm in OA to complete the implementation without relying on the running results.

Third, pay attention to boundary conditions.
Meta OA's hidden test cases tend to focus on extreme inputs and special situations.

Fourth, practice code expression skills.
Even with OA, clear variable naming and structure will reduce low-level errors.

Meta OA What are the pain points of job hunting? Professional escort direct to interview

Meta OA high frequency dilemma

Meta OA's multiple rounds of assessment are rigorous, the coding test cases are tricky, and time is tight and it is easy to get stuck; the follow-up VO interview requires in-depth questioning, boundary analysis, and idea extension and it is difficult to cope with by just answering questions, and many people are stuck in the preliminary screening process.

Targeted solutions

ProgramHelp Specializing in the entire Meta process: OA ghostwriting with 100% pass-through use cases, no charge if you fail; North American CS experts provide real-time VO assistance to accurately match the interviewer's focus; pay a deposit in advance for a full set of all-inclusive services, and pay the balance after receiving the offer. There are already students who have successfully passed the test, so avoid taking detours to get the Meta Offer.

author avatar
Jack Xu MLE | Microsoft Artificial Intelligence Technician
Ph.D. From Princeton University. He lives overseas and has worked in many major companies such as Google and Apple. The deep learning NLP direction has multiple SCI papers, and the machine learning direction has a Github Thousand Star⭐️ project.
END