Applied on LinkedIn. Got a screenig call from HR for a 30 mins regarding current role details and expectations, followed by the hiring process.
YoE - 3
Round 1: Hiring Manager round
Duration: 45 minutes
Discussion: Pretty friendly conversation and a normal discussion about current work and projects and then discussion about singlestore and the team in which I would work. Some Go related discussion as well since it was required for the role.
Round 2: Technical round(Navigating into unknown codebase)
Duration: 1 hour
Task: I was asked to login to an unknown codebase in an EC2 machine and I used VS code's remote login for the same to avoid doing things using vim at the command line. It was a popular keyvalue database and was asked to add some functions based on existing ones, changes were small and interviewer was really friendly. Was able to complete the functionality in given time and demo it.
Round 3: Technical round(DSA)
Duration: 1 hour
Task: Variation of a adding next right pointer to each leaf node in a binary tree, did quickly in O(N) using bfs and was asked to optimize. Got some hints and was able to do it in O(1) as well. Then some more follow ups in this like if tree is not perfect etc.
Round 4: Techincal round(Golang)
Duration: 1 hour
Task: Started with basics of Golang and then concurrency related questions - channels, mutex, semaphores, etc - was asked to write basic snippet of a semaphore in Go using channels. Then we moved to memory and GC discussions in Go based on a resource pool LLD question. Conclusive discussion around new version of Go and its improvements.
Round 5: Managerial Round
Duration 1 hour
Task: Discussion with VP of Engineering regarding the role and expectations. Some discussion around current project and other common behavioural questions.
Overall the interview process went for around 1.5 months after which I got the offer.
Compensation - Compensation link