Sharing my recent TikTok front-end phone interview experience. I applied for a front-end position. The recruiter reached out about a week after I applied through the system, and we scheduled a phone screen.
The technical phone screen was 1-on-1, 45 minutes of coding. The interviewer spoke English fine, but talked pretty fast. The whole pace was tight — basically no small talk, straight into it.
The question was to build a component, similar to a comment input box:
- Type a comment, click submit, and it gets added to the comment section
- Support deleting a comment
- The comment section has scroll-based loading (assume backend pagination)
- Follow-up: how do you handle the loading state, how do you prevent duplicate submissions, how do you do optimistic UI
I used React + hooks to implement it, wrote a quick useEffect to fetch data plus a map to render. Then they asked how to change it to support infinite scroll — honestly my answer was kind of abstract, I didn't write out the full code, and the interviewer sounded a bit cold about it.
At the end they also asked: if this component needed to be reused on the video detail page and the live-stream comment overlay area, how would you design it to be more generic? I only mentioned splitting up props a bit, didn't talk about design patterns or a state management approach — I feel like I lost points there.
After the interview I felt so-so about it — not a total disaster, but I didn't really shine either. Two days later I got a rejection email, which basically confirmed what I expected.
To sum up, TikTok's front-end phone screen is a classic "write the feature plus explain your thinking" combo. Being able to write it is just the baseline — explaining clearly and designing it well is what actually matters. My advice is to practice more real components — things like input boxes, lists, modals, forms, common UI pieces like that — plus some medium-difficulty scenario questions with clear state logic.
Discussion
Loading comments…