I'd spent a long time looking through interview reports and hadn't found anyone saying what the Data Infra system-design interview actually covered. I recently did it, so here's my experience.
Getting this interview scheduled was rough. It was originally set for a Wednesday. On Tuesday evening, HR said my experience looked more data-related, so they'd have me do Data Infra system design instead of Product system design. I said either was fine.
Then on Wednesday, HR said the interviewer was sick and moved it to the following Monday.
When Monday came, the interviewer had changed, and another person was shadowing. At first I felt relieved, hoping the interviewer might give me a hand.
The question wasn't difficult: a telemetry system, a fairly classic problem. I'd interviewed on something similar at least four or five times.
I designed the system quickly. At every step, I explained the different options and trade-offs, gave reasons for my choices, and described how I'd design it for different real-world situations.
There was one question where the interviewer didn't seem satisfied: If previously deployed clients used different naming variants for the same telemetry_name, how should our system handle that? I proposed mapping on both the ingestion and storage sides: one to prevent different variants from continuing to generate different metrics, and the other to handle historical data properly. I also mentioned that, generally, when dealing with telemetry names, we don't use fuzzy matching or AI/ML models for clustering, because it's easy to make mistakes and lose important telemetry. But the interviewer kept pushing beyond that.
Sigh. This was the company I most wanted to join. I'd prepared for a long time and took it very seriously. It's a shame; I guess it just wasn't meant to be. Hope this helps everyone.
Discussion
Loading comments…