bitgo logo

Bitgo Interviews

7 experiences120 reads23 questions29% success rate
BitGo Interview Experience – Backend Engineer E3 (Rejected)
bitgo logo
Bitgo
Backend Engineer E3IndiaRejected
November 7, 202539 reads

Summary

I interviewed for a Backend Engineer E3 role at BitGo after recruiter outreach via Instahyre, but unfortunately, I was rejected after the Machine Coding round, despite receiving positive feedback during the interview.

Full Experience

My interview process for the Backend Engineer E3 role at BitGo began with recruiter outreach through Instahyre.

Round 1: Online Assessment (Coderbyte)
This was an online assessment administered via Coderbyte. Honestly, I don't recall the specific questions from this round.

Round 2: DSA Pair Programming (Coderbyte)
This round involved live coding and discussions on two data structures and algorithms problems:
1. A BFS problem on a grid, which was quite similar to the classic Rotting Oranges problem.
2. Finding the longest path in a general graph. This problem was conceptually similar to LeetCode's Binary Tree Maximum Path Sum, but adapted for a graph structure, and I was also required to print the actual path.

Round 3: Machine Coding (LLD)
The task here was to implement the stoi (string to integer conversion) function. While it seemed like a DSA problem, I approached it with a strong focus on low-level design principles. I ensured I followed proper Object-Oriented Design (OOD), covered all relevant edge cases clearly, and completed the implementation in approximately 35 minutes. To demonstrate extensibility, I even incorporated a Strategy Pattern, which would allow for future parsing rules. The interviewer mentioned that all requirements were fulfilled and the round concluded early.

Final Outcome
Despite what seemed like a positive outcome in the LLD round, I was ultimately rejected. No detailed feedback was provided regarding the rejection.

Interview Questions (3)

Q1
BFS on a Grid (Rotting Oranges-like)
Data Structures & Algorithms

A problem requiring the application of Breadth-First Search on a grid, conceptually similar to the 'Rotting Oranges' LeetCode problem.

Q2
Longest Path in a Graph
Data Structures & Algorithms

Find the longest path within a general graph structure. This problem was presented as an extension of the 'Binary Tree Maximum Path Sum' concept to an arbitrary graph. Additionally, I was required to print the identified path.

Q3
Implement String to Integer (stoi)
Data Structures & Algorithms

Implement the stoi (string to integer conversion) function. My approach focused on proper Object-Oriented Design (OOD), comprehensive handling of edge cases, and incorporating extensibility via the Strategy Pattern.

#bitGo SDE2
bitgo logo
Bitgo
SDE II5 yearsRejected
October 16, 202527 reads

Summary

I interviewed for an SDE2 role at bitGo, experiencing multiple technical and behavioral rounds focusing on algorithms, system design (LLD/HLD), and cultural fit. Despite my efforts, I was ultimately rejected.

Full Experience

I had an interview experience for an SDE2 position at bitGo. I have 5 years of experience, with a one-year gap due to medical reasons, and my prior background is in finance and insurance companies.

The interview process consisted of several rounds:

1. Online Assessment (OA): This round had two questions covering topics like tries and anagrams.

2. Round 2: This was a technical round where I was asked a question about finding the diameter of a graph, with the specific condition that the graph would not contain any cycles.

3. Round 3 (Machine Round - LLD): This round focused on Low-Level Design, and I was given a task to design a SQL database.

4. Round 4 (Hiring Manager): This discussion-based round involved questions about bitGo, my past work experiences, and blockchain technology.

5. Round 5 (Cultural Fit): This round consisted of general questions to assess cultural fit within the company.

6. Round 6 (HLD): The final technical round was a High-Level Design discussion where I had to design a Transaction Indexer System.

After completing all rounds, the final verdict was a rejection, as they found better-matching candidates.

Interview Questions (3)

Q1
Diameter of an Acyclic Graph
Data Structures & AlgorithmsMedium

I was asked to find the diameter of a graph, with the specific constraint that the given graph would not contain any cycles.

Q2
Design a SQL Database (LLD)
System Design

In a machine round focused on Low-Level Design, I was tasked with designing a SQL database.

Q3
Design a Transaction Indexer System (HLD)
System DesignHard

The High-Level Design round required me to design a Transaction Indexer System.

BitGo E2
bitgo logo
Bitgo
Offer
October 15, 202530 reads

Summary

I interviewed with BitGo for an E2 role, successfully navigating through an Online Assessment, Data Structures & Algorithms, Low-Level Design, High-Level Design, and a Hiring Manager round, ultimately receiving a 'Hire' verdict.

Full Experience

My interview process with BitGo involved several stages.

Online Assessment

The Online Assessment included two coding problems:

  1. A problem to find the shortest path between a given source and target.
  2. A question related to anagrams, which felt familiar as I had seen similar OA questions mentioned by others.

Round 1 (DSA)

This round focused on Data Structures and Algorithms.

  1. The first problem involved analyzing a meeting transcript to find the top k most talkative people in the meeting. I had to decide on a proper input format myself. My approach was to use a heap.
  2. The second problem was the classic LeetCode Min Stack problem.

