6sense | Staff Engineer Backend | Interview [Ghosted]
Anonymous User
544

YoE: 8.5+ (Full Stack)
Employment status: Unemployed (previously in a mid SaaS startup)
College: Tier 1

I applied to 6sense through referral.

First round was high level design round.
The question was mainly around executing long running workflows like Apache Airflow with a modification that certain part of these workflows should be executed once at given time in a day. Mainly, if execution graph is like A -> B -> C, then jobs of type B can only run once at a given time of day. HLD was completed with event buses / kafka, etc. with a scheduler for these kind of jobs. So, mainly graph service for storing graphs, an executor service for executing workflows & maintaining their states backed by Dynamo / SQL database depending upon scale, scheduler if there are jobs of type B & scalable ephemeral workers like lambda or go threads for executing jobs ready for execution. Kafka was mainly supposed to be used as event bus.

HLD was designed with things working in place for workflows. Every service, event bus & database was designed to be horizontally scalable. So, scale could be managed. Latencies can be controlled via number of these instances. Also, authorisation, rate limiting, etc. was done with API gateway layer. Mainly, things that were missed as per interviewer:

  1. In HLD, no discussion about input validation ie. whether graph is cyclic or not was there even after asking about sample inputs like some structure based on JSON. No discussion about this was provided but only "if something is missing" statement. Since interviewer solved this in past, you are expected to know about it in 1 hour interview. Mainly, you should detect whether graph is cyclic or not in HLD.
  2. Kafka can be scaled for enough event load. Had some discussion whether to use topic or paritions where i was not clear. Did not know about topic overheads. So, clearly informed him that as i mainly worked on RMQs.
  3. Scheduler was considered an over-optimisation. Database polling could have done the job as granularity was once a day. Discussed that it makes design extensible to execute jobs at random times.

In a nutshell, you are supposed to know interviewer's mind & create exact solution what he expects.

Verdict: Ghosted.

PS: You will be rejected if interviewer has pre-biases & made up mind to reject you.

Comments (1)