4 ms·
I think it's rather silly to "prepare" for an interview, but IMHO what they expect at Google/Facebook/Amazon/Microsoft is not something you should really need t
by dietr1ch 9y ago
I think it's rather silly to "prepare" for an interview, but IMHO what they expect at Google/Facebook/Amazon/Microsoft is not something you should really need to prepare for if you took the time to really understand the algorithms and general techniques you study as a CS undergrad.
Rehearsing at a relaxed pace over a single weekend should be more than enough, particularly to get used to discuss your ideas and using a whiteboard.
- ng12 9y agoI completely agree. Every time I start a job search I dust off my copy of "Cracking the Coding Interview", do a half dozen problems on HackerRank and I'm good to go. Sure, it's not exactly the skillset a professional software engineer needs -- but if you're a professional software engineer it really shouldn't be that hard.
- czardoz 9y agoYou're absolutely right. The problem with these kinds of courses is that you will now be competing with people who have been specifically taught how to prepare for and crack technical interviews. I am pretty sure that they will perform better than people who just spend a single weekend rehearsing.
- deepGem 9y agoWholeheartedly agree. These companies most likely are trying t o understand the 'why' behind your algorithm choices. Of course, there are exceptions but largely this is the case. Understanding the why only comes to you, if you really understand the algorithms and are able to map those algorithms to use cases.
- akhilcacharya 9y agoEither I’m a bad student or you have an inherent ability that I don’t have. I’ve interviewed at all of those companies and you need a lot more than a weekend to succeed - even my friends with offers took more time to study than that!
- dietr1ch 9y agoNote that it doesn't just take passing grades and a single weekend. Gaining deep understanding is the trick, and it comes from constantly being exposed to CS-like problems. This doesn't need to become something intensive like studying before exams, in fact having a deadline might be really bad for it as you won't think about each thing enough time and the pressure makes you less prone to wonder about the problems. It just needs to get you passively thinking about a problem, mostly abusing on your "background brain-threads" and taking the time to make yourself deeper questions around the problem and the data-structures used, like which problems are similar? which are the properties of the problem that enabled some approach? what's key for the DS to be useful on that problem? are there lower/upper bounds to the solution? why something doesn't work?. Some quick research later on the problem might show you a better way, and then the right question to ask is what did you missed to come up with that, did you ignored some property of the problem that the "right" approach exploited? was it just something you didn't knew about? Going for those kind of questions will make you better at analyzing problems and come up with some strategy to solve them, and when you have that clear getting it written shouldn't take much effort.