Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Honest question, how well do you do in programming interviews? Do you blow data structures and algorithm, etc CS questions out of the water?


view as:

In everyday situations, outside of job interviews, if I feel confident about a situation, and I'm not under time pressure, I often come across as polished.

I've been mistaken for an attorney repeatedly over the past few decades. At least twice, people have thought that I was a government official of some type.

If the confidence isn't there, I do poorly. And I haven't felt confident in interviews because of the types of questions that you're referring to.

I don't memorize data structures and algorithms. I start with projects and learn what's needed in each case.

Coding tests are another problem for me. If you review my GitHub repos or technical site (oldcoder.org) you'll see that my code is reasonably good. But it involves flow. If I drop into flow, I can do anything. But it's difficult to reach that state while somebody is waiting.

I understand, of course, that companies have their processes, and that I need to be the one to adapt as opposed to the other way around.


I'm around 40 and I struggle with the exact same issues, at least with algorithms (I'm pretty much OK with data structures).

Funny thing is, I've enjoyed doing things like Project Euler just for fun, and I can usually work out an algorithm given a little time and the ability to work on my own in an environment I'm comfortable in.

But put me in front of a white board, or phone interview, with one or more impatient interviewers in front of me? I'm toast. Many of these interviewers were studying these algorithms in depth in school only 4 or 5 years ago.

Anyway, I've resigned myself to the fact that I have to earn my own living by freelancing and side projects. I'm doing OK with that, and I hope that an upcoming side project will provide even more financial stability.

Have you considered starting your own company? These days, you don't need much.


"Have you considered starting your own company? These days, you don't need much."

Also a good resume builder, shows you have still been coding since your last job in 2009.


> [..] same issues, at least with algorithms (I'm pretty much OK with data structures).

What's the difference?


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).


Thanks for the reply. Yes, I was going for "data structures are algorithms" bit. Eg what good is a Fibonacci tree without the operations on it? And on the other hand, lots of `algorithmic problems' fall into place naturally, once you have the right data structure.

> 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.


You should study up on algorithms and data structures. You should get some coding interview books and do the problems in them. It will make you more confident, and it'll let people see the skills you have. Unfortunately, traditional interviews are really bad at actually figuring out if someone is a good coder... but if a company you want to work at uses those methods, you have to be able to pass their tests.

Legal | privacy