I applied online. The process took 4 weeks. I interviewed at Toptal in Jun 2016
Interview
TL;DR: The interview at toptal is not an interview, it is paying your dues.
The process starts with a call to know you, then some online coding exercises, then another call with technical questions, and then a test project.
The coding exercises were pretty basic things coding wise but will make you think a lot about logic and math. Things I didnt use since university such as manipulating powers of 2 or chess moves. Ok pretty strange but continuing. Then the technical interview there was a lot about REST api and the different HTTP verbs.
But the issue here is the test project. Be prepared to put at least 20 hours on a test project. But dont treat it like an exercise, treat it like a "real project".
My test project was rejected because:
- I used sessions in the API instead of a token
- I didnt validate for negative numbers
- I used the django admin for the admin, I had to create my own admin page
- The UI was not nice (even though they said I wouldnt be marked on design)
All these things I could have corrected in a couple days but they decided to reject it completely and give me the chance to try again with another project in a month. I said it was a project exercise and they said "it is a real project". I never had a real project where I didnt get the chance to correct when there was a difference of expectations. And I never had a real project that wasnt paid!
I put on a lot of time making tests for testing the API (which was a specified requirement) and the guy didnt care to look. He was more interested in seeing if I had validated against negative number values in the input, which totally exceeds the requirements of a test project in my point of view.
There was no discussion possible about making those changes. I said "I can make those changes in a couple days" and they said "you cannot correct, you have to try another project completely new if you want. This is our rules"
It is always "this is our rules" type of answer.
When I asked them "why dont you pay for this test project to see what I can do? otherwise I m putting some hours here and there when I have free time" . They answered "why should we pay you if you want to enter our network?"
The reality is that this wasnt about my coding skills or ability to handle a project or clients, this is a way to make developers pay their dues to enter the super elite of top talent developers.
Interview questions [1]
Question 1
The test project is about making a simple webapp where users can CRUD some entries. There has to be an admin and a user admin. Everything has to be through API.
I applied online. The process took 4 weeks. I interviewed at Toptal (Barcelona) in Mar 2016
Interview
Exactly as explained in their website. Screeners were very nice and you could talk with them during the whole process. Probably the hardest steep was Codility test, but in general there is nothing to worry if you are a good professional developer with years of experience in freelancing and you speak clear English.
Interview questions [1]
Question 1
- What is the project you're more proud of?
- What do you expect from Toptal?
I applied through a recruiter. The process took 1 week. I interviewed at Toptal in Jan 2016
Interview
First quick call to check my English with a boring, rigid guy. After that I was to solve some algorithms on Codility which were not even close to the role I applied for, although I somehow managed to figure out decent solutions. Next, live coding and tech screening session was scheduled, but it lasted just for 3 minutes. They do not allow ANY inspiration when you solve those algorithms, which I admitted to have on the last task (looked for a formula) they finish recrutation immediately if it is the case. It was very negative experience and I do not recommend this company.
Interview questions [1]
Question 1
An integer X and a non-empty zero-indexed array A consisting of N integers are given. We are interested in which elements of A are qual to X and which are different from X. The goal is to split array A into two parts, such that the number of elements equal to X in the first part is the same as the number of elements different from X in the other part. More formally, we are looking for an index K such that: 0 ≤ K < N and the number of elements equal to X in A[0..K−1] is the same as the number of elements different from X in A[K..N−1]. For K = 0, A[0..K−1] does not contain any elements.