Coinbase L5 Interview
Anonymous User
10932

Got a call from HR regarding a L5 role at coinbase. Below are the rounds I had during my process.

Online Assessment : Aptitude and Behavioural questions.

Questions are simple and basic but the only key in this round is speed as we have to answer 40 questions in 20 minutes. Not sure of the cutoff for this round

Verdict: Cleared

Code Signal Round

As part of this round there will be 4 questions which needs to be solved in 90 minutes. All of these are incremental in nature. First question will be basic and then for every next question there will be some more functionalities added and we should make sure all the test cases are passing without any regression.

For me the question pattern is something similar as below

Question 1: Create a Data Structure which supports Get, Set, Delete, Update Functionalities.
You will be given a Key, Value Pair and we should support the above functionalities.

Questions 2 Along with the above operations we need to support prefixSearch and contains Search

Questions 3 Now for every key there can be an optional field which is TTL. We need to handle all the operations based on the TTL. The test cases are written in such a way that for some operations there are TTL and for some there is no TTL. Given a timestamp we need to return the state of system for any particular operation.

I wasn't able to proceeed to the 4th question due to time

Key to this round is to solve the first 2 problems as fast as we can and DON'T WASTE TIME ON OPTIMIZING THE SOLUTION

Verdict: Cleared

After completing the above two rounds, the interview loop will start which consists of 4 rounds.

	* Code Design
	* Techincal Execution
	* High Level System Design
	* Hiring Manager

Tech Execution

You will be given multiple lists and we need to iterate one element from each list. For instance

Input Lists : [[1,2,3],[4,5,6]]
Output: [1,4,2,5,3,6]

We can use the jave iterator methods and code the solution. I used the iterator methods and used a queue to achieve this.

The follow-up for this is to write two custom iterators.

1. **Basic Iterator** which is used to iterate a given list.
2. **Range Based Iterator** where you will be given a start, end and step. This will also have basic methods like getNext() and hasNext() which should work similar to the normal iterator methods.

Now we need to use the above custom iterators to iterate the list. The input can be a mix of basic and range based iterators. For instance.

Input : [[1,2,3], [4,5,6], [1,6,1]] // [1,6,1] is input for range based iterator. 1 is the start, 6 is the end, 1 is the step

Output : [1,4,1,2,5,2,3,6,3,4,5,6]

Verdict:Cleared

Domain Round : Interviewer presented a problem where there is a large dataset in backend and needs to be displayed on UI. What are the efficient ways to fetch the data. But the answer he is looking for is Pagination. There is a brief discussion on different methods and strategies that can be used in Pagination. Trade-offs between different methods and which method should be choosed in which use case.

After the discussion interviewer asked me to code Cursor Based pagination on sample dataset he have. Please be prepared to support a lot of features in your implementation. I was asked to implement limit, multiple filters and nextLink as part of my implementation.

I was able to code all of those but there is no time to test the code.

Verdict: No Hire

High Level Design: Crypto Dashboard and Price Ticker

We need to design a system which should query the data from multiple exchanges and display the data on a dashboard. We need to display only the currency name, current price, price trend.

Most of the questions of this round are regarding the frequency at which we fetch the data, strategy to display the data with minimum latency, and build a scalable system to support 1B users. Its just like a typical system design interview.

Verdict: Cleared

After 3-4 days, received a call from HR saying that the Domain Round Intreviwer gave a No Hire because of which we are not able to proceed further.

But Nevertheless it was a good and different experience.

Comments (14)