Those who are unfamiliar with ByteDance have most likely heard of its killer app, TikTok. As of mid-2021, the viral video app has been downloaded approximately 2.8B times.
Today, Bytedance is the world's most valuable start-up, and its on a hiring spree for software engineers here in Singapore.
In view of Bytedance's popularity amongst tech talents, we asked three anonymous software engineers to describe their technical interviews at Bytedance. This pro guide seeks to prepare candidates to excel in the rounds of interviews ahead.
If you prefer a more guided approach where experienced recruiters can coach and even negotiate higher offer salary packagefor you, you can check out NodeFlair Recruiter.
TL;DR - Bytedance interview process
Total 3 rounds of interview for all seniorities
Last round same for all seniorities
For mid / senior engineers, there are 2 different sets of interview questions (you might get either one)
This guide serves merely as a reference. This is a compilation of information shared by 3 anonymous engineers who got hired by Bytedance.
We cannot guarantee full accuracy of the interview process and questions.
As with most companies, interview process may also change over time.
Bytedance Junior Software Engineer Interview rounds 1 to 2
30 minutes algorithm round. Shared screen while explaining logic and methods to solve the problem.
Question on system design and DBMS
General questions on what technology can be improved at Bytedance
Self-introduction to understand past working experience
Additional questions on algorithms and testing CS fundamentals.
Bytedance Mid / Senior Software Engineer Interview rounds 1 to 2 (Question set A)
Focus on testing programming language knowledge.
Communication: Deep dive into past experience to understand how you think through a problem
CS fundamentals such as HTTP, Security questions, Network, OS, high concurrency
Questions on algorithm and data structure
Emphasis on technical questions, focusing on system and database design
Questions about past work on systems and database design
Bytedance Mid / Senior Software Engineer Interview rounds 1 to 2 (Question set B)
Live coding challenge to implement all promise all functionality, send array of promises, combine results, browser versions, written in manual version.
Question about differences between Angular, Vue and React
Practical coding questions e.g. find duplicates in array, find duplicates with distance, flatten the object into array, how to implement mergesort
Figure out the output of await, promise, and arrow functions
How to explain react hooks, vdom and publisher subscriber pattern
30% of the interview was spent on introduction and general questions
Solving Two Sum and Three Sum algorithm questions
General questions: What was your most difficult project? What is your hardest front end component? Tell me about settimeout and setinterval. How would you implement setinterval using settimeout?
Bytedance Software Engineer Interview Round 3 (for all seniorities)
The third round is similar across levels of seniority.
The interview is about 60 minutes
20 minutes devoted to questions to understand your background, past experiences
Remaining 40 minutes focused more on the technical side, primarily systems design
You will typically interview with the manager of the whole platform team. Here’s what Bytedance interviewees reported:
Questions on systems design. Expect follow up questions on how the solution can be further improved, elaborating on your thought process.
Questions about your background and general questions such as: What is your favourite project and what did you do? What is the hardest thing you built, how did you overcome various challenges? If you were to track user data, how would you implement something that tracks how long a person is looking at something?
NodeFlair Tips: Best practices before, during, and after your Bytedance interview
Before: Research your role and department to understand it from a business and technical perspective. Be prepared to offer your opinions on their existing products or processes. Review your technical knowledge, and be prepared for some difficult technical questions.
During: Be sincere and direct when speaking. Be prepared to think on your feet and give intelligent answers.
After: Relax! The evaluation might last for a few days, so you have to be patient. At the same time, you may want to prepare for your next technical interview in case you are selected for the next round.