Meta (formerly Facebook) remains one of the most competitive employers in the tech industry, attracting thousands of candidates from around the world each hiring season. The first technical hurdle in the process is the Meta OA - a time-limited coding challenge used to screen candidates before formal interviews. Here's a full breakdown of what you'll encounter in OA and how to prepare for it efficiently.

What is Meta OA?
Meta's online written tests, usually administered through HackerRank or Codility, consist of two coding questions for school recruiters, interns, and entry-level software engineer positions.
Hours long: 70-90 minutes
Optional language: Python, Java, C++, JavaScript, etc.
Difficulty: moderately difficult
Environment: Internet access is prohibited, only some test cases are shown, full consideration of boundary conditions is required
OA Question structure
Typically consists of 2-3 coding questions + 1 system design trivia question on HackerRank or Meta's internal tools.
coding question
- Focus on algorithms, data structures and optimization ideas
- Medium → hard, style close to LeetCode
- Supported languages: Python, Java, C++, JavaScript, etc.
System design
- Requirements for designing scalable systems
- Examining the tradeoffs between latency, scalability, and reliability
behavioral questions
Short written response assessing fit with Meta's values.
Common Questions and Examples
Title 1
You are analyzing network traffic logs for potential threats. If the size of a segment of consecutive packets constitutes a common ratio of r
of an isometric series, then it represents a specific threat at a time. Given the array packetSizes
and integers r
, counts the number of all consecutive subarrays that satisfy the condition.
Example:
packetSizes = [2, 6, 18, 54, 108]
(math.) genusr = 3
The answer is7
packetSizes = [5, 5, 5, 5]
(math.) genusr = 1
The answer is10
Title 2
Given an array of stock prices stockPrices
and consisting of 1 (up), 0 (flat), -1 (down) trendPattern
, counts how many subarrays match this trend pattern (pattern length < price length).
Example:
stockPrices = [100,105,103,104,102,101,100]
(math.) genustrendPattern = [1,-1,1]
→1
stockPrices = [5,5,5,5,5,5,5]
(math.) genustrendPattern = [0,0]
→3
Title 3
You are responsible for the scheduling of multiple conference rooms. Given a booking range for each conference room [startTime,endTime]
constituent bookings
and the length of new meetings to be organized duration
(hours), find the earliest available time slot for the day; if it does not exist, return the -1
.
Example: (coll.) fail (a student) duration = 2
At that time, the earliest available time for the first conference room may be 5
(i.e. 5-7).
With hundreds of success stories, you're next!
Programhelp We have helped hundreds of clients get offers from top companies around the world, relying on our in-lieu face-to-face service with hands-on coaching. Get in touch today and let success stories renew your name!