Computer Scientist - 1
Interview Date
December 11, 2024
Result
Selected (Offer)
Difficulty
—
Rounds
4 Rounds
Drive Type
Full-Time
Topics asked
Detailed experience
College: Not Specified
Interview Date: December 11, 2024
Interview Type: Full-Time
Result: Selected (Offer)
Difficulty: Not Specified
Rounds: 4 Rounds
Topics Asked: Behavioral, Data Structures, Algorithms, Binary Trees, Hashmap Internal Implementation, System Design, Operating Systems, Concurrency, Puzzles
The candidate applied for a Member of Technical Staff - 2 role with a referral, and a recruiter reached out for preliminary discussions.
Round 1: Included behavioral questions related to current work experience. Coding problems were "Two Sum" (find two numbers in an array that sum to a target, with optimal approach) and "Binary Tree Mirror Image" (print the mirror image of a binary tree, requiring both recursive and iterative solutions).
Round 2: Involved a very detailed discussion and coding of the internal implementation of a hashmap. This covered rehashing, load factor, hash code calculation, collision handling, worst-case time complexity, generic keys and values, and areas for improvement and optimization.
Round 3: Focused on data structure and concurrency problems. "Middle Stack" involved implementing a stack that supports `get middle`, `insert middle`, and `delete middle` operations, all in O(1) time complexity. "Producer Consumer Problem" required writing code to simulate restaurant behavior with multiple people taking, serving, and cooking orders in parallel, considering race conditions and overflow, with follow-ups on auto-scaling and infinite capacity.
Round 4: Questions included "What exactly happens when a program crashes?", "How does a crashed program affect other programs?", "How can crashes be prevented?", and "Will prevention mechanisms foolproof the program from crashes?" Another question was about converting an event-driven system into an API-based system (related to the candidate's project). A system design question involved querying trains passing through a particular railway station given thousands of stations and train schedules. Standard hiring manager questions like reasons for job switch and "why Adobe" were also asked. The candidate received an offer and was upgraded from MTS-2 to CS-1 due to salary expectations and positive interview outcomes.