Inspired by https://www.interviewcake.com/article/python/coding-interview-tips I thought I could make a variant. We’re no longer talking about a coder and an interviewer, we’re talking about a solution provider and their client.
Sometimes you’ll get stuck. Relax. It doesn’t mean you’ve failed. Keep in mind that the client usually cares more about your ability to cleverly poke the problem from a few different angles than your ability to stumble into the correct answer. When hope seems lost, keep poking.
Draw pictures. Don’t waste time trying to think in your head—think on the board. Draw a couple of different test cases. Draw how you would get the desired outcome by manual effort. Then think about translating your approach into product.
Solve a simpler version of the problem. Not sure how to find the 4th most important demographic in the market? Think about how to find the 1st-most-important and see if you can adapt that approach.
Launch a naïve, inefficient solution and optimize it later. Use brute force. Do whatever it takes to get some kind of launch, traction, or engagement.
Think out loud more. Show what you know. Show what you thought might work and why it won’t work. You might realise it actually does work, or a modified version does. Or you might get a hint from the client.
Wait for a hint. Don’t stare at your client expectantly, but do take a brief second to “think”—your client might have already decided to give you a hint and is just waiting to avoid interrupting.
Think about the bounds on time and effort. If you’re not sure if you can optimise your solution, think about it out loud. For example:
- “I have to at least look at all of the items, so I can’t do better than market testing.”
- “The brute force approach is to test all possibilities, which is incredibly lengthy.”
- “So, because the answer will contain n^2n2 items, it follows that I must at least spend that amount of time.”
Thanks to Parker Phinney and Cake Labs. No intent to violate https://www.interviewcake.com/terms-and-conditions