Summary
I interviewed for an SSE role at Hashicorp in Bengaluru, completing four rounds that included an in-memory file system implementation, a code review, and an in-memory Redis implementation with transaction support, before I withdrew from the process after receiving another offer.
Full Experience
Total exp: ~5 years - mostly product based b2b
Round 1
Online assessment on code signal: 4 levels. Each level required few features in the file system to be implement with given constraints. The file system implementation should be in-memory and not actual files.
Eg: create file with a name and size, delete a file, make a user an owner, backup the system’s snapshot at a given time, recover from the backup etc.
Round 2
Hiring Manager: Talked about the team, products. Discussion on my past work. Typical HM questions.
Round 3
Code review: Given a simple java PR, review and discuss with the interviewer
Round 4
Code pair: Implement in memory redis with transaction support(get, delete, add, txn begin, rollback, commit). Follow up questions on thread safety, distrubited system environments.
Verdict
I dropped out of the process after this since I got an offer, but it seems there were atleast 1 more interview to be scheduled.
Interview Questions (3)
Implement an in-memory file system with given constraints. The file system implementation should not use actual files. Features to implement included: create file with a name and size, delete a file, make a user an owner, backup the system’s snapshot at a given time, and recover from the backup.
Given a simple Java Pull Request (PR), review it and discuss the review comments and suggestions with the interviewer.
Implement an in-memory Redis-like system with transaction support. Supported commands include: get, delete, add, txn begin, rollback, and commit. Follow-up questions were asked on thread safety and distributed system environments.