WeWork Bangalore SDE2
Summary
I interviewed for an SDE2 role at WeWork Bangalore, completing three rounds that included data structures, system design, and a variation of LRU Cache with TTL. Unfortunately, I was rejected.
Full Experience
I recently interviewed for the SDE2 position at WeWork Bangalore, which consisted of three challenging rounds.
Round 1: This round focused on a scenario-based problem involving HashMap and Priority Queue. I was asked to design a system where, given routes for a particular location, I needed to identify and print the top 5 rated routes, ensuring they were properly sorted.
Round 2: The second round delved into a classic design pattern: LRU Cache, but with an added twist – Time To Live (TTL) functionality. I had to implement an LRU cache that not only handles recency but also evicts entries based on an expiration time.
Round 3: The final round was a High-Level Design (HLD) discussion where I was tasked with designing a Stock Application. This involved outlining the architecture, key components, and data flow for a system managing stock market interactions.
Ultimately, after completing all three rounds, I received a rejection.
Interview Questions (3)
Design a system where, given routes for a particular location, I needed to identify and print the top 5 rated routes, ensuring they were properly sorted. This problem requires efficient storage and retrieval, likely involving a HashMap to group routes by location and a Priority Queue (min-heap) to keep track of the top 5 routes based on their ratings.
Implement an LRU (Least Recently Used) cache data structure that also incorporates a Time To Live (TTL) mechanism. This means that in addition to evicting the least recently used item when the cache is full, items should also expire and be removed after a certain time duration, even if they are recently used. The solution needs to manage both recency and expiration efficiently.
Design the high-level architecture for a comprehensive stock application. This system would typically involve functionalities such as real-time stock quotes, user portfolio management, order placement (buy/sell), user authentication, and data persistence. The design discussion would cover scalability, reliability, data consistency, and component interactions.