6sense
2 experiences · 1p3a (1) · Other (1)
6sense Staff Backend Engineer Design Interview Experience (8.5+ YoE)
Interview Experience
Candidate Profile: 8.5+ YoE (Full Stack), Tier 1 College, currently unemployed. Company: 6sense (Applied via referral). Problem Statement The High-Level Design (HLD) round focused on designing a system to execute long-running workflows similar to Apache Airflow. * Core Constraint: Specific nodes within the execution graph (e.g., in a flow of A -> B -> C) must be restricted to execute only once at a specific time of day. Proposed Solution The design utilized a microservices architecture centered on horizontal scalability: * Components: A Graph Service for storing definitions, an Executor Service for managing workflow states, and a dedicated Scheduler for time-gated jobs. * Execution: Scalable ephemeral workers (using AWS Lambda or Go threads) to run the jobs. * Infrastructure: Kafka served as the event bus, with DynamoDB or SQL for storage depending on scale. An API Gateway handled authorization and rate limiting. Feedback and Gaps Despite the scalability features, the interviewer identified three main issues: 1. Input Validation: The solution failed to explicitly discuss cycle detection (validating if the graph is cyclic) during the design phase. 2. Kafka Implementation: There was insufficient clarity regarding Kafka scaling specifics (Topics vs. Partitions) and overheads, as my primary experience is with RabbitMQ. 3. Over-Engineering: The interviewer viewed the dedicated scheduler as an over-optimization. They preferred simple database polling given the "once-a-day" execution requirement, whereas I argued a scheduler provided better extensibility for future random-time executions. Verdict: Ghosted.