Even if we accept CS101-styled timed coding questions as a necessary evil to weed out the fakers, having recently been on the receiving end of some of the "system design" questions recently, I must say it's a really really bad idea to (1) having these subject to a tight time limit, and/or (2) treat this as if it's a standardized test.
The worst offenders (according to myself):
- Expected me to "design a xxxxx-ing system" (topic redacted but it's really broad) in 25 minutes. This is barely enough to get to narrow down the scope and clarify the requirements.
- Presented me with a specific problem using almost exclusively domain-specific jargon, without explaining any of it. Time limit is 30 min. Not wanting to "waste" all my time budget clarifying, but apparently (1) they did not like anything about what I hacked up (2) wouldn't give any feedback on why they didn't like it either. Ended up really awkward.
- Presented me with a more normal, self-contained design problem (finally!). Time limit is 45 min (seemed reasonable?). So I proceeded normally. However after the interview I was informed that during this 45 min I did not cover a certain topics "A, B, or even C", and therefore scored really low. Apparently, lack of a signal for them is an anti-signal.
The list can go on and on; point being, while the coding questions have been thoroughly calibrated, esp. w.r.t. what is a reasonable time to solve each question, more likely than not a "system design question" is poorly designed. Even from an employer's perspective, I'd be confused about what kind of signal these interviews are designed to extract. Yet, our industry as a whole is increasingly more keen on gatekeeping "Senior+" positions with them (alongside with other draconian measures).
My take on how they can be improved, if not abolished altogether:
1. Relaxing the time limit to say 75 minutes; better to have some people "finish" early;
2. Train the interviewers to help with setting expectations on the pace
3. Either have the interviewer nudge the candidate when the open-ended question receives an unexpected take, or be ready to evaluate them fairly.