The first step was an OA on CodeSignal. There was a lot of identity verification along the way — anti-cheating checks.
It was one question with multiple follow-ups, getting progressively harder. The OA email said you didn't need to finish everything, and honestly I don't think it's possible to finish it all — 90 minutes, 5 parts.
The problem gave you template code.
- Implement account creation:
createAccount(account_id) -> None - Implement payment and deposit methods
- Return the top N accounts by number of transactions — this one was still fairly simple, you just had to keep each account's state and its transaction amounts up to date
- Transfers between accounts, which can expire — and everything from the earlier parts still had to keep working correctly. This one was split into two steps:
initializeTransaction(account1, account2, amount) -> transaction_id | None(return None if it can't be done), andaccept(transaction_id)to accept the transaction, where you had to check whether it had already expired. Every method got passed the current timestamp. - Merge accounts. (Didn't get to this one.)
Ended up passing.
Discussion
Loading comments…