Several of the students I've been tutoring recently have run into Meta's latest round of OA and found that Meta 2025 OA content has become completely different from what it used to be. In the past, there were four separate algorithmic questions, but now it has become a set of "system small homework" which is more oriented to engineering implementation. The entire 90-minute session has four levels of progression, and the core test point has changed from algorithmic thinking to code design and problem modeling ability.
Meta 2025 OA Testing Process Overview
- Platform: CodeSignal
- Duration: 90 minutes
- Structure: four levels (Level 1-4)
- Programming language: Python / Java / C++ are available.
- Characteristics: Logic Design + Data Encapsulation + Code Robustness
- Difficulty of algorithms: low, little to no complex data structures
Level 1: Basic Data Structure
The questions usually ask you to implement a simple data structure, such as an in-memory database or key-value store.
Example (simplified).
set(key, field, value)
get(key, field)
delete(key, field)
Fulfillment of requirements:
- Storing and returning field values correctly
- Query returns None after deleting a field
- Multiple insertions of the same field need to overwrite the old value
This level focuses on your encapsulation and class design of the underlying data structures (e.g., dictionaries, hash tables).
Level 2: Filtering and Field Scanning
Adds new interface to Level 1 for filtering fields based on conditions.
Example (simplified).
scan(key) -> list[str]
scan_by_prefix(key, prefix) -> list[str]
The return format is strict, for example:
["age (30)","name (Alice)"]
Fields need to be sorted in dictionary order.
This off centers on:
Whether the string splicing and sorting implementation is correct;
Returns an exact match between the result type and format.
Level 3: Time and TTL
The third level formally introduces timestamping and TTL (Time-To-Live) logic, and is the key to the whole scene.
Example (simplified).
set_at(key, field, value, timestamp)
set_at_with_ttl(key, field, value, timestamp, ttl)
get_at(key, field, timestamp)
delete_at(key, field, timestamp)
scan_at(key, timestamp)
Key points include:
- Support for timeline version control (timestamp strict increment);
set_at_with_ttlAfter writing only the[timestamp, timestamp + ttl)Valid for the time period;delete_atThe latter field is not visible unless it is followed by a new set.
This level is more like a "cache + versioning" scenario in a real system, where the implementation needs to maintain the effective time interval of each field.
Level 4: Edge Cases and Consistency
The last level often adds some additional constraints, such as concurrent write simulation, null TTL, duplicate deletion, and other extreme cases, focusing on code robustness.
The test samples are all small in size, but cover a lot of points, for example:
- ttl=0 (immediate expiration)
- delete Non-existent field (returns False)
- Consistency of writing to multiple fields at the same time
As long as the logic is well designed, performance is not the focus of the examination.
Summary & Insights
Meta's OA is clearly transitioning to an "engineering implementation", and instead of testing algorithms and brushing up on problems, candidates are expected to design well-structured, functionally complete programs that can cope with boundary cases.
It is recommended to practice these types of 'system implementation questions' such as designing caches, databases, file system simulations, etc. while preparing. Understanding interface definitions and data flow logic is more useful than memorizing algorithm templates.
Turns out you don't have to do it alone to get OA.
If you're also preparing for high-pressure OA like Meta, Citadel, and Two Sigma, you might want to know about the Programhelp of the assist team.
Most of the tutors on our side come from top tier companies such as Amazon, Meta, Jane Street, Optiver, etc., and are familiar with the question sets and test point distribution of each platform.
When the students brush the questions or practice OA, we will run with them in real time to help you do the thinking, code logic reminder, time allocation guidance.
It's not a cold explanation, but the kind of companionable assistance that "understands your cardinal points" - someone silently reminding you next to you, "The focus of this question is on boundary treatment" "Don't be greedy here".
Many students say that this feeling of running with them is so much more effective than brushing up alone.
If you, too, want to take your OA more efficiently and consistently, learn about our one-on-one remote assistance program to make the preparation process less of a solitary one.