Snapchat In fact, in the domestic discussion is not much, but in the U.S. Internet circle status is not low, especially the technology stack behind it and recommender system is quite famous in the industry. The position is SDE New Grad, which follows the standard OA + VO process. I received an OA invitation about a week after I submitted my resume, and the platform was HackerRank, with a 90-minute, three-question, all-English interface.
I'm not particularly systematic in brushing questions, so I decided to get ProgramHelp to assist me this time, and used their "Remote Traceless Online + Real-time Voice Reminder" service. The whole process was quite smooth, and the quality and efficiency of answering questions were much higher, and it also helped me avoid a lot of unnecessary debugging points.

Snapchat OA Real Question Reduction
Message Propagation in a Social Network
Problem Description.
You are given a list of users in a social network, represented as an adjacency list. Each user has a list of friends (bi-directional connections). One user (the "starter") begins spreading a message to all of their friends at minute 0. In each subsequent minute, newly informed users pass the message on to their own friends (excluding the person). One user (the "starter") begins spreading a message to all of their friends at minute 0. In each subsequent minute, newly informed users pass the message on to their own friends (excluding the person they heard it from).
Your task is to determine the minimum number of minutes it takes for all users to receive the message. If some users can never receive the message (i.e., the network is disconnected, return the list of unreachable users. If some users can never receive the message (i.e., the network is disconnected), return the list of unreachable users.
Function Signature.
def messageSpreadTime(graph: Dict[str, List[str]], starter: str) -> Union[int, List[str]].
Example Input.
graph = {
"A": ["B", "C"],
"B": ["A", "D"],
"C": ["A"].
"D": ["B"], "E": ["F"], "D".
"E": ["F"], "F".
"F": ["E"]
}
starter = "A"
Example Output.
3 # A -> B/C (1) -> D (2); E/F unreachable
# OR
["E", "F"]
Follow-up Variation.
How would you design this if the graph is huge (millions of nodes) and distributed?
2. Event Compression
Problem Description.
You are given a list of user activity logs in the format [(timestamp1, userId1), (timestamp2, userId2), ...]
Users may appear multiple times.
Your task is to compress the log so that for each user, only their first and last appearance are kept.
Function Signature.
def compressLogs(logs: List[Tuple[int, str]]) -> List[Tuple[int, str]].
Example Input.
logs = [
(1, "u1"),
(2, "u2"),
(3, "u1"),
(6, "u1")
]
Example Output.
[(1, "u1"), (6, "u1"), (2, "u2"), (5, "u2"), (4, "u3")]
Explanation.
u1 first at 1, last at 6 → keep 1 and 6
u2 first at 2, last at 5 → keep 2 and 5
u3 only appears once → keep 4
3. Longest Balanced Substring
Problem Description.
You are given a string consisting of only lowercase letters. A balanced substring is defined as one where the number of vowels and consonants are equal.
Your task is to return the length of the longest balanced substring.
Function Signature.
def longestBalancedSubstring(s: str) -> int.
Example Input.
s = "abcdeiou"
Example Output.
6 # "cdeiou"
Interview FAQ: you probably have these questions about Snapchat OA, too!
Q1: What forms are Snapchat's OA's in? Is it LeetCode original questions?
A:Snapchat OA is done on Karat platform, there is no camera monitoring, but there is code behavior recording in the background. Most of the questions are "adapted" LeetCode type, emphasizing the actual business background, such as log compression, event processing, balancing judgment, etc., not a pure algorithmic set of brush questions. It is a bit similar to the style of TikTok and DoorDash, and belongs to the type of combination of scenario + algorithm.
Q2: How difficult is the topic? Do you need strong algorithmic skills?
A: The overall difficulty is medium to low, the key is that you should be very skillful in hash map, prefix sum, sliding window, dict operation, and be able to quickly see the essence of the topic in an unfamiliar business context. It is not particularly necessary to have high level algorithms such as DP and graph theory, but the code structure and robustness should be written in a clean way.
Q3: Do I have enough time? Can I use Python?
A: The time is 70 minutes to do 3 questions, which is basically enough, especially with Python will be faster. Snapchat's evaluation platform supports Python3/Java/CPP, and Python is definitely recommended, especially when dealing with strings, dicts, and list operations, which are very efficient.
Q4: Does Snapchat value algorithmic capabilities more, or code engineering?
A:** The point of Snap is not to test whether you can write optimal algorithms, but whether you can write robust business logic code. **The code you write has a clear structure, sensible variable naming, can cover edge cases, and is explanatory, which is far more valuable than writing an obscure one-liner.
Q5:Can I repeat the submission? Will there be test case feedback?
A: The Karat platform supports local test case testing, but does not show whether the hidden case passes. Generally, multiple submissions are allowed for each question (up to 10), but you should avoid spending too much time debugging a question and running out of time.
Q6:What kind of assistance does ProgramHelp provide?
A: We can provide OA online remote assistance, including:
Full trace-free code writing support (you write on the page, we collaborate in real time to write locally and voice alerts)
Explain in advance the logic of the questions, question sets, and improve your ability to recognize the questions + break down the questions in 5 minutes.
During the solving process, real-time voice prompts for bug locations and fixing suggestions to avoid getting stuck.
Reviewing your code after the fact + making up concise solutions to help make your second round interviews smoother
One last suggestion + ProgramHelp Tips to help you get to shore
Snapchat's OA belongs to the typical type of "the question stem looks complicated, but the test is actually about basic skills". As long as you usually brush a solid foundation, coupled with the ability to quickly disassemble the meaning of the question, in fact, it is not difficult to pass. The key lies in: the first time to recognize the problem, clear logic, to avoid getting stuck.
If you are short on time or want to maximize stability, we at ProgramHelp can help you do that:
Real questions + high-frequency questions, familiarize yourself with the question sets in advance.
No trace of remote assistance, hand to take you to write, voice prompts to avoid pitfalls at critical moments
Code review + follow up, no regrets!
We've helped countless students land at top tech companies including Snapchat, Pinterest, TikTok, and Databricks, so if you don't want to miss out on the opportunity, come talk to us about your situation.
Good luck on your journey to the top Snapchat! We'll walk you through the last mile on the interview road!