I've just taken a student on a successful program. Meta OA four questions all AC! This time the amount of questions is four questions, the overall difficulty is medium to high, mainly examining the logic, arrays and various simulation processing, there is no complex algorithm, but the details are very much part of the Meta itself pays great attention to the rigor of the code and the clarity of the idea, it seems that a simple string question or a loop question, the boundaries and the judgment of certain states will be wrong. Participants completed the program in Python, which is syntactically simple and error-tolerant. The overall experience was - it's not difficult, but you have to be "fine" and write cleanly if you want to get a high score. For reference, I've organized the full question and some of my thoughts below.
Meta OA Interview Overview
OA is usually 4 programming questions with an automated grading system, simulation, string, math, greedy These types of questions will be more common.
The language is not limited (Python/C++/Java are fine), and Python has a clear advantage in all of the above operations.
After completing the OA you will move on to one or more rounds of VO (video interviews), where the question types may continue from the OA and explaining ideas will be the focus.
At present, domestic and foreign small to large manufacturers (Meta, Amazon, TikTok, etc.) are synchronizing their OA, so it's worthwhile to do it while the iron is hot.
Review of real questions (as I remember them)
Question 1: Count Key Changes
Description.
Given a list of characters representing keys pressed on a keyboard, count the total number of key changes.
If consecutive keys are the same, they don't count as a change.
A change happens only when the current key is different from the previous one.
Example.
Input: ['a', 'a', 'b', 'b', 'a']
Output: 3
Idea.
Just iterate through the list, compare each character with the previous one, and increment the counter when different.
This is a pure simulation problem, O(n) time.
Question 2: Dominant Single Digit in IP Address
Description.
Given an IP address string like "192.168.1.1", split it by "." into four integers.
For each integer, repeatedly sum its digits until it becomes a single digit.
Then, among these four final digits, find which digit appears most frequently and return it.
Example.
Input: "192.168.1.1"
Processing: [1+9+2=12 → 1+2=3], [1+6+8=15 → 1+5=6], [1], [1]
Final digits: [3,6,1,1]
Output: 1
Idea.
Digit root trick - repeatedly take digit sum or use formula n % 9 (except 0 → 9).
Then use Counter to get the most frequent one.
Question 3: Battery Usage Simulation
Description.
You need to use a phone for T minutes.
There are several batteries; battery I can last Capacity[i] minutes.
then needs Recharge[i] minutes to recharge (during which it's unavailable).
You always use the next available battery in order; skip any currently charging.
If all batteries are charging at some point, return -1.
Otherwise, return the number of fully used batteries (each full discharge counts once).
Example.
Input: t = 10, capacity = [5,3], recharge = [4,5]
Output: 3
Explanation.
Use battery0(5min), battery1(3min), battery0(2min) -> total 10min, full discharges=3
Idea.
Simulate cycling with an array tracking the next available time for each battery.
Every time a battery is used up, update its next_available_time = current_time + recharge[i].
The time advances until it reaches t minutes or all batteries are charging.
Question 4: Minimum Increments to Make Array ±1 Sequence
Description.
Given an integer array, you can only increase elements (not decrease).
You need to make the array either.
- strictly increasing with difference 1 between neighbors, or
- strictly decreasing with difference 1 between neighbors.
Return the minimum total increment operations needed.
Each increment (+1) counts as one operation.
Example.
Input: [3, 2, 4]
Option1 → Increasing: [3,4,5], cost= (0+2+1)=3
Option2 → Decreasing: [5,4,3], cost=(2+2+0)=4
Output: 3
Idea.
Two scenarios are modeled with the goals of "increasing" and "decreasing".
For each element the target value is calculated and the cumulative minimum of the difference is taken.
Summarize
This Meta OA was not too difficult, but the questions were very "fine" and it was easy to get stuck on off-by-one or charging logic.
The focus is on writing consistently and covering edge cases.
If you have to rush Meta VO / Amazon LP / TikTok Tech Interview after that, these are all common question types.
FAQ | Meta OA Frequently Asked Questions Summary
Q1: How many questions are there in Meta OA? How difficult is it?
A: Usually 4 questionsThe questions are mostly string processing, simulation, and array logic, which are basic but easy to lose points on details. The overall difficulty is medium, more like Medium than LeetCode Hard.
Q2: Can I use Python? Is there any difference in scoring?
A: Yes, Meta's automated system supports Python / Java / C++ languages, and there is no difference in scores between languages.
But Python is more time efficient on strings, lists, and hash counts for quick AC.
Q3: Is there a time limit for each question? What is the submission format?
A: Usually the whole OA is limited to 70-90 minutes, and four questions are submitted at once.
Submit only the return value of the output, do not need to print process. Test case coverage is very complete, pay special attention to edge cases.
Q4:Does it mean that all ACs of OA will be able to enter VO?
A: Most likely, Meta will screen for the next round of VOs (Virtual Onsite) based on OA scores, but will also look at resume fit and job requirements.
In general, if you have a full AC + a good resume match, you will receive a VO invitation very quickly.
Q5:Will the VO interview include questions from OA?
A: There will be extensions. VO will test deeper reasoning based on OA question types (string processing / analog logic), such as "what if it scales to a larger scale", "can we optimize the complexity", etc.
Sometimes behavioral questions (e.g. team conflict / ownership) are mixed in.
If you want to get OA+VO, we can help you all the way.
Programhelp 've helped hundreds of students get offers at Meta, Amazon, Google, Shopee, and more.
We offer:
- Real-time remote online assists (voice alerts + fast debugging)
- Individualized simulation questions reinforcement (restore the real OA environment)
- VO One-on-One Accompaniment and Idea Explanation
At present, domestic and foreign large factories are still in the fall recruitment, there are OA/VO can be directly to our PM to get the assistant position.
Python / C++ / Java are all supported, but we'll take you there directly.