Bizarre.<p>Yes, Googling an answer to a Google interview question from SO is in fact verboten. A seasoned interview can normally pick that up anyway. But a note to potential Google interviewees: if you're caught doing this it will pretty much disqualify your application. We're interested in how you think and how you solve problems, not what you can pass off as knowing.<p>Interestingly, he mentions the NDA and then goes on to broadly describe the question anyway. If all this is true, I'm not a fan of bit-twiddling questions. It's something you either know or you don't (like reversing bits in O(log n)). This is meant to be an interview not a trivia quiz. I get mad every time I see those kinds of questions asked.<p>Anyway, another note: if it's on your CV, it's fair game to be asked about. So if you put that you wrote a low of embedded C/C++ in such a way that you'd be expected to do a lot of bit-twiddling then yes, bit-twiddling is absolutely fair game (IMHO).<p>If however you put that you've only done Python/Django, Clojure and Scala then it's a stupid question to ask (IMHO).<p>The second phone interview if accurate disappoints me as well. Perhaps this was a product of the position you applied for or what you put on your CV?<p>As far as intern matching goes, yes there is absolutely room for improvement there.<p>Note to other commenters: PLEASE PLEASE PLEASE stop spreading this nonsense that Google asks engineering interviewees stupid questions like "a man drove his car to a hotel and lost his fortune, what happened?" This is NOT what we do. The sooner people stop spreading this misinformation the better.
My girlfriend is in the medical profession. She's gotten job offers after 1 hour conversations. The last job interview process I went through had 3 separate phone interviews (each with coding questions) before they were to fly me over for a full day interview. She was pretty surprised at how intensive the process was. I have a CS degree from a top-10 school and have 5+ years of work experience. This is the kind of stuff that makes me sad to be in software.
"Hi, I'm Sean Haufler, rising senior at Yale [...] Position: Software Engineer Intern [...] I didn’t have much experience manipulating individual bits"<p>Sometimes I want to cry for what the world has become. At least I can be content knowing I have job security. (To be fair: the ability to google the answer quickly and implement it is exactly the skill that kind of test is supposed to screen for. Still, three years at school and no bit math?)<p><i>Edit: several of the responses have interpreted this as my sniping at the author. I'm not (he got the question right, after all!). I'm depressed at the status of software engineering and computer science education, such that dealing with the in-memory representation of data is treated as an "obscure" skill that comes up only on job interviews.</i>
The best coders I've ever worked with rarely memorized the nuance little algorithms that they want you to regurgitate during these interviews. The ones that I know that are capable of this are terrible coworkers because they lack other necessary skills to function in an organization or team environment. This is anecdotal but sort of sticks with me.<p>The interview processes used by these software giants weeds out the kinds of people that have made the biggest differences in the companies I've worked for/with. From my experience they weigh their judgement much more heavily on the actual implementation of code instead of the understanding of code, decisions and overall design.<p>Knowing how to code a mergesort is not as important to understanding the wider uses of mergesort and when an altered algorithm would suit the problem best or when it would struggle to provide you the right performance at all.<p>Maybe these companies want code monkeys that can put down exactly as the design is given to them and the process works grand for them, but from an outsider looking in it seems like they miss out on a lot of great talent due to the rigorous screening process.
Do kids still learn C in college? It's been my experience that new grads are primarily taught in Java...<p>That said, we do all our interviewing in the langage I expect them to be developing in - namely Ruby, JavaScript, and/or SQL. Is that the norm or do people still interview candidates using, say C or Java, for Ruby/Python/JS positions?<p>I suppose if we were interviewing someone who didn't know Ruby but knew Java, we could fallback to that. But luckily we have plenty of people that know Ruby/JS that I've never had to do that...<p>Although you don't have pointer stuff, you can do really interesting things with Ruby and JS.
FWIW, if you're doing hobby projects or working on open-source software: when you get one of those CS related brain teasers start your answer with this if you get the opportunity:<p>"Oh, I encountered something similar while working on <insert project name>."<p>Notice the little smile on the interviewer's face and how the interview derails in a chat about projects.<p>Also applies if you don't know the answer but would like to know to unblock that issue you had.
Wow we had different experiences. I only interviewed at start-ups and none of the companies I talked to asked me any ANSI C questions. I had some interesting Python do-in-whatever questions at one company (which I did all in Python) and on the other I went to them with something I had already made of their unofficial platform and skipped programming challenges.
> A mediocre programmer could memorize the examples given in Programming Interviews Exposed and do very well in a Bloomberg interview.<p>or in a phone interview just google for an answer to the question they're being asked! oh wait that's exactly what they did do...<p>How is using google to find an answer to a question okay and knowing the answers before hand not? crazy.
"<i>Simultaneously, I quickly Googled ‘how to use bitwise operators in C’ and found this wonderful code snippet on StackOverflow that made the problem easy to solve.</i> I wrote a solution with time to spare, and the interviewer seemed content with my answer."<p>Wow. NB to all interviewers: this guy's a cheat.
current intern at google here<p>I got the same email from HR telling me that it should take around 3 weeks to hear from a host. She emailed me back 5 minutes later about setting up the interview.<p>Not saying this makes your 3 months okay, but just pointing out that there seem to be cases at both extremities.
I applied to a bunch of software engineering internships last fall and was amazed by the variation from company to company in terms of how I was dealt with as an intern candidate.
Great overview of the different interview styles being used. I cannot say I am convinced you always get the best people through.<p>I don't have any aspirations to interview at Google, but did stumble across an 'Google Interview' book at the local bookstore. It makes great reading.<p>WSJ did an article on Google interviews late last year, including answers. Here are the questions (click the link below if you want answers).<p>"1. What's the next number in this sequence: 10, 9, 60, 90, 70, 66 … ?<p>2. You're in a car with a helium balloon on a string that is tied to the floor. The windows are closed. When you step on the gas pedal, what happens to the balloon—does it move forward, move backward, or stay put?<p>3. Using only a four-minute hourglass and a seven-minute hourglass, measure exactly nine minutes—without the process taking longer than nine minutes.<p>4. A book has N pages, numbered the usual way, from 1 to N. The total number of digits in the page numbers is 1,095. How many pages does the book have?<p>5. A man pushed his car to a hotel and lost his fortune. What happened?"<p>[Answers]
<a href="http://online.wsj.com/article/SB10001424052970204552304577113003705089744.html" rel="nofollow">http://online.wsj.com/article/SB1000142405297020455230457711...</a>
Every time I've interviewed for a job I have been annoyed by the interview questions. Yet, when I am interviewing others, I do exactly the thing that annoys me. What is the alternative? It's just a way to talk shop.