I applied through a staffing agency. I interviewed at TikTok (Singapore) in Sep 2021
Interview
I interviewed for Tiktok in October 2021. There were three round of technical interviews described as below:
Round 1 : Coding interview. After a brief introduction I was asked two coding questions to be solved in one hour. The interviewer was good, he made me quite comfortable and the session interactive. I solved both the questions, and he did help me a bit with the second one.
Result turn around time : 24 hours.
Round 2 : System design + projects worked on so far.
Result turn around time: 24 hours.
Round 3: Last round with Lead engineer. It was a mix of culture fit interview , technical questions, system design and coding.
Result turn around time : 1 week.
I did well in the interviews technically and I still wonder why I got rejected. I totally respect the decision of the company but, I'm disappointed that I was not given any feedback so that I can work on the points, if I find them to be valid. I only got am automated rejection email.
Interview questions [1]
Question 1
All the coding questions asked were available on leetcode. It would be unfair to expose the exact questions, so summarising the topics covered in each round.
Round 1 : Trees and Math problem. Medium difficulty ones in leetcode.
Round 2 : System design + projects worked on so far.
Questions on distributed systems, best practices, unit and integration testing, transaction management and questions on some of the common problems faced in a distributed environment. Some of these questions are abstract and open ended. It helps if you can give examples and answer.
Round 3: Culture fit questions designing some features of a real world system like twitter, databases and designing a cache with some special features. We had to write a pseudo code.
OA - 1 arrays Medium, 1 Trie Hard. I had 45 minutes to complete that. I was able to do the medium in about 15-20 minutes but I am not that great with trie ds so I was not able to finish.
Four Round Process
Phone Interview with Human Resources
Coding Round; 1 DSA Leetcode Medium Q
Coding Round: 2 DSA Leetcode Medium Q
Manager Round: System Design Q and behavioural Q
It took about four weeks from application to offer, longer than I initially expected. The initial phone screen was straightforward, covering my resume and some basic algorithms. Then came the technical rounds, which were challenging. One question on minimum window substrings had me diving into a sliding-window approach using pointers and hashmaps. Funny enough, I recognized it mid-round as something I’d practiced on PracHub just days before. After a final system design discussion, I received the offer and happily accepted.
Interview questions [1]
Question 1
Given two strings s and t, return the minimum window substring of s that contains every character of t including duplicates, or an empty string if no such window exists. Walk through the sliding-window approach using two pointers and a character-frequency hashmap, analyze the O(|s| + |t|) time complexity, and discuss how to adapt it when t contains characters not present in s or when s arrives as a stream that cannot be fully buffered.