The online assessment included the CCAT, team behavior questions, and a technical assessment.
While the CCAT and team behavior sections were satisfactory, the technical assessment was disappointing. It presented a four-part problem focused on implementing an in-memory database with keys and values, where each value was a map of keys and values. The first two parts were straightforward. However, the third part required adding a Time-to-Live (TTL) component.
This was not overly difficult, but the issue arose from predefined function definitions, one of which was pointless (essentially setting a value with a timestamp but without any TTL functionality). During the interview, no clarification was provided on how to handle this specific scenario. This ambiguity led to wasted time as candidates had to debug the test cases to discern the expected behavior.
In my opinion, this function should have been omitted. The assessment could have simply required the implementation of a set function with TTL, as that was the only function truly needed.
The fourth part involved adding backup and restore functionality.
Implement an in-memory database (set, get, delete) with keys and values.
Implement the ability to display values based on a prefix filter of the key.
Implement the ability to set TTL on each record so that if you call get, delete, or view on an expired record, it doesn't perform the action.
Implement a restore functionality.
The following metrics were computed from 34 interview experiences for the Coinbase Senior Software Engineer role in United States.
Coinbase's interview process for their Senior Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Coinbase's Senior Software Engineer interview process in United States.