Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been there. I think the idea is to look for people who can "solve problems" and can use the right algorithm for the right problem. In the end, it seems that candidates just spend a lot of time practicing algorithm problems in online competitions to get good at the questions so that they can recognize the base problem in interview questions and implement answers really quickly. Just because you've been spending hours doing online competitions and remember algorithms really quickly doesn't make you a good engineer in my book. Especially when you will probably forget all of them the second you get your job and stop practicing.

I can't blame other people for studying for tests, I can just blame the tests.



Have you actually ever competed in online competitions like Topcoder or algorithm competitions like ACM ICPC?

For solving these kind of problems knowing a bunch of known algorithms won't take you too far. They will only be useful in the beginner stages, but as you progress you need to invent new algorithms, make modifications to the existing algorithms (so they test that you really understand the idea behind them), combine different algorithm design techniques, etcetera.

They are often a good proxy to test how creative in problem solving you can be, not just mere rote memorization of algorithms and how good are you at remembering known algorithms.


I am a region finalist & happen to know a few ICPC world finalists, and though one of them is very sharp analytically, I am not sure how good a proxy such problems are for a web developer, or even for most technical positions. Some of the best problem solvers I know CS-wise (not algorithmic puzzle solving, but real CS research/ implementation) are not that fast of thinkers to do very well in such circumstances without a lot of pattern matching through practice.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: