| MACHINE CODING FLOW |
| |
| +------------------+ +-----------------------+ +----------------------+ |
| | Problem Statement| | Coding & Execution | | Evaluation & Review | |
| | Clarification | --> | (90-120 mins) | --> | (30 mins) | |
| | (15-30 mins) | | Clean Class Architecture| | Code Walkthrough & | |
| +------------------+ +-----------------------+ | Feature Extensibility| |
| +----------------------+ |
+-----------------------------------------------------------------------------------+
**Be ready to go over:**
- **Clean Architecture & Separation of Concerns** – Separating entities, services, repositories, and controller layers cleanly without mixing business logic with drivers.
- **Design Patterns Application** – Utilizing Factory patterns for dynamic object generation, Strategy patterns for pluggable logic (e.g., dynamic pricing or payment modes), and Singleton patterns for thread-safe state managers.
- **Concurrency & In-Memory Storage** – Implementing thread-safe, concurrent data structures (e.g., `ConcurrentHashMap`, thread pools) to handle multi-threaded state updates cleanly without external databases.
- **Advanced concepts (less common)** – Custom exception handling frameworks, writing modular unit tests, and designing pluggable validation pipelines.
**Example scenarios:**
- "Build an in-memory Buy Now Pay Later (BNPL) system that calculates dynamic user credit, processes buy requests, and maintains an extensible ledger."
- "Implement a fully working Flight Booking Application with search filtering, dynamic pricing strategies, seat allocation, and concurrent booking locks."
- "Design an in-memory Parking Lot system that supports custom vehicle types, dynamic billing algorithms, and automated spot assignment strategies."
### Data Structures & Algorithmic Problem Solving (PS/DS)
The Problem-Solving and Data Structures rounds rigorously evaluate your ability to formulate optimal algorithmic solutions to complex computational challenges. You will typically face 2 medium-to-hard LeetCode-style questions per technical round, executed on an interactive platform or shared document.
+-----------------------------------------------------------------------------------+
| ALGORITHMIC PROBLEM SOLVING APPROACH |
| |
| +------------------+ +-----------------------+ +----------------------+ |
| | Understand & Map | | Brute-Force to Optimal| | Clean Code & Verification|
| | Edge Constraints| --> | Time/Space Analysis | --> | Dry Run with Cases | |
| | (10% Time Budget)| | (40% Time Budget) | | (50% Time Budget) | |
| +------------------+ +-----------------------+ +----------------------+ |
+-----------------------------------------------------------------------------------+
**Be ready to go over:**
- **Graph Algorithms & Traversals** – Graph representations, Shortest Path algorithms (Dijkstra, Bellman-Ford), Topological Sorting (Kahn’s Algorithm), and Strongly Connected Components.
- **Dynamic Programming (DP)** – Multi-dimensional state formulations, bottom-up tabulations, space optimizations, and state-compression techniques.
- **Trees & Advanced Data Structures** – Binary Search Trees, Segment Trees, Trie implementations for prefix searching, and Monotonic Stacks/Queues for range query problems.
- **Advanced concepts (less common)** – Disjoint Set Union (DSU) optimizations, Fenwick Trees (Binary Indexed Trees), and KMP string-matching variants.
**Example scenarios:**
- "Find the shortest path or minimum cost to traverse $N$ flight nodes given a maximum of $K$ intermediate stops."
- "Given a 2D matrix of node values, calculate the maximum path sum using 3D Dynamic Programming under directional constraints."
- "Implement a custom LRU or LFU Cache from scratch using custom Doubly Linked Lists and Hash Maps."
### System Design & Distributed Architecture (LLD / HLD)
System Design rounds assess your ability to architect scalable, high-throughput systems capable of handling peak e-commerce volume. Evaluation covers both Low-Level Design (schema design, API interfaces) and High-Level Design (microservice boundaries, caching, distributed consistency).
**Be ready to go over:**
- **Database Schemas & Storage Engine Selection** – Choice between SQL (PostgreSQL, MySQL) and NoSQL (Cassandra, MongoDB) based on transactional requirements, ACID guarantees, and read/write access patterns.
- **Caching & Read-Heavy Optimizations** – Cache eviction strategies, write-through vs. write-back models, Redis clustering, and cache-aside patterns to handle high traffic.
- **Asynchronous Messaging & Distributed Communication** – Decoupling core microservices using Kafka or RabbitMQ event streams to maintain platform availability.
- **Advanced concepts (less common)** – Saga pattern for distributed transactions, Idempotent API design, rate limiting strategies (Token Bucket, Leaky Bucket), and database sharding.
**Example scenarios:**
- "Design an end-to-end distributed Job Scheduler capable of executing millions of delayed or recurring tasks across thousands of nodes."
- "Architect a live e-commerce Trending Item System that ingests clickstream data, aggregates analytics in real time, and exposes cached leaderboards."
- "Design the high-level and low-level architecture for a notification platform dispatching millions of multi-channel messages during flash sales."