Whiteboard Interviews Are Crap, But...
Algorithm whiteboard interviews are a crappy way to evaluate a candidate. They often boil down to whether you've memorized the algorithm that can be applied in a particular situation, and they're rarely representative of the work you'll be doing early in your career (or even later in your career)
But wait!
The practice of deriving and implementing algorithms is incredibly valuable for you, the budding engineer. It's not because you need to know when to use Dijkstra vs A-Star. If you're ever faced with that conundrum, the answer is available to you in a million places on the internet. No, the reason that it's so valuable is that it hones your ability to break a problem down into small, clearly defined sub-problems and implement them concretely.
This is what you do a dozen times a day as an engineer. This skill is applied to everything from component design to feature implementation to application architecture to setting strategic and staffing goals for your department or organization. They all rely on your ability to do the following:
- Define your end goal in unambiguous terms
- Determine the steps required to get there, where those steps have clear inputs and outputs
- Implement those steps concretely, in a way that provides measurable progress toward your goal.
To me, this is the very definition of engineering. This is the skill that will serve you for your entire career. Starting tomorrow and through next week, we're going to get some practice at it.
Next Up:
A Coding Exercise
Previously:
Go Deep