Ask HN: I've got an "algorithm-centric" interview soon and no CS degree. Help?
Hi guys,<p>I've been working at a well-known firm for about two years as a software dev. However, I just received a interview for an even better shop, Google. In the interview coming up, there are supposedly a lot of questions about algorithms an data structures, etc. I know enough to hold my own as your average developer, but I've never had a full course in this stuff. I used to be a physicist, so I'm good with math, but I'm really nervous about trying to beef up with so little time, a couple of weeks. Any ideas for someone like myself to get a crash course in this stuff?<p>Thanks for any help! Not to be judgemental, but perhaps you should ask yourself whether you'll be happy with (and able to perform the duties of) a job that you crammed for to pass the interview loop. Sounds like you may end up getting in over your head. That being said, internalizing the following is a good place to start: Good luck! That's a fair criticism indeed. I'm counting on being as honest with them, saying that I don't have a really strong background but I can grok the principles very easily. I'm fortunate enough to be able to understand this stuff but unfortunate in that I chose the wrong major :) Just about the only thing you need to know - careercup.com. No I'm not spamming, that has questions from all sorts of companies, Google included. Not as a way to memorize answers, just to let you know & help get you up on, the kind of things you'll get asked. Here's another good post on the whole thing, the comments are good, too: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog... He's verbose, but skip to where he's talking about what you're after.
There's a bunch more, but that sort of stuff comes up often in interviews. The main point, however, is that you need to internalize it. Just reading about it, you won't be able to really apply it in a high pressure situation like an interview loop. basic tree (or more generally graph) algorithms and structures
sort algorithms
recursion
principles of OOP
probability
memory manipulation
stack/heap principles