InterviewNoodle
Published in

InterviewNoodle

Toptal Interview Experience

Photo by Scott Graham on Unsplash

I heard about Toptal on LinkedIn and found it to be a great choice for freelance developers. Also, Toptal boasts about their interview process and claims they have an acceptance rate of 3%. I decided to give it a shot and also wanted to explore the freelance world of things, so I applied directly on their website with my LinkedIn profile.

Toptal Interview Process

  • Introductory screening round
  • Codility coding test
  • Technical interview
  • Test project

Codility Test (100 minutes)

A few weeks after applying on their website, I got a codility test link to my email. I was an active competitive programmer in college, so I thought this would be a cake-walk but I was proven wrong. The test consists of 3 algorithm questions. If I remember correctly, each has an equal score of 100 each with increasing difficulty and you would need at least a score of 210 out of 300 to pass. The questions were very verbose and the test cases they provided were deliberately naive and weak. Code logic was implementation-heavy and had lots of edge cases that you are most likely going to miss. Also, neither of these have any relevance whatsoever with real-world problems nor they are challenging algorithm questions that give you a sense of achievement after solving. I was able to code up all 3 in python within the first half but I just ran it against the basic test cases they provided and submitted it.

I’ve taken several tests in other platforms like Hackerrank, HackerEarth, etc. but codility does something terribly unique. Codility tests judge the code on correctness and performance. The part I missed was that once I submitted the solution, unlike other platforms codility doesn’t run it against the full test suite until the session is over. Also, it doesn’t allow you to modify the solutions once submitted. Surprise!! After closing the test the hidden test cases ran and I still managed to get a score of 191/300, so they decided to give me a chance and asked me about feedback/experience while taking the tests. I shared all the pain I mentioned above with them and I think I kind of criticized their interview process and they politely rejected and closed my application.

Reapply + Codility Test (90 minutes)

I was able to reapply after almost a month, maybe because I was pretty close to clearing the codility test. This time I received another codility test with 90 minutes time limit and the same structure except for the fact that it was 10 minutes shorter and questions were comparatively harder. This time I was prepared since I learned my lessons the hard way in the previous test. I was able to code up 2nd question on my own and for the 1st question, I took some help from google since it was a hard algorithm question. I wrote all the code in python. I tested these extensively on my IDE with various inputs and this is where I lost most of my time. I submitted both solutions only when I was 100% confident. I barely had time left for the last question but I knew I needed 10 more points to clear, so I targeted all the happy path cases and wrote a code that would pass for trivial cases. I did it so I get enough points to pass. I submitted at the last minute and the final results came, turned out I had enough score to move to the next round!

Introductory Interview (screening)

Surprisingly, this interview should have been done before my codility rounds but for some reason, it was done after. I scheduled this interview on their portal with a communication specialist from Toptal. The interviewer was just checking on my communication skills and asked me about my motivation, how I heard about them etc etc. I also asked him several questions regarding how things work in Toptal and if I can do freelance work part-time with my current full-time job etc. This was pretty smooth and the interviewer was very friendly. I cleared this round and got scheduled for technical interviews.

Technical Interview (60 minutes)

The interview was with a senior engineer in Toptal. Due to a certain level of NDA, I can’t disclose the complete details of this interview and can only summarize what it will look like. In the first half, the interviewer reviewed the solutions of the codility tests and also discussed the projects I worked on. The second half was a live coding test where the interviewer gave 2 medium~hard algorithm questions to code while he/she is watching the screen. This round seems to be the hardest due to the amount of stress with the crazy time limit to complete the questions. The solution is considered complete only if it passes all the test cases and the output is in the same format as given by the interviewer. I completely bombed this round and my application got dropped at this stage. On the other hand, I had a very bad experience with the interviewer and it was one of the worst interviews I ever had in my entire career.

Conclusion

Toptal may not be for me and their interview process is pretty strenuous and laid out here. There would have been 2 more rounds after the technical interview if I had indeed cleared it. I was pretty disappointed by the last technical interview and it gave me a negative impression of the whole company due to the rude behavior of the interviewer. Overall, this partially makes it clear why they have a 3% acceptance rate and I’m pretty sure many would try to avoid such an interview process given it's time-consuming and does not reflect your real strengths.

One stop learning portal for your next coding and system design interview.

Recommended from Medium

OPA to Integrate with Kubernetes Admission Control Framework to Restrict Host Conflict Using Styra…

When it can be a good idea to work without branches and push constantly to master ?

Trunk based development

RFP = “Realize full Potential” | Axim Global

Call for PDO usecases

How should you name your receivers in Go?

To Test or Not to Test, Is Not the Question…How to Test is the Question

Send weekly email summary report from SharePoint List (with embedded images)

Road to Go pro — Flow control

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Freeze Francis

Freeze Francis

https://linktr.ee/freeze_francis

More from Medium

How to Ace the Low-level Design Interview

How to Prepare for an Engineering Interview at PayPal India

Software Application Engineer at Google : My Interview Experience

System Design Interviews: A Step-By-Step Guide