My Authors
Read all threads
I'm starting to wonder if design interviews are not only useless, but actually contributors to poor design.

I'm still thinking through this, by my reasoning for this is:
There've been times where I've reduced the implementation effort of something by 100x to 1000x, producing in 1 day something that replaced ~1 year of work (proposed or actual).

This has never been with "design interview" reasoning, it's always been domain knowledge.
This doesn't mean you have to be a deep domain expert, in the two most extreme cases, it was something I came to pretty soon after starting work in a new (to me) field.

But it was still after much more time than you get in a design interview.
Interviewers sometimes try to get around this by saying you should questions assumptions, etc., but I don't think this would have worked in either case.

In one case, the solution resolved something that had been an open problem in IR for decades, that's not interview material.
In the other case, the solution was to relax an unnecessary constraint. I think it would've been v. difficult to successfully challenge such a fundamental assumption in an interview, it's probably faster to just build the thing (which is what I did), but not feasible in interview
For my most recent design interview my answers to "how would you scale M up to limit A?" were, in descending order of preference (the interviewers thankfully didn't fail me for this):

1. Buy a solution from N that's known to scale up to 100x A
2. Talk to expert O, who has solved this problem before, ask for other experts to talk to and see what they have to say
3. Read the relevant bits on LWN and LKML, understand how the open source implementation of M by company P works
4. Run experiments, profile, read code, etc.
5. The usual design interview nonsense, boxes and arrows, Fermi estimates, say "pubsub" a few times, etc.

The interviewers very patiently explained to me that solutions 1-4 were invalid and kindly didn't fail me for those (I think most would've), but what's the point of this?
I see a lot of systems that look like they were designed by skipping straight to step (5).

Of course I can't prove a causal link from design interviews, but it seems plausible that design interviews train people to design real systems without understanding the problem domain.
People say these interviews "measure how you think", but @hillelogram has looked into the history for other kinds of interview questions, he found "how you think" was a post hoc rationalization for questions that were originally asked for other reasons.

Likely same here.
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Dan Luu

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!