5 ms·
> Just spend a year playing topcoder in your spare time and you could ace any of the questions I got. I wouldn't call this gaming the system. Doing a year of s
by praptak 13y ago
> Just spend a year playing topcoder in your spare time and you could ace any of the questions I got.
I wouldn't call this gaming the system. Doing a year of such training would raise your actual skill.
- tobyjsullivan 13y ago"I cheated on the test by studying really hard"
- WalterBright 13y agoI've often been bemused that people will expend more effort finding ways to cheat than if they just learned the material.
- seanmcdirmid 13y agoI cheated on my ACTs/GREs by using prep material and studying really hard. Got really good scores, didn't learn a damn thing. You can always game a test that you know ahead of time by prepping, it has no correlation on your non-prepping abilities though.
- kevingadd 13y agoThe skills being evaluated in Google interviews (and on topcoder) are of minimal use in most real problem-solving environments. They're a proxy for skill - something many skilled candidates happen to have alongside the skills you actually want. Linked list questions are a favored choice of this class of interviewer despite the fact that 90%+ of programmers will never have a good reason to write a linked list - or even use one, for that matter. It's a CS fundamental and it's important to understand, just like other data structures, but evaluating a candidate's ability to rattle off a particular linked list algorithm on the board doesn't tell you anything about their ability to solve problems customers care about.
- AnIrishDuck 13y ago> Linked list questions are a favored choice of this class of interviewer despite the fact that 90%+ of programmers will never have a good reason to write a linked list - or even use one, for that matter. If you can't write basic algorithms to manipulate linked lists (traversal, reversal, etc) on demand, you almost certainly aren't a good coder. These kinds of questions are a good weed-out pass. They don't correlate with many necessary skills of a good programmer (organization, communication, thoroughness), but at least can detect lack of critical thinking or basic coding chops. They also lead to good follow-up questions that further explore a prospect's critical thinking skills. These questions shouldn't be used to find human compilers. Oversights like minor syntax errors and the like should be ignored. Answers should be interpreted generously. Even then, you might be surprised how many candidates I've seen that were beyond incorrect. They weren't even in the right ballpark. You shouldn't be expected to know Floyd's algorithm [1]. But reversing a linked list? Come on, the solution is 50-100 lines of code, 90% of it boilerplate. 1. http://en.wikipedia.org/wiki/Cycle_detection#Tortoise_and_hare http://en.wikipedia.org/wiki/Cycle_detection#Tortoise_and_ha...
- kevingadd 13y agoI get the impression you didn't read the part of my post where I said these algorithms are useful. The problem is expecting a candidate to have them memorized and be able to rattle off a particular algorithm from memory in a 15-30 minute interview window, when in the REAL WORLD if you don't remember the exact details of an algorithm, you look it up or grab it from a library instead of writing a busted implementation yourself. That's why these questions are unrealistic: They're evaluating a candidate's ability to do something you almost never want them to actually do. Yes, a candidate who can't understand linked lists is probably a bad choice. I never said otherwise. It's lazy to make the leap from that to 'thus, asking a candidate to write a complex data structure utilizing linked lists on the board in 30 minutes is a good idea'. Only if it's something they should actually be able to rattle off like it's no problem... There are lots of ways to evaluate critical thinking and problem solving skills that don't rely on a candidate having memorized the contents of a CS textbook. A better interview question is one that focuses on solving a real problem for a hypothetical customer, because that's what most engineers actually get paid to do. If the problem happens to be optimally solved with a linked list, you can see if the candidate arrives at that conclusion naturally, or guide them towards it if they don't.
- kamaal 13y ago>>Doing a year of such training would raise your actual skill. Hardly, Building something would be your actual skill. Taking a product from an idea, finishing it, having some real users use it. Selling the product, and monetizing. Those are the skills that matter. Coming to storing trivia in your brain. Any decent guy who gets things done can read and work on such stuff. Its an utter waste of time to spend years putting text book knowledge in your brain, unless your profession is teaching.