My name is Sahil Jaiswal, and before diving deep into my interview experience with ByteDance, here's a quick background about me. I graduated in 2021 from IIIT Guwahati with a degree in Computer Science and Engineering. After graduation, I joined Simsim, a growing video e-commerce platform. My time at Simsim was brief, as the company was later acquired by YouTube, and I transitioned to working with YouTube, India. At YouTube, my focus was primarily on design, development, and deployment of highly extensible and scalable distributed systems on cloud platforms. After three years, I decided to explore new opportunities, which led to my interview journey with ByteDance, Dubai for SDE2 role.
Application Process
I applied for a position at ByteDance through the naukrigulf.com on a whim, unsure of the opening's legitimacy or whether I would receive a response. To my surprise, after 2-3 weeks, I received an email inviting me to proceed to the interview stage.
Interview Process
Recruiter Call
During the initial call, the recruiter aimed to get to know me better. They asked general questions about my current company, experience level, motivation for switching roles, and my comfort with relocating to Dubai. They also inquired about my marital status and whether I had children. When asked about my current and expected salary, I suggested discussing that only if I was selected for the role. The recruiter confirmed that I would require visa sponsorship and provided a vague overview of the interview process, leaving me uncertain about how to prepare.
After our conversation, I received an email indicating they wanted to move forward with interviews and requested my available time slots.
Technical Interview Round 1
My first interviewer was from China, which I had anticipated given the company’s origins. The interview began with general introductions and quickly transitioned to a detailed review of my resume. The interviewer delved into the technologies and skills I had mentioned, asking both common and in-depth questions for about 20-25 minutes. I managed to answer most questions based on my previous experience.
The discussion then shifted to my past projects, where I explained my contributions and faced follow-up questions, which I answered comfortably. The interview included general software engineering questions, HLD and LLD concepts, and a coding section. Although time was short when I received the coding question, I successfully solved it and explained my approach while running the test cases. The question was of hard level but because of my preparation I was able to solve it quickly.
At the end of the interview, I had the opportunity to ask questions about the team and product, which I found insightful. Although I had mixed feelings due to some initial fumbling, I ultimately felt it was a positive experience.
A few days later, I received the good news that I had cleared this round and would move on to the second interview.
Technical Interview Round 2
The second interview started similarly with introductions. This time, I was better prepared, allowing me to answer questions about my resume without any hesitation. We spent about 15-20 minutes discussing my past projects, where I was asked to suggest alternative approaches and justify my chosen method based on my experience at Google.
The interviewer then shifted focus to LLD topics, and I confidently addressed each question. Following this, we moved to the coding question. Despite time constraints, I took a few moments to formulate my thoughts before explaining my approach and implementing the solution. I successfully ran the code on the first try.
I felt even better about this round than the first, as I had managed my nerves well.
After a few days, I was thrilled to learn that I had been selected for the third round.
Technical Interview Round 3
After several delays in scheduling, my third interview finally took place. As before, we began with introductions, followed by a deep dive into my past projects. I had to draw the architecture of my solutions, which led to a thoughtful discussion where I defended my design choices against alternative suggestions from the interviewer.Â
We then moved on to coding questions, and despite the complexity, I managed to solve the problem quickly and efficiently. We still had time to discuss my college projects related to Machine Learning (ML), and I was pleased to recall relevant algorithms and their applications.
To my surprise, I received an email indicating that I would advance to yet another round.
Technical Interview Round 4
In the fourth round, we followed a similar format, but the focus shifted to HLD questions. To clearly explain my ideas, I opted to draw the entire system architecture. This visual aid helped clarify my explanations regarding scalability, single points of failure, and ensuring system performance.
The interviewer expressed curiosity about LLMs, leading to an engaging discussion where I shared my insights on their differences and advantages over traditional algorithms. The conversation included some behavioral questions, which I hadn’t specifically prepared for but managed to navigate successfully.
We concluded with another coding question, which I solved effectively within the given time. Afterward, I asked the interviewer about the team and ongoing projects, gaining valuable insights into their work and plans for the new Dubai office.
I felt optimistic after this round, hoping it would be my final technical interview, and the next day I received an email to schedule an HR discussion, confirming that the technical assessments were over.
HR Interview
The HR round featured two representatives who posed a mix of general and role-specific questions. It was by far the easiest round of the entire process! After discussing my expected salary and other logistical details, the interview wrapped up on a positive note.
Offer and Visa Process
Shortly after, I received an attractive offer from ByteDance, which I accepted after some family discussions. I received the official offer letter two days later, and my visa process began. This took about a month, providing ample time to spend with family and friends before relocating.
Summary
The ByteDance interview process involved five rounds, starting with an initial recruiter call to discuss my background, motivations, and logistical details, such as relocation and visa requirements. The recruiter gave a high-level overview of the interview process, leaving me unsure of what to expect in terms of preparation.
The first four rounds were technical interviews, each testing a mix of coding skills, system design (both HLD and LLD), and project discussions. The interviewers expected deep knowledge of my past projects, strong problem-solving abilities, and clarity on design choices. In terms of preparation, revisiting key algorithms, system architecture, and past project implementations was crucial, especially as time was limited during coding challenges. I also found it helpful to practice articulating my design thinking process clearly.
The final round was an HR interview, which was more straightforward and focused on salary expectations and role logistics. After successfully completing all rounds, I received an offer, followed by a visa process that took about a month.
By LLD you mean machine coding round? Were you expected to code?