Round 2 (LLD)

This was a Low-Level Design round. I was tasked with designing a notification service. The requirements included building a backend application (using Express or any Node.js framework) with APIs for creating notifications (POST), getting a single notification, and getting all notifications with filters. The expectation was to use Factory and Strategy patterns, and to save data in memory without database persistence. I learned a friend of mine had a similar round but used Python and was rejected.

Round 3 (HLD)

The High-Level Design round challenged me to design a system for creating and managing multiple cryptocurrency wallets. Key requirements included user login, the ability to create wallets for specific asset types like Bitcoin, and functionality for depositing and withdrawing funds. The system also needed to support multiple crypto assets such as Bitcoin, ETH, and SOL.

Round 4 (Hiring Manager/Culture Fit)

This final round consisted of standard behavioral and culture fit questions, such as discussing my reasons for wanting to switch roles and details about my current work.

The overall verdict was a 'Hire'.

Interview Questions (5)

Q1
Find Shortest Path
Data Structures & Algorithms

Given a source and a target, find the shortest path between them.

Q2
Top K Most Talkative Person in Meeting Transcript
Data Structures & Algorithms

Given a transcript of a meeting, find the top k most talkative people in the meeting. Need to take a proper input format and decide it yourself.

Q3
Min Stack
Data Structures & AlgorithmsMedium

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

Q4
Design Notification Service
System Design

Design a notification service backend application using Express (or any Node.js framework). It should support POST, Get one, Get all with filters. The solution should utilize Factory and Strategy patterns. Data should be saved in memory, no need for persistence in a database.

Q5
High-Level Design: Crypto Currency Wallets
System Design

Design a system to create and manage multiple cryptocurrency wallets. Requirements include user login, creating wallets for single asset types (e.g., Bitcoin), depositing funds, withdrawing funds, and supporting multiple assets like Bitcoin, ETH, SOL.

Preparation Tips

I had some prior exposure to common OA questions for BitGo, which helped during the online assessment.

BitGo | Staff Backend Engineer
bitgo logo
Bitgo
Staff Backend EngineerRejected
December 26, 202410 reads

Summary

I recently interviewed for a Staff Backend Engineer role at BitGo. The process included an Online Assessment with two graph problems, a first round with a sliding window DSA problem, and a second round focused on Low-Level Design where I had to implement the Snake and Ladder game. Despite solving the LLD problem, I was unfortunately rejected.

Full Experience

My interview journey for the Staff Backend Engineer position at BitGo began with an Online Assessment. This OA primarily consisted of two Data Structures and Algorithms questions, both centered around graphs.

Following the OA, I moved to the first interview round, which focused on another DSA problem. The interviewer presented a medium-difficulty sliding window problem for me to solve.

For the second and final round, the focus shifted to Low-Level Design (LLD). I was given the task of implementing the classic Snake and Ladder game. While I managed to complete the implementation, it definitely took me more time than I had anticipated.

In the end, I received a rejection.

Interview Questions (1)

Q1
Low-Level Design: Snake and Ladder Game
System Design

For the Low-Level Design round, I was asked to implement the classic Snake and Ladder game. This involved designing the core components and logic for the game, including the board, players, dice rolls, and the mechanics of snakes and ladders.

Preparation Tips

Based on the feedback I received, it's clear I need to improve my time management when solving problems and become faster at debugging and fixing errors. I also need to ensure I don't repeat the same mistakes and always cover all possible edge cases in my solutions. This experience highlights areas for me to focus on in future preparation.

BitGo | Senior Backend Engineer | Bangalore | July 2024 ~[Ghosted-> Rejected]
bitgo logo
Bitgo
Senior Backend EngineerBangalore3.5 yearsRejected
August 24, 20240 reads

Summary

I interviewed for a Senior Backend Engineer position at BitGo in Bangalore. The process included an LLD round focused on the Snake and Ladder game and a DSA round involving dynamic programming problems. Despite positive feedback on my performance, I was ultimately rejected.

Full Experience

I applied for the Senior Backend Engineer role at BitGo in Bangalore, coming from an SDE-2 position at a Japan-based Fintech company with 3.5 years of experience. My current compensation was ₹24,82,000 INR per annum.

First Round | June 2024 (Low-Level Design)

For the first round, the interviewer presented me with a challenge to implement a Snake and Ladder game, along with several bonus improvements tailored for a senior-level engineer. I focused on designing a robust and extensible system, and I successfully cleared this round.

Second Round | July 2024 (Data Structures and Algorithms)

In the second round, I faced two challenging DSA questions. The first asked me to find the maximum sum of non-adjacent elements within a tree, and the second was a similar problem but for an array. I was able to articulate and implement solutions for both problems, achieving linear time complexity for each. While I felt I performed well and the interviewer expressed satisfaction with my approach, I suspected there might have been room for even further optimization. Following this round, I experienced a period of being ghosted by HR. Eventually, I received a call informing me that I did not perform well enough, though I suspect the position might have been filled in the interim. I had initially discussed a compensation expectation of ~32 LPA, which HR seemed ready to offer.

