TikTok OA Report | Research Assistant Internship | Dec 2025
research scientist internshipTikTok Interview Experience (My Third TikTok Interview Experience)
TikTok New Grad SDE – Round 2 VO Experience
new grad sdeTikTok/Bytedance Interview Experience
Mid level (2-1)Tiktok SDE VO - Two Code Questions
Summary
I recently took the TikTok OA for a Research Scientist internship. It was proctored on CodeSignal, consisting of 4 problems with 70 minutes time limit.
Full Experience
I recently took the TikTok OA for a Research Scientist internship. It was proctored on CodeSignal, consisting of 4 problems with 70 minutes time limit.
- Q1 (Easy): Combinatorics/Counting. Solved in 2 mins.
- Q2 (Easy): Simulation. Had a tricky edge case; took about 15 mins.
- Q3 (Medium/Hard): Complex simulation and state management. Very time-consuming.
- Q4 (Medium): String counting/permutations.
I finished the first two with 50 minutes remaining. After reading Q3, I skipped to Q4 to secure points. I hit a snag on Q4 with hidden test cases and ended with 240/300 on that task. I wrote the code for the Q3 but unfortunately, I ran out of time to pass any cases.
I got a total of 460/600 and am still waiting for their response!
Interview Questions (4)
A problem involving combinatorics or counting tasks.
A simulation problem with a tricky edge case.
A complex simulation problem requiring careful state management.
A problem involving string counting or permutations.
Summary
Had a third TikTok interview experience with a mix of technical and system design questions, leading to a solid performance in follow-up discussions.
Full Experience
Round 1: HR Interview
This round had no technical questions. It mainly focused on understanding my personal background, project experiences, interest in the position, and visa status. Overall, it was quite relaxed and served as an initial screening stage.
Round 2: Hiring Manager Interview
This round officially began the technical assessment.
Key questions included:
- Describe the models used in the Candidate Generator of a recommendation system, explain the model principles and time complexity.
- Introduce the Ranker model in the recommendation system and its complexity analysis.
- Scenario question: If there are new users or new items in the system now, how to help them quickly resolve the cold start problem?
- Finally, there was a medium-difficulty coding question related to recommendation systems. I was required to write a bug-free version within a limited time. It ran successfully, and I performed solidly in the follow-up discussions.
Round 3: Head/Department Lead Interview
This round was hosted by the department head and was a high-intensity technical interview.
In-depth questions about the models used in my chatbot project, including mathematical derivation details.
Required to fully describe the recommendation system pipeline, with a focus on feature acquisition and design.
The coding part was a hard-difficulty dynamic programming question, to be completed within 15 minutes.
Interview Questions (4)
Describe the models used in the Candidate Generator of a recommendation system, explain the model principles and time complexity.
Introduce the Ranker model in the recommendation system and its complexity analysis.
Scenario question: If there are new users or new items in the system now, how to help them quickly resolve the cold start problem?
The coding part was a hard-difficulty dynamic programming question, to be completed within 15 minutes.
Summary
I had my Round 2 virtual onsite interview for a New Grad SDE position at TikTok, which primarily focused on behavioral questions related to my resume and a dynamic programming coding challenge. This round concluded positively for me, advancing my candidacy.
Full Experience
I recently completed my second virtual onsite interview for a New Grad SDE position at TikTok. The interviewer was Chinese, and after a brief self-introduction, we moved directly into behavioral questions. They primarily drilled into my résumé, asking me to briefly describe my internship projects, what I learned from them, what the most challenging project was, how team communication was handled within the project, and what role I played. This discussion lasted for approximately 20 minutes.
After the behavioral part, we transitioned to the coding segment.
Interview Questions (1)
Select a subset of videos such that the sum of the durations of any two consecutively selected videos does not exceed the user’s attention span, and maximize the total watch time.
Preparation Tips
To prepare for TikTok interviews, it's crucial to practice a comprehensive set of skills including Behavioral Questions (BQ), coding challenges, asking clarifying questions, walking through your approach, providing comments, and handling follow-up questions. Speed is typically not an issue in their process.
Summary
I recently interviewed for a Mid-level (2-1) position at TikTok/Bytedance. The process included two LeetCode problems, a system design round, and a behavioral interview, ultimately leading to an offer.
Full Experience
I had my interview rounds for a Mid-level (2-1) role at TikTok/Bytedance. The technical portion consisted of two LeetCode problems. The first was a direct LeetCode problem, and the second was a graph problem that required a BFS approach to track even and odd levels for grouping. Following that, I had a system design interview where I was tasked with designing a monitoring system with user-configurable alerts. The final round was behavioral, covering standard questions about my past projects, challenges, and reflections. Overall, the experience felt comprehensive and tested a range of my technical and soft skills.
Interview Questions (6)
This was a weirdly worded graph problem about splitting friends into groups. The core concept involved using Breadth-First Search (BFS) and specifically keeping track of nodes at even and odd levels from a starting point to determine the groupings.
I was asked to design a monitoring system that could send alerts, and critically, these alerts needed to be configurable by the users themselves.
I was asked to describe my favorite project, elaborating on its scope, my contributions, and the impact it had.
I was asked to discuss the biggest challenge or conflict I've faced in a professional setting and how I navigated it.
I was asked about a past situation where, in hindsight, I would have done something differently.
Preparation Tips
For the system design interview, I diligently followed the structured approach recommended by HelloInterview, which proved quite helpful. Regarding LeetCode, my preparation included practicing a wide array of problems, which fortunately covered the concepts needed for LC 1293 and the custom graph problem. The behavioral questions were fairly standard, so my general interview prep on reflecting on past experiences was sufficient.
Summary
I recently completed a TikTok SDE interview where I was asked two coding questions: one on calculating the dot product of two sparse vectors and another on finding the first 'b' in a 'g'-followed-by-'b' string using binary search.
Full Experience
The interview process at TikTok is quite similar to this, so I’ll share two coding problems I recently faced in a TikTok interview.
First question: How to calculate the dot product of two sparse vectors. The interviewer directly provided the English description of the problem and first asked me to explain my approach: The key lies in two steps: how to store sparse vectors and how to calculate the dot product of these two sparse vectors.
Step one: Use a Hashmap<int, int> to store the mapping of non-zero element indices to their corresponding values.
Step two: For two sparse vectors, a and b, iterate over the vector with fewer non-zero elements. When reaching index i, check if the other sparse vector contains this element in its map. If it does, multiply the values and add the result to the final sum.
The interviewer asked me to demonstrate how to multiply the two sparse vectors. I used the example provided by the interviewer and walked through the calculations step by step. Finally, I analyzed the complexity. Initially, the interviewer didn’t provide enough parameters and only gave n1 and n2, representing the lengths of a and b. Clearly, the complexity is O(n1 + n2). The interviewer then further asked, "What if m1 and m2 represent the number of distinct elements in a and b?" I correctly analyzed the time complexity as O(min(m1, m2)) and space complexity as O(n1 + n2).
Second question: Given a string consisting of 'g' and 'b', where all 'g' characters appear before any 'b', find the first 'b'. First, the interviewer asked me to explain my approach. Our approach was to use binary search. Then, the interviewer asked why we can use binary search. I explained: This is because the key condition is "all 'g' characters appear before any 'b'." We can define three pointers: left, mid, and right. If mid is a 'g', then the first 'b' must be within the range (mid, right]. If mid is the first 'b', then the 'b' must be within [left, mid].
Then, I wrote the code and it passed the test case, giving the correct result. My binary search algorithm was written in a robust and well-structured way, which the interviewer acknowledged. Finally, I analyzed the time complexity, which was straightforward: O(logN).
Interview Questions (2)
How to calculate the dot product of two sparse vectors. The problem involves two key steps: how to store sparse vectors and how to calculate the dot product of these two sparse vectors. Sparse vectors are typically stored using a Hashmap<int, int> mapping non-zero element indices to their corresponding values. The dot product is then calculated by iterating over the vector with fewer non-zero elements. When reaching an index, check if the other sparse vector contains this element in its map. If it does, multiply the values and add the result to the final sum.
Given a string consisting of 'g' and 'b' characters, where all 'g' characters appear before any 'b', find the first 'b'.