Bitgo India | Backend Engineer E3 | Interview experience | Offer

bitgo logo
bitgo
backend engineer e3remote7 yearsOffer
April 12, 20246 reads

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:

  1. Hiring Manager Call (45 minutes): This round focused on my past work experience and the projects I had delivered.
  2. 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.
  3. 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.
  4. 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.
  5. 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)

Q1
Implement LRU Cache
Data Structures & Algorithms

Write complete code for an LRU (Least Recently Used) cache.

Q2
Car Trip Capacity Check
Data Structures & Algorithms

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.

Q3
Design a Digital Wallet for Crypto
System Design

Design a digital wallet for cryptocurrency and discuss how to scale it for millions of users.

Q4
API Integration and DFS for Paginated Data
Other

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.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!