1. 1

  2. 4

    I am one of the people that do the System Design Interview at the company I work for, and I would say that “How to Design Twitter”, as presented here, is a poor interview question. It has a number of problems:

    • It’s far too vague. Twitter does a fair number of things. This blog posts pushes a lot of the decisions of what to talk about to the interviewer, which is not going to be a very productive interview unless you have several hours.
    • Not enough details to answer the question in a meaningful way. 100 person Twitter system is vastly different than 1 million person Twitter.
    • It’s unclear how well the author of the blog understands the Twitter problem, the analysis has no discussion of fan-in vs fan-out problem, which a Twitter design question mostly revolves around.

    IME, a good System Design Interview Question requires a question that is well specified but has a lot of possible answers. Even specifying you want to make a newsfeed service like Twitter for 1 million users with an average request rate of blah blah is more than enough to fill an hour long interview. This blog post gives a poorly specified question with a lot of possible answers. I think if one went into a System Design Interview as an interviewer after reading this blog post they would not be prepared to evaluate a candidate.

    1. 2

      Author might want to consider how to design a blog with better backend database uptime. ;)

      1. 2

        It took me a full minute to realize that this was the (intentional) joke. :)