The process started on a positive note — the recruiter George was professional, communicative, and set clear expectations going into the technical rounds. Unfortunately, the reality of the interview did not match what was promised.
Before the coding round, the recruiter explicitly stated there would be no LeetCode — only a practical assessment of data structures knowledge in a real-world context. What followed was far from that. The question involved designing a system to store and search incoming stories with timestamps, which on the surface sounds practical. However, the expectations quickly revealed a mix of OOP design, clean code, type hints, and pure algorithmic LeetCode — all crammed into a single 50-minute session.
To be clear: the individual components of this question are each valid in isolation. Designing a clean class hierarchy with a Story and StoryManager, using a hashmap to store stories efficiently, and implementing binary search to find stories within a time interval are all reasonable topics. But expecting a candidate to fully implement all of that — including two binary search variants to find lower and upper bounds within a time range — in under 50 minutes is unrealistic, regardless of experience level. Each of those pieces alone could fill an entire interview slot.
I initially proposed an O(n) linear scan solution, which the interviewer dismissed as brute force and pushed me toward binary search. Fair enough — but then requiring a complete, working implementation of both bounds in the remaining time crossed the line between a practical coding assessment and a pure algorithmic sprint.
With 15 years of industry experience, I understand the value of algorithmic thinking, but conflating system design, OOP, and LeetCode-style algorithm implementation into a single session — while calling it a real-world problem — is misleading and does not reflect how software is actually built. The rejection came quickly with no meaningful feedback, which made the experience feel dismissive rather than constructive.
I would recommend future candidates prepare for LeetCode-style questions regardless of what the recruiter tells you going in.