Outcome

Despite my best efforts and what seemed like a positive interview experience, I was unfortunately rejected.

Interview Questions (3)

Q1
Low-Level Design: Snake and Ladder Game
System Design

Design and implement a Snake and Ladder game. The problem required incorporating several bonus improvements suitable for a senior-level engineering role, focusing on low-level design principles.

Q2
Maximum Sum of Non-Adjacent Elements in a Tree
Data Structures & Algorithms

Given a tree, find the maximum sum of elements such that no two selected elements are adjacent (i.e., directly connected by an edge). I was expected to provide the best approach, aiming for linear time complexity.

Q3
Maximum Sum of Non-Adjacent Elements in an Array
Data Structures & Algorithms

Given an array of integers, find the maximum sum of elements such that no two selected elements are adjacent. I was expected to provide the best approach, aiming for linear time complexity.

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.

BitGo | SDE2 | Feb 2022 [Reject]
bitgo logo
Bitgo
SDE IICA5 yearsRejected
April 11, 20228 reads

Summary

I interviewed for an SDE2 role at BitGo in February 2022. I successfully navigated through the HR and hiring manager rounds, but ultimately received a rejection after the final onsite technical rounds, despite solving most of the given problems.

Full Experience

I applied for the SDE2 position at BitGo. My background includes 5 years of experience in India and Abu Dhabi, with a focus on Distributed services, Kafka, and NoSQL/SQL databases, and I'm currently pursuing a Master's in Software Engineering at ASU. I felt confident with leadership principles questions.

The interview process started with a Round 1: 15-minute HR intro call, which I passed.

Next was Round 2: 45-minute call with the Hiring Manager. This round focused on my resume and work experience, and I successfully passed it as well.

The final stage was Round 3: Onsite rounds consisting of 3.5 hours, which included multiple technical sessions:

  • Round 3.1 - 45 minutes: Data Merging

    I was asked to merge two sorted arrays (Part 1a) and then generalize it to X sorted arrays (Part 2a), discussing space and runtime complexity for both. I initially used a merge sort approach, achieving O(N) time complexity. After discussion, I also considered an optimized approach using a priority queue. I made sure to discuss my solution before coding, which was helpful.

  • Round 3.2 - 45 minutes: Stock Search by Prefix

    This problem involved finding all stocks starting with a given string from a list of company names and their stock values. I immediately identified and implemented the most efficient solution using a Trie data structure, completing it within O(N) time complexity.

  • Round 3.3 - 45 minutes: Remove Minimum Parentheses

    I was given a string with alphanumeric characters and parentheses and asked to remove the minimum number of parentheses to make it valid, returning any possible result. I approached this using a stack to validate parentheses and iterate through the string, achieving O(N) time complexity.

  • Round 3.4 - 45 minutes: Reorder Linked List

    The final coding challenge was to reorder a singly linked list from L0 -> L1 -> ... -> Ln to L0 -> Ln -> L1 -> Ln-1 -> .... Unfortunately, I was unable to complete this code within the specified O(1) space and O(N) time complexity constraints during the interview.

Overall, I received a rejection.

Interview Questions (4)

Q1
Merge K Sorted Arrays
Data Structures & AlgorithmsMedium

Part 1a: Given 2 data arrays (size P and size Q) with sorted values, how do you get a merged sorted array?

Part 1b: What’s the space and runtime complexity?

Part 2a: Give X data arrays (with total element size Y) with sorted values, how do you get a merged sorted array?

Part 2b: What’s the space and runtime complexity?

Q2
Find Stocks by Prefix
Data Structures & AlgorithmsMedium

There is a list of company names given with stock value. For example [("AA", 10), ("AAPL", 160), ("AMD", 115), ("AMZN", 2900), ("ABNB", 2900)]. You have to return all the stocks which start with a given string provided by the user. For example: findAllStockWithAA("AA") should output - AA, AAPLE.

Q3
Remove Minimum Parentheses to Make Valid
Data Structures & AlgorithmsMedium

Given a string with alphanumeric characters and parentheses, remove the minimum number of parentheses such that the resulting string is valid and then return ANY possible result.

A valid string is any assortment of alphanumeric characters with parentheses balanced:

  • ( comes before )
  • Each ( needs a )

Examples:

  • s = "))))a(" -> "a"
  • s = "((()" -> "()"
  • s = "c(ry(pt(o)" -> "crypt(o)" or "c(rypto)" or "cry(pto)"
Q4
Reorder Linked List
Data Structures & AlgorithmsMedium

Given a singly linked list: L0 -> L1 -> ... -> Ln-1 -> Ln, reorder it to the format: L0 -> Ln -> L1 -> Ln-1 -> ...

Examples:

  • Input: L0 -> L1 -> L2 -> L3 -> L4 -> L5
    Output: L0 -> L5 -> L1 -> L4 -> L2 -> L3
  • Input: L0 -> L1 -> L2
    Output: L0 -> L2 -> L1
  • Input: L0 -> L1
    Output: L0 -> L1

Have a Bitgo Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Bitgo.