Sounds familiar! Not to mention the interview itself being a never ending stream of “tell me about a time when…”
Eventually you’ll get a “No” along with a message that, per policy, they don’t provide feedback. And then you’ll get several emails insisting you send your feedback, because they really want to “improve the process”. *facepalm*
Unfortunately, despite assurances to the contrary, I was generally unimpressed with the quality of the people doing the interviewing. One of them was in his kitchen, while family members moved about behind him. Another didn’t share video, because reasons, making every silence while they made their notes that much more awkward. And another would spend 2+ minutes typing in silence until finally asking the next question, ruining any opportunity for flow or conversation.
Judging by Amazon’s recent growth (prior to the recent layoffs), I’m not sure anyone has had time for any engineering. They’ve all been stuck doing interview “loops”.
Last time I interviewed for Amazon, I couldn’t understand one of the interviewers spoken English. Combination of bad audio (their side, I have a good headset) and accent. I kept asking him to repeat himself and eventually gave up, and tried to guess at what he asked.
I usually defend Amazon (used to work there and enjoyed it) but the last interview cycle was really unimpressive.
Is that a bad thing? A lot of real world problems don't have simple computational complexity. I'd learn more about someone from how they considered heuristic tradeoffs and assumptions that could produce a "good enough" solution to a tough problem than seeing if they could reproduce Dijkstra's algorithm from memory.
You can offer. Nothing about it being NP should prevent your implementing an exact solution, though. It'll be slow as balls on (at least) some inputs, and you should surface that, but maybe they only need something that works for N<5 or something.
That's different than it being undecidable, in which case you have to insist on providing something other than an exact algorithm that handles every input.
For the short story. A few years ago I was sitting a CS exam that was 3 hours of coding and then a defense where you explained what you have done on the board.
You had to compute a graph from a set of points (i think it was knn, not sure) and do stuff on it. At some point of the defense, this happened
Me: I skipped this question.
Examinator: why?
Me: If I compute it using the graph structure, it reduces to max-clique, which is np-complete. I looked for a solution using the point dara but didn't find it
Examinator: can you write an algorithm for max-clique on the board?
Me: here. This is exponential time
Examinator: it's worst case exponential time. But in this case it would have worked, you just had to try it
Me: urgh
Now I've learned my lesson: np-complete doesn't mean impossible
Eventually you’ll get a “No” along with a message that, per policy, they don’t provide feedback. And then you’ll get several emails insisting you send your feedback, because they really want to “improve the process”. *facepalm*
Unfortunately, despite assurances to the contrary, I was generally unimpressed with the quality of the people doing the interviewing. One of them was in his kitchen, while family members moved about behind him. Another didn’t share video, because reasons, making every silence while they made their notes that much more awkward. And another would spend 2+ minutes typing in silence until finally asking the next question, ruining any opportunity for flow or conversation.
Judging by Amazon’s recent growth (prior to the recent layoffs), I’m not sure anyone has had time for any engineering. They’ve all been stuck doing interview “loops”.