About Toptal

Toptal is a freelancer website which claims to hire top 3% of the world’s talents. Toptal talents have access to a wide range of jobs and clients mostly based on USA and Europe. Most of the jobs are fully remote which gives you full flexibility as a freelancer.

The Interview Process

Toptal has a very lengthy and manual screening process. You can find an overview of the screening process directly in the toptal website. In this article I won’t cover toptal interview process in general but how it went for me.

First Step - Communication Skill

Immediately after applying from toptal website, I received an email to schedule a 10 minute meeting from toptal platform. I already knew that the interview is going to be easy. So I didn’t take any preparation. The interviewer asked me some questions like - “How you came to know about toptal?”, “Tell me a few lines about yourself” etc. If you are not too bad at English, you will find this step very very easy. Only tips from my side are - don’t be nervous and don’t try to prove that you are very sharp in English.

Second Step - Coding Test

Immediately after the first step, I received an email with a link of a coding test on Codility. The test was of 90 minutes. I could pick any programming language of my choice and this language doesn’t need to match with the tech stack I was applying for. I was asked to take the test within 3 days. As I was not feeling confident to take the test immediately, I replied to the email if I can have at least 7 days. I was confirmed that I can take it within 7 days. Just like you, I went through a few articles available in the internet to get some idea about the coding test questions. But none of them really mentioned any example interview questions. Only clue was that there will be 3 problems and I need to solve at least two. As I was a competitive programmer before, I had a bit of confidence in me that I can pass the test. Only preparation was, I revisited the data structures and algorithms that I was already quite familiar and confident with. Also I took a mock coding test on codility which you can take as many times as you want. But the mock test had too easy problems and I was expecting harder problems in the actual coding test.

I must say, I was not confident enough to take the test but when I finally saw the questions, I couldn’t believe my own eyes. Honestly, all of the three problems were very very easy. The reason I am saying easy is - if I had taken the test after the end of the first semester back in my university, I would have probably passed the test. There was no text book algorithm I needed to solve those problems, neither I had to think of any algorithm and data structure. All I needed to do was to follow the steps mentioned in the problem description. I was too careful to solve the first two questions that I didn’t get enough time to submit the third one. But honestly, all of the problems were solvable within time. One thing I suggest you to be careful of. You can solve the problems in your local IDE but when you submit the solution, it may not compile. The reason is codility doesn’t support all the latest versions different languages. Maybe it is a good idea to install the language version in your machine which is also available on codility.

Third Step - Live Coding

After the coding test, I received an email to schedule a 60 minute interview. I was very much in the dark about how to prepare for this step. I already knew that this is going to be similar to the last step but this will be a live coding session and there will be two problems to solve. So I didn’t take any preparation for this step and scheduled the interview at the earliest slot. The interviewer took quite some time to do some casual talk. Then the interviewer wanted me to open a link provided in the chat. The link contained a problem description which I had to solve in 15 minutes. The timer started after I confirmed that I have read the description and ready to write code for it. After solving the first question, I was given the second one and I solved it in time as well. Both of the problems were much much easier in compare with the codility problems. Just to give you an idea about how easy the problems were - I took just around 7-8 minutes per problem to solve. In my opinion, if you have passed the codility test by your own, don’t worry about this step at all. You can pick any programming language of your choice and this language doesn’t need to match with the tech stack you are applying for. After solving the problems the interviewer confirmed that I have passed this stage. The interviewer also mentioned that I had a high score so far and I will only have a final interview left. If your score is not high enough, you will be given a test project which you need to submit before the final interview. I was happy that the test project was skipped for me.

Fourth Step - Final Interview

At this point I was full on confidence, specially after knowing that my score was higher than usual in the previous steps. I was asked to schedule a meeting of 120 minutes and the earliest slot I could find is around 2 weeks later. But this long time couldn’t help me enough for my preparation since I skipped the test project and I couldn’t find any article in the internet who had this unique experience. But there was some clue in the invitation email from toptal. This stage was going to be again a live coding session but this time focusing on my tech stack. At first, the interviewer let me know that I will be given two problems and I have 45 minutes for each of them.

For the first problem, I was provided a link of a git repository which I could clone on my machine. The problem was something to do with a .NET middle-ware. The .NET project was already nicely setup and the middle-ware was already registered as dependency. Only thing I had to do is find the place where I need to make the code changes and write a few lines of code. After running the already available unit tests I found the code was not producing the expected output. I had no idea what to do and I was running out of time. The interviewer even allowed me to check Microsoft documentation for it. After checking documentation, I found that there was a very minor mistake in my solution and I could finish in time.

For the second problem, I had to clone a git repository again with everything already set up. This was a very easy problem for me. This type of problem a .NET developer solves almost once in a week. I could solve it well in time and the available unit tests helped me to confirm it.

The interviewer congratulated me and I heard the magic words “Welcome to Toptal!”.


Apply to Toptal with my referral code and we both get 100 USD once you land your first job: Apply here

Find my toptal profile here.

If you haven’t applied with my referral code and interested to have referral reward, you can send an email to referrals@toptal.com within 6 months of your initial application. Mention in the email that I referred you originally and put my toptal profile link in the email.