I applied online. The process took 2 months. I interviewed at Toptal
Interview
The interview was a 3 step process.
First, a HR screening, then two coding problems, then a test project taking more than 20 hours.
I passed all 3 interviews and was accepted, but they didn't like my profile (citing reasons about profile picture) and rescinded my offer after 2 months of back and forth emails/interviews.
Definitely a waste of time, don't even bother.
I applied online. I interviewed at Toptal (Remote, OR) in Sep 2017
Interview
Phone interview -> Quick coding challenges through screenshare -> Project -> Project Review.
The big issue is the project. They give you two weeks and expect an entire application with all the bells and whistles. The assignment may mention a minimal UI, they expect a fully fleshed out UX anyways.
The project is not difficult, but it is time consuming. I spent minimal time on it as I had to take time away from paid work to do it, so every hour I spent on this cost me 50USD in lost opportunity. So I wasn't willing to spend the time they were looking for and this interview essentially cost me over a thousand dollars for a rejection.
So, if you're currently unemployed and there's no opportunity cost and you really want it, go for it. But if you have other opportunities you'd be as happy with, don't do what I did, don't waste your time here unless you can commit 40 hours or have non-NDA'd work you can copy paste and adjust for the test.
Interview questions [1]
Question 1
Build a whole CRUD application with auth and roles with all the bells and whistles and a rest API.
I applied online. I interviewed at Toptal in May 2017
Interview
There are 4 stages to the interview:
1. Basic screening over skype (15 mintues)
2. 3 Code exercises on codility (90 minutes)
3. 2 live code exercises over skype (20 minutes each)
4. Project (2 weeks) and presentation (1 hour)
The screening is not technical, they will go over your CV and check you can speak English. They will also ask you for your salary expectations.
The codility step is a standard competitive coding exercise. It doesn't test for real-world problems, but your ability to prepare for this type of interview.
The live code is similar to codility, but has slightly easier problems.
The project is a CRUD client/server app which you can implement however you like. Make sure it behaves well on invalid inputs (sql injections, nulls, negatives etc.) and be prepared to answer why you chose to implement it the way you did.
After you pass that they will ask your hourly rate and how many hours you would like to work (hourly/part time/full time). Then you will need to sign on the contract and fill in your profile.
After reading the contract I decided not to work for Toptal.
Clients can decide not to pay you after a week, in which case you don't get paid. If Toptal can't collect the money from the client, you don't get paid. You have to agree on a $30K fine in case you contact a client outside of their platform. You pay the fees for money transfers. You are treated as a contractor, meaning you get no benefits and have to pay taxes yourself. They are not willing to make any changes in the agreement.
And above all, they pay about half of the market price. You get to set your own rate, but you will not get jobs over $40 an hour, and expected to do your first projects for even less ($25/hr).