One of the best interview processes I've ever experienced. They know what they're looking for, and don't waste neither yours or their time. Efficiency aside, it's really enjoyable, they're incredibly responsive and feedback is ample. It's a 3 stage process:
=====
1.Internal recruiter screening:
=====
Very straight-forward, just checking that you have experience with Go and distributed systems
=====
2. Take-home test
=====
Asked to write a Go client for one of their API endpoints. As long as you have solid Go + Docker + unit/service testing experience and have written 1-2 clients in the past, this is relatively easy. Took me about a week to write, coding mostly in late evenings.
=====
3. 1.5 hour interview
=====
Three consecutive interviews with with 3 different engineers:
a. "MR-like" interview of the Go-client. They're trying to understand how well you know Go and how well you respond to feedback.
b. General questions around networking (TCP/IP, auth, HTTP, SSL, ...). They're trying to understand if you master the theory of the networking stack.
c. Live debugging exercise of a distributed system. They're trying to understand if you have in-depth experience with highly-scalable distributed systems & good problem-solving skills.
Definitely consider applying; at a minimum you'll enjoy it and probably learn something on the way. At best, you'll get a chance to work with some really smart people, some really good tech and a company with high growth.