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.
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:
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.
Author might want to consider how to design a blog with better backend database uptime. ;)
It took me a full minute to realize that this was the (intentional) joke. :)