Photo by Jakob Owens on Unsplash
Backend Engineer Interview Experience with ByteDance
Live coding, backend general knowledge and past project
While the process might differ in different countries, this process is at least correct for Japan/Singapore/China.
Why ByteDance?
- Build credibility on your resume
- Competitive salary + (pre IPO) RSU stocks
- A lot of large scale products (not only TikTok !)
Once you begin your interview, the coordinator will reach out to you almost the next day (or on the same day) if they proceed you to the next round. ByteDance backend engineer interview is relatively technical, but it's not like you have to remember dynamic programming techniques perfectly. But instead, you have to revise your computer science knowledge (which you will see below). The interviewers I've met are very energetic, passionate and knowledgeable.
- First technical round
- Second technical round
- Third technical round (hiring manager)
- HR round
All interviews were conducted online.
First technical round
The interviewer was from another team and they will mainly focus on your resume. One of the deep dives asked is how the GC (garbage collector) works on my most familiar programming language. Every GC works differently, so study it! They also go through basic data structure and ask how it works internally.
The last session of my interview is a live coding question. Nothing is difficult if you practice Leetcode. I solved the problem relatively quick, so I get another follow up question. Also, you have to know your program time and space complexity.
Second technical round
This round is also similar to the first technical round. I am lucky to have a very friendly interviewer who is interested in my life in Japan. My interviewer focus on my past project and distributed system.
I enjoy this round of coding questions because they seem very up to date (They made the story relate with COVID19). While I appreciate my friendly interviewer, he was trying to chit chat with me while I am coding. I guess it's another way to test my skill? Just kidding. My interviewer was confident with my approach as I told them how would I write my code.
Third technical round (hiring manager)
This round focus on backend knowledge. I was asked about how data structure works internally. The interviewer wants to understand if you know your data structure shit deeply, so they will deep dive. For instance, I was asked for the amortized complexity of a data structure and how was the complexity calculated.
The last session of this round is a (short) system design round, mainly focusing on scalability.
If you are interested in practising system design, we are here for you
HR round
Introduction of the companies, teams and cultures. Also, they will have conversations to understand your past experience, team structure and some achievements. One thing that ByteDance value rewards the individual who performs well, so I guess that they want to see how far have you gone in your past project.
Summary
The best way to prepare is
- LeetCode. Focus on top 100 interview question
- Computer science knowledge especially algorithm and data structure. If you have time I will recommend MIT 6.006: Introduction to algorithem
- Know your programming language, study distributed system if the position you are applying for need it