This is for a Software Engineer position.
Phone Screen:
https://leetcode.com/problems/design-in-memory-file-system/
Design this in an Object Oriented manner.
Include error checking for when creating a file in a non existent directory.
On Site:
Coding Round:
Design a board game like connect 4.
Build an Object Oriented manner.
Implement for winning the game in horizontal and vertical manner.
Follow up: implement to winning diagonals
Follow up: implement a rudimentary AI to play with (select random spot to place move)
Coding Round:
You have exchange rates from one currency to another USD -> BTC [some value]
Use a list of exchange rates for currencies and determine the greatest value you could get.
Basically like a DFS graph problem, find all paths from Start currency -> End currency.
Maintain the max and then after explored all paths from start -> finish, return the max exchange
System Design:
Design a ordering system for stocks.
Users will place orders and cancel orders.
Think about race conditions when trying to cancel an order before executed.
Users can also schedule orders in the future.
Behavioral:
Basically prepare situations and answers from the Coinbase values list.
https://www.coinbase.com/mission