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
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!