2 ms·
Thanks you! This is a really good outline. What is your take on system design questions that follow the "How would you design a Twitter-clone" vein? Do you thin
by aalhour 8y ago
Thanks you! This is a really good outline. What is your take on system design questions that follow the "How would you design a Twitter-clone" vein? Do you think an open-ended question like that would show the interviewer your communication skills and good software design skills?
- mlthoughts2018 8y agoAs long as these questions are focused on projects the candidate already worked on before, then yes, they can be good. When they are canned questions, there is at least one small issue and one big issue. The small issue is that people will research and memorize solutions for common questions like “how to make Twitter” or “how to rank a newsfeed” or “how to ensure fault-tolerance in a distributed file system” (yes, the memorization even covers how to respond to questions in a ~45 minute open-ended conversation). If someone looks good on a design question about e.g. a Twitter clone, it doesn’t tell you much. If someone does bad on it, it probably also doesn’t tell you much unless they totally can’t parse the basic concepts (which should have been weeded out way earlier). The bigger problem is “Guessing the Teacher’s Password”[0] and applies even when you ask non-standard questions that someone couldn’t have memorized ahead of time. As the interviewer, especially if you were prepped in some interview training or team meeting, you will have preconceived expectations about what the “right” answers are and what the right progression of concepts, features, and details would be like. As a result, you’ll favor candidates who happen to “guess” your preferred way of looking at the discussion, even though there could be many perfectly valid alternative ways to think about or discuss the problem that approach it differently, with a different sequence of questions or iterative enhancements. At best this introduces some unnecessary arbitrariness into the pool of qualified candidates. At worst, you are unwittingly self-selecting for people who approach problem solving the same way you do, and are therefore reducing diversity of thought. If the big design question is also unrelated to the day to day job, then this arbitrariness is even worse: rejecting or self-selecting entirely based on your preferences about a toy exercise. [0]: < https://www.lesswrong.com/posts/NMoLJuDJEms7Ku9XS/guessing-the-teacher-s-password https://www.lesswrong.com/posts/NMoLJuDJEms7Ku9XS/guessing-t... >