Bitgo India | Backend Engineer E3 | Interview experience | Offer
Summary
I recently completed an E3 (Staff) Backend Engineer interview process with BitGo in February 2024 and successfully received an offer. The interview spanned 5 rigorous rounds, covering hiring manager discussions, machine coding, live coding with algorithmic problems, system design, and a cultural fit assessment.
Full Experience
I had a comprehensive interview experience with BitGo for a Backend Engineer E3 (Staff) position in February 2024, conducted remotely. My current experience is over 7 years. The entire process was very efficient, taking only two weeks to complete all five rounds, and I received an offer within two days after the final cultural fit round. All interviewers and HR were exceptionally friendly and polite, making the process pleasant.
Here's a breakdown of my interview rounds:
- Hiring Manager Call (45 minutes): This round focused on my past work experience and the projects I had delivered.
- Machine Coding (2.5 hours): I was tasked with a mini-project involving calling external APIs to fetch paginated results, storing this data in a local cache (I used a text file to ensure persistence across service restarts), and then performing a Depth-First Search (DFS) to find a specific result. I managed to complete this task in about an hour, after which we discussed BitGo's culture for the remaining time.
- Live Coding (1 hour): This round consisted of two specific coding challenges. The first was to implement a Least Recently Used (LRU) cache from scratch. The second problem involved determining if a car trip could be completed given its capacity and a series of passenger onboarding and dropping events, ensuring the number of people in the car never exceeded its capacity at any point.
- System Design (45 minutes): The first 20 minutes were spent discussing a payment system I had previously designed. For the remaining 25 minutes, I was asked to design a digital wallet for cryptocurrency and elaborate on strategies to scale it for millions of users.
- Cultural Fit (30 minutes): This final round assessed my compatibility with the company's culture.
I received a 'strong hire' rating in all rounds. Although I received an offer, I am currently planning to decline it as I intend to continue preparing for FAANGMULA companies outside India.
Interview Questions (4)
Write complete code for an LRU (Least Recently Used) cache.
A car has a capacity and an array of people onboarding/dropping at a particular time. Find whether the trip can be completed or not, where a trip can only be completed if at any particular time the number of people in the car are not more than the car's capacity.
Design a digital wallet for cryptocurrency and discuss how to scale it for millions of users.
Design a mini-project where you have to call some external APIs, fetch all results (in a paginated way), store them in a local cache (e.g., a text file to ensure persistence even after service restart), and then perform a Depth-First Search (DFS) to find the expected result.
Preparation Tips
For future candidates, I strongly recommend preparing thoroughly for machine coding rounds, which can involve mini-projects requiring external API calls, handling pagination, implementing local caching mechanisms, and performing graph traversals like DFS. Also, a solid grasp of core data structures like LRU cache and problem-solving techniques for interval-based or capacity-checking scenarios is crucial. System design for scalable, distributed systems, particularly in niche areas like crypto wallets, is also essential.