|
On the off chance that you'll look back and see this, I'll response. Your implication is that data structures are algorithms, and while that certainly may be true, both traditional computer science curricula and hiring tech companies make a distinction between the two. In the latter case, what they call algorithms usually tend to be similar to the kind of "brain twister" problems that Microsoft was famous for. In the former case (academics), data structures include things like stacks, queues, deques, linked lists, and on to graphs and trees. Whereas algorithms are specific procedures carried out with data structures, like sorting and searching, and dynamic algorithms. And then on to much harder stuff, like FFT. My point is simply that I feel comfortable creating stacks, queues, linked lists, graphs, trees, etc., whereas when someone asked an open-ended algorithmic question to be solved on the white board or phone, I struggle under the pressure and gazing eyes of multiple interviewers to solve these problems (whereas I do fine in my own environment with only the pressure of finishing a job). |
> My point is simply that I feel comfortable creating stacks, queues, linked lists, graphs, trees, etc., whereas when someone asked an open-ended algorithmic question to be solved on the white board or phone, I struggle under the pressure and gazing eyes of multiple interviewers to solve these problems (whereas I do fine in my own environment with only the pressure of finishing a job).
I actually do way better in the interview than when I just have to convince the computer (or myself). Enough confidence often persuades interviewers to accept handwaving.
That advantage is unfair, and makes the interview less predictable of success on the job; but I won't complain. For you, I can only recommend practice, or looking for companies with different hiring procedures.