Revolut Interview Process - Senior Backend Engineer
I was invited back for a second attempt on a Senior Software Engineer (Java) role after an earlier near-miss, through recruiter outreach. I prepared by rehearsing a tight self-intro with concrete achievements, questions to ask about the role, and live-coding practice on concurrency problems (rate limiters, locking patterns) to warm up before the call.
The process had two rounds: a standard recruiter screen covering background, motivation, and logistics (location, relocation, remote work, salary); and a combined "Build It" live-coding + technical discussion round. That round was one evolving problem: implement an in-memory banking service (open account, get balance), add withdrawals with thread-safe locking, add transfers between accounts (deadlock-safe lock ordering was key), then pivot to persistence (schema design, indexing, query plans), database-level concurrency (optimistic vs pessimistic locking), and finally production readiness (CI/CD, deployment strategy, monitoring).
My advice: prepare for one escalating problem, not separate puzzles. Know Java concurrency cold, be ready to design a DB schema and discuss indexing, and don't stop at the algorithm — system design and deployment knowledge matter as much. Overall, solid round.
Fortunately, I have passed this part of interview, and next "Design it" part for system design is waiting for me.
No comments yet
Be the first to ask the author a question or share your own take.