I really liked the interview process at Travelperk. They seem to be building a great product and are being extra cautious with their growth and team (both very positive signs of stability). They are also willing to go well above the average for Barcelona if you can prove your worth.
Pros:
* Great schedule flexibility (can split over several days or do almost all of it in a single day).
* No complex/tricky brain teasers or obscure algorithms. All questions involved simple things you might have to deal with during your daily work.
* Everyone I met was incredibly nice and knowledgeable, giving you the opportunity of having very interesting discussions, not just answer pre-scripted questions.
* Everything moved very fast: It feels like the bottleneck is the person being interviewed. If you have the required availability, I wouldn't be surprised if you got through the whole process in just a couple of days.
Cons:
* Rather lengthy process: 3 hours at home plus around 7 hours on-site.
Whole process is split in several parts:
* At home:
- Recruiter phone call (0.5hrs): typical getting to know you and the company call.
- Codility test at home (2.5hrs): 3 exercises: warm-up exercise, simple peformance-focused algorithm exercise and a fix the bug in this code exercise. Exercises were quite accessible and was even allowed to resubmit one of them because of a off-by-1 mistake.
* On-site:
- Interview with Recruiter (0.5hrs): talking about your objectives, previous experiences, more details about the company.
- Interview with Tech Lead (1hr): general questions around different tech stacks you've worked with, high-level explanations of different technologies.
- Interview with CTO (1hr): getting to know the history and vision of the company, more personal questions, great chance for deeper questions about tech stack and processes.
- System Design interview (1.5hrs): Describing overall system architecture for a 'clone' of some popular service. Being able to reason about data storage and querying, scalability, reliability, apis, project management.
- Code Challenge interview (1hr): Simple problem involving recursion to be coded on an actual laptop (yours or theirs). Problem is then refined in 3/4 small variations to show you know how to handle changing requirements and actually know how to code and didn't just copy paste some solution.
- Team members interview (0.5hrs): Informal chat with 2 members of the dev team. Great opportunity to get a different viewpoint on the position and the company. Looks for cultural fit.
- Interview with CEO (0.5hrs-1hr): Yet another opportunity to get to know more about the history and about who runs the company. Also a cultural fit test I suspect.
After these stages, if you're successful you're given an offer (on the same day as the last interview on my case) and are asked for 4 references from previous workmates and supervisors/managers.