10 ms·
Good piece, but misleading title. There is a big difference between "cramming" and preparing. Like the author says: "Preparing by learning about a company and i
by micheljansen 9y ago
Good piece, but misleading title. There is a big difference between "cramming" and preparing. Like the author says: "Preparing by learning about a company and its product makes sense. But preparing for an interview by cramming/studying material that is supposedly needed for the job makes no sense."
When I get a candidate who has no sense of the job they are applying for and is not able to ask meaningful questions, it tells me they don't care or don't understand.
If you are completely unqualified for the job, you will be found out, but if the difference in skill/experience is small enough, it's probably best to be honest about the gap. In that case, "studying up" may be a risky investment of your time, but at best it may show your commitment and at worst you will have picked up some new skills :)
- stale2002 9y agoThe issue is that companies like Google EXPECT you to cram on algorithms before the interview. They will even give you a study guide! Being really good at programming on a whiteboard is the name of the game. And studying for this is absolutely useful, and not "cheating" because everyone does it and is expected to do it.
- bla2 9y agoI used to work at Google. I didn't study for the interviews, I just showed up. It went well enough to be hired. I did study CS and know my algorithms and data structures though.
- xsegfault 9y agoYou are probably part of a really a small percentage.
- kcorbitt 9y agoIt would be really interesting to do a study of Googlers and see how much time on average they spent preparing for the interview. Would also be interesting to compare that with average preparation of people who interviewed but didn't get the job. And finally, it would be fascinating to plot career performance at Google vs time spent interviewing. Intuitively I would expect those who got an offer without studying to do better (higher latent intelligence), but I could also see it going the other way (lots of studying correlates with willingness to work hard on boring problems, which is what most Google engineers actually have to do day-to-day).
- marssaxman 9y agoYeah, same here - this "cramming for the Google interview" concept is strange. It's not like the interviewers asked lots of exotic trick questions; they were just making sure I understood CS fundamentals and knew how to solve problems. The interviews did add up to a solid, tiring day of engineering work, but it all seemed like reasonable stuff - they were questions about concepts anyone working at Google ought to be comfortable with.
- stale2002 9y agoAnd some people don't have to cram for there intro to data structures CS class. Other people do though. Perhaps you are one of those people who could just walk in and Ace the final exam for an intermediate data structures and algorithms class taught at colleges.
- akhilcacharya 9y agoNot everyone goes to a top school or does competitive programming. The rest of us have to work at it.
- gspetr 9y agoCan you explain how you kept the algorithms/data structures knowledge in your head fresh enough to pass Google interview on the spot? Were you a fresh grad?
- bdowling 9y agoHow does one become really good at programming on a whiteboard? Should you rent a conference room and hire a couple of people to play the part of the interviewers and just practice?
- sage76 9y agoI don't know about the US, but in India there are coaching institutes where you can pay money to be taught exactly that, how to clear interviews of Google, Amazon etc. They make you practise all sorts of algos on whiteboards.
- stale2002 9y agoThat would work, but you don't have to go THAT far. When I say "program on a whiteboard", I am mostly talking about the google style algorithms questions. The way to practice for those is to just do a whole bunch of them, and talk to yourself, like you are in an interview. It is just CS 201 material. All the material is out there for anybody to study. The best materials are Cracking the Code interview, as well as the Google University github page. There are also free resources out there for doing real life practice interviews, and pairing you up with people who do that. Preparing for the Google Style interview is a whole entire industry.
- winter_blue 9y agoJust use LeetCode: https://leetcode.com/ https://leetcode.com/ They've got the most common algorithm questions asked at the various Big Tech companies. Go through them, and learn to solve/implemented at least 250 of their problems, and you'll be able to able to breeze through most algo interviews.
- bonniemuffin 9y agoI improved my whiteboard coding by interviewing for a lot of jobs that I didn't get. Eventually I got good enough to hire. :)
- spapas82 9y agoThis is only useful to the interview as a process and to the company since it believes that the best hires are the ones that study the hardest. I don't see how this process is useful to the candidate. I mean it is useful if he is actually hired but is there any other usefulness beyond this? Does it improve your skill? Makes you a better person? Is it fun? I don't think so. Also refer to my other comment.
- city41 9y agoI don't think companies necessarily think that. I think most companies resort to algorithm style interviews because they can't think of anything else that is better. You've got a candidate for probably an hour, probably in a room without a computer, what else can you do to exercise their programming knowledge besides toy algorithm problems?
- Spoom 9y agoStudying to interview with a big company definitely improved my skill and knowledge of Computer Science. Not fun, certainly, but to some degree useful outside of the interview.
- sigi45 9y agoI found it interesting/fun. I sharpend my skills and learned new stuff.
- brudgers 9y agoMost companies aren't like Google. It makes sense for Google to encourage cramming on algorithms because the type of programmer Google does not need is one who "doesn't do algorithms" and so the cramming expectation filters against those. The type of programmer Google wants is one who can cram for algorithms in the sense that when there is a problem, the programmer can sit down and research algorithms and distinguish between them and perhaps even come up with a new twist. The other day, I read a rant about an algorithms interview question at some big company (it might have been Google, but I'm not sure and it doesn't matter). Essentially the rant was that the candidate had been asked to implement an obscure version of some widely known and well described function that has O(n) time where all the standard and widely studied and likely to be crammed versions have O(n log n) time -- more or less the question was based on an algorithm of the sort that probably appears in a research journal or conference proceedings and no where else. Essentially, the question was uncrammable. That's what makes it a great interview question. It identifies true genius when the candidate can figure it out on the fly. It identifies ordinary engineering talent when the candidate starts with what they know [an O(n log n) solution] and reasons from there (and perhaps asks for help!] and it identifies people candidates who are applying at Google because it is Google and not because they enjoy challenging problems.
- zerr 9y ago> Google does not need is one who "doesn't do algorithms" and so the cramming expectation filters against those. Except they filter those who "doesn't do algorithms" for free (the prep/cramming takes about 6 months I believe)...
- monster_group 9y agoAbsolutely. As long as there are rules (cramming algorithms) I will practice the hell out and beat you (Google, FB, Amazon,MS) at your own game while playing by the rules. That's my attitude.
- ruleabidinguser 9y ago>is not able to ask meaningful questions Why does this matter?
- micheljansen 9y agoIt matters to us, because we are a very small studio where teams are given a high degree of freedom. In our experience, lack of inquisitiveness or interest in the business is a good predictor for a bad fit. Also, I believe interviews should be a two way street, so I expect to be challenged by a candidate, because it's also up to them to decide if they want to work with us. I do have to note that I mostly do the last interview rounds, after initial screenings and assignment (from home, no whiteboard coding), so I talk to candidates who have had plenty of exposure to things to ask follow-up questions about. Why should it not matter?
- ruleabidinguser 9y agoWhy shouldn't it matter? I don't know! I don't know why it should either. What kind of bad fits are you talking about?