Best engineering interview question I've gotten
Overall view of the memcached “Mult” interview task
- Many see it as a solid, realistic engineering exercise: modify a real C codebase, add a feature similar to an existing one, and show you can read and extend production-style code.
- Others think it’s underwhelming technically (“milquetoast”) and mostly a copy‑paste of
incrwith+→*, offering little “insight.”
What the question actually tests
- Supporters say it tests:
- Navigating an unfamiliar codebase quickly.
- Reusing existing patterns instead of overdesigning.
- Writing code that compiles, runs, and fits the surrounding style.
- Critics argue it also implicitly tests:
- Environment setup skills (C toolchain, build system).
- Ability to ignore legitimate concerns (locking, overflow, performance) in favor of speed.
- Some emphasize that many candidates can’t even deliver the “bare minimum,” so this is a good filter.
Overengineering vs pragmatism (“Type 1 vs Type 2”)
- One camp views “Type 1” (deeply analyzing locks, races, design) as good engineering and “copy‑paste and tweak” as poor practice, especially in a high‑performance system like memcached.
- The opposing camp sees “Type 1” as analysis paralysis and “Type 2” (clone
incr/decr, change operators, add tests) as the practical, senior‑engineer behavior. - Disputes arise over issues like overflow and non‑commutativity; some insist they must be addressed, others reply that
add/sub/append/set/deletealready have similar caveats and the task’s scope is intentionally narrow.
Time, pressure, and compensation
- The “three hours” figure is heavily debated:
- Some say it’s a 30–60 minute task and three hours is generous.
- Others won’t do any 3‑hour+ unpaid exercise, especially when applying to multiple companies.
- There are calls to pay candidates for this kind of deep‑work assessment; others respond that as long as enough people accept it, companies won’t change.
Comparisons to other interview styles and professions
- Widely preferred over LeetCode/brainteasers by those who like realistic work samples.
- Critics note it still amplifies interview pressure and may filter out good engineers who don’t perform well in timed solo tasks.
- Some compare to other professions: many of them use degrees, licensing, or practical demos instead of ad‑hoc coding tests; software lacks standardized certification, so companies lean on exercises like this.