Software Engineer (Experienced)
Interview Date
April 2021 (One round dated May 21, 2021)
Result
Selected
Difficulty
Medium to Hard
Rounds
3 rounds
Drive Type
Off-Campus, Full-Time
Topics asked
Detailed experience
College: Not Specified
Interview Date: April 2021 (One round dated May 21, 2021)
Interview Type: Off-Campus, Full-Time
Result: Selected
Difficulty: Medium to Hard
Rounds: 3 rounds
Topics Asked: System Design, Design Principles, Design Patterns (Command, Observer), Concurrency, Exception Handling, Singleton Class, Data Structures (Queue), HR Questions (challenging situations, conflict, company motivation)
The candidate, previously a software developer at Aptean, applied through InstaHyre and Naukri and received an introductory call from an AiDash recruiter. Preparation involved 6 months of studying Data Structures and Algorithms, problem-solving, Computer Science fundamentals (Operating System, DBMS, Object-Oriented Programming), Low-Level Design, and High-Level Design concepts.
The interview process included a System Design round. The task was to design and code a Stock Brokering system where users could create multiple watchlists with multiple stocks. Stock prices were determined at a Stock Exchange and updated every 2 seconds. The expectation was to design using design principles and patterns and implement it with in-memory Data Structures. The candidate proposed command design patterns and, for designing the whole system with the Stock Exchange, suggested an Observer design pattern, which convinced the interviewer.
In the coding part of this round, the focus was on code structure and flow rather than just implementation logic. During code review, questions were asked about concurrency, Exception Handling, and Singleton class.
Another technical question involved designing an alerting solution for an API that processes requests. Notifications should be sent if there are more than 3 requests in the last 1 second or more than 25 requests in the last 10 seconds. Given a sorted array of timestamps, the goal was to compute the number of notifications. The candidate suggested a queue data structure, handling both conditions by maintaining a queue of objects. The interviewer, however, was looking for a scalable and production-ready code and suggested maintaining 'n' queues for 'n' conditions, leading to a disagreement on space optimization for millions of requests. The interviewer's insistence on their solution being without trade-offs was noted as distressing.
The HR round (dated May 21, 2021) included questions like: "Tell me about the most challenging situation you have worked on," "Situation of conflict with Senior or teammate?", and "Why AiDash?".