Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Google Businesses Microsoft IT Technology

Google Vs. Microsoft: a Tale of Two Interviews 215

jfruh writes "You might be a bit jealous of Andrew Weiss: fresh out of college, he got interviews with both Microsoft and Google. He discusses (to the extent NDAs allow) the differences between the two experiences, ranging from the silly (Google's famous gourmet cafeteria vs. Microsoft's gaming room) to the serious (Google's technical emphasis vs. Microsoft's focus on explanatory and consulting skills.)"
This discussion has been archived. No new comments can be posted.

Google Vs. Microsoft: a Tale of Two Interviews

Comments Filter:
  • wow ... (Score:5, Interesting)

    by ixidor ( 996844 ) on Monday June 25, 2012 @04:06PM (#40444403) Homepage
    He went in unprepared for possible the toughest IT interview of his life and he did not get the position. BIG SURPRISE. then he had some job leads spoon fed to him, interviewed at a few other places and nailed the MS interview. the end. saved you the 45 seconds it takes to read it. the position at MS was more MIS/marketing, and they asked "softer" questions, big whoop. Just some ivy league brat who didn't nail his first interview, and wanted a way to bitch.
    • Re:wow ... (Score:5, Insightful)

      by Anonymous Coward on Monday June 25, 2012 @04:18PM (#40444579)

      Just some ivy league brat who didn't nail his first interview, and wanted a way to bitch.

      Ah yes, Purdue - the forgotten Ivy.

      I agree with the rest though - worthless article.

    • you my hero

    • by Anonymous Coward

      What about it was bitching? The article was pretty disappointing and just said obvious things, but he wasn't bitching.

    • by s.petry ( 762400 )

      Thank you! Wholly shit I wish I could get the 5 minutes back I wasted reading that turd someone labeled "article".

      Didn't read TFA? Consider yourself lucky. Rambling about nothing important to anyone except the author. Should have been posted as Facebook status, not an article pointed to on /.

      /sigh

  • by Mabbo ( 1337229 ) on Monday June 25, 2012 @04:07PM (#40444421)
    Having been an intern at both, and gone through at least the intern version of their interviews, I didn't see a huge difference. Can you solve problems? How do you approach different types of problems? Simply put, did your education (both formal and personal) teach you enough to know the important things that any software engineer should know? Communication is incredibly important, and your ability to communicate how you are solving the problems and dealing with issues factors in quite a bit.

    Once inside, they do have different cultures, goals, focus, but as far as getting in, I feel there's very few people who would be hired by one, but not the other.
  • by Anonymous Coward

    One of the unique aspects of my time in Redmond was the interview environment. In between interviews, I was in a room filled with music, video games, and movies. While it may sound unheard of, it actually worked in my favor helping to keep my mind off things for a bit.

    Entry interview: you'll need to dodge alien laser beams.

    Exit interview: you'll need to dodge flying chairs.

  • No job offer then?

  • by exabrial ( 818005 ) on Monday June 25, 2012 @04:28PM (#40444727)
    Here's my experience in Google vs Amazon


    In summary, Google's interviews don't get a flying rats behind about anything but microbenchmarks on small pieces of code. Amazon cared more about technical design but started asking me questions on the Linux Kernel (I was applying for Java Engineer position)


    Some more odds:

    One of the Google interviews disagreed with me that a Java HashSet was not Big O(1) for the contains() method when I wrote out my sample code. I pointed out (very kindly) that I believe HashSet is backed by HashMap in Java, which is constant time. He said he didn't think that was true and I conceded and said, "I can assume then for now that it is not constant time then." I was extremely polite, but I'm fairly certain that cost me the job.


    The Amazon interview didn't go after they started asking me the internals of the Linux kernel. Then, the gentlemen asked me to implement a C function. I stopped him immediately after he was done speaking and said, "There must be a mistake, while i'm more than willing to attempt this in C, I thought I was applying for a Java position." He said he didn't know Java and asked me to implement atoi() in Java then. Needless to say he wasn't satisfied with any iteration of my Java code and made it a point that C was far superior to Java when we were done.


    I really wanted the Google job, and I feel I was definitely qualified. What makes me feel better about it I guess is that it seems some Googlers couldn't pass the Google interview.
    • by Anonymous Coward on Monday June 25, 2012 @04:48PM (#40444959)

      It's only O(1) in the absence of hash collisions... which is most of the time, so people like to pretend it's constant time, but in a pedantic theoretical sense the interviewer was right.

      • And of course the very definition of O(1) is that it be constant time in the worst case scenario, no matter how unlikely the worst case is.

        • And of course the very definition of O(1) is that it be constant time in the worst case scenario, no matter how unlikely the worst case is.

          That's not even true formally. You can do big-O analysis for worst case, average case, or even best case if you want. Anyway, HashSet contains() is O(1) for any but pathological cases built to defeat the hash function.

          • Well, pathological cases [arstechnica.com] should be a real concern if the user has some control over the input and the server or other clients are doing the hashing. As for big-O analysis for various cases, that is technically true in the mathematical sense, but it's almost always understood (unless explicitly stated) in computer science terms (and I really have to presume, that's the sense the Google interviewer meant) to be a worse case scenario, precisely because there's a general interest in using a stated algorithm in

          • You *can* do big-O analysis for best and average cases, but absent any qualifier big-O is understood to be *worst* case. If he had specified O(1) in the average case then I suspect the interviewer would've let it slide, but as it was it sounds wrong.
      • Not really. The O(1) is correct in the worst case, provided you use a perfect hash [wikipedia.org]. Since the hash function wasn't specified, you may as well assume that it's perfect in case you really need the performance guarantee, so I guess the interviewer was wrong.
    • "I really wanted the Google job, and I feel I was definitely qualified. What makes me feel better about it I guess is that it seems some Googlers couldn't pass the Google interview."

      Should have Googled all of the answers. I bet that's what they did.

    • by Anonymous Coward on Monday June 25, 2012 @05:22PM (#40445353)
      I was very interested to read your post, having just recently interviewed with both Amazon and Google.

      Here's my experience with each. Amazon was four 45-minute interviews, with a 15 minute break between each. Clearly they had decided on the problems for each candidate beforehand, as each interviewer asked a different question or two about my previous experiences and then a technical question that took the remainder of the interview time. I was also given the opportunity to ask about their experiences, which was actually quite illuminating as it was clear their past projects heavily influenced each technical question they asked.

      Google was five hour-long interviews with only a minute break or so between them. Additionally, there was an hour-long guided lunch after the third interview. My first interviewer gave me a rundown of how the process worked (in particular, they had a sheet keeping track of what problems I had been asked that was passed on to each subsequent interviewer) and then each interview pretty much was 100% dedicated to solving a technical problem. The only person who asked anything about my previous experience and gave me any information about the workplace culture was my lunchtime interviewer. From what I gathered, it sounds like after a training session most developers are put into an interview rotation, which I suppose makes sense when one considers the number of applicants they must have. As a result, my last interview also had an observer present, presumably in training.

      I won't talk about the questions asked except to indicate that both companies asked interesting and engaging technical questions - only one of which (Google's "warm up question") I'd seen on glassdoor or other interview question lists. But Amazon seemed much more interested in my experience in addition to my technical abilities, whereas talking to Google was more like taking a standardized exam.
    • One of the Google interviews disagreed with me that a Java HashSet was not Big O(1) for the contains() method when I wrote out my sample code. I pointed out (very kindly) that I believe HashSet is backed by HashMap in Java, which is constant time. He said he didn't think that was true

      HashSet/HashMap (and hash tables in general) is O(1) in the average case, but O(n) worst case. Sometimes these things matter, especially when you're dealing with data that crosses the security boundary - if your program stuffs user input into a hash table, an attacker can DoS it [arstechnica.com] by feeding it carefully crafted input such that all keys end up in the same bucket.

      • Seems to me like it would be possible to solve by simply assigning a random salt to each hash table and using that in the hash algorithm.

        • Yes, sure - though you should be careful about where you get your "random" numbers from, since some sources are very predictable - enough so for the attack to remain viable.

          Anyway, the point wasn't so much so that hash table is unusable in that situation, but rather that you need to be aware of how it actually works, and what guarantees it actually makes (specifically O(1) being average, not constant), in order to use it properly. In Google of all places, I suspect such situations may arise more often than

    • One of the Google interviews disagreed with me that a Java HashSet was not Big O(1) for the contains() method when I wrote out my sample code. I pointed out (very kindly) that I believe HashSet is backed by HashMap in Java, which is constant time. He said he didn't think that was true and I conceded and said, "I can assume then for now that it is not constant time then." I was extremely polite, but I'm fairly certain that cost me the job.

      Presumably, he was testing you to see if you could explain why he was technically right, even though it is commonly assumed to be constant because in the average case it is. The Java HashMap and HashSet (as far as I know) handle hash collisions with a linked list, and the worst possible case for a Hash structure is if all your elements have the same Hash key, this is of course so unlikely that it would never actually happen in real life, but since O is the worst case, it would be O(n). Of course it's entire

    • Please don't take the post as me being, bitter, I'm not. It was an honest mistake on the interviewers part, just kinda disappointed it happened to me.

      Now, on to the fun stuff. HashMap is O(1) when used with separate chaining and a max limit on the chain (linked list) size. So I could have any number of buckets, with a max of 100 entries in each bucket. That means putting any entries when (buckets * chainMax) > N is provably O(1): The max cap on the chainSize means that the search for a particular entry
  • by kbob88 ( 951258 ) on Monday June 25, 2012 @04:31PM (#40444759)

    Well, that was a fairly lame article...

    Anyway, I interviewed with Microsoft back in 1989 or 1990, and it appears that things have changed since then. Back then, they definitely were more focused on technical questions. I don't remember anyone asking anything about customers or business or communications. It was all technology, with a bit of design thrown in. The position wasn't even a hard-core programming job. Since I was a few years out of college, the customer/business/communications questions would have been nice, since I would probably would have been better positioned to answer those than the college seniors, as my then current job had me working with customers a lot. Their recruiting group was horribly disorganized back then also -- they switched recruiters and the job at the last minute, so no one (myself, the recruiter, the interviewers) was properly prepared. I suppose they've probably fixed that since then... One of the weirdest things was the "cult of Bill" -- whenever you asked a question, the answer seemed to always be prefaced with something like, "Well, Bill thinks that..." Even questions that had nothing to do with technology or Microsoft, like "what do people in Redmond do for fun?" "Well, Bill thinks that being fit and active helps the brain, so a lot of us like to mountain bike..."

    • by Sir_Sri ( 199544 ) on Monday June 25, 2012 @04:55PM (#40445057)

      It's possible microsoft, having been in business a while, isn't as starved for technical people as it is for people who can explain what all the technical people just did. Making a product doesn't do you any good if you can't communicate what that product does, and how it would be useful.

    • Let me quote the bit from TFA which explains the difference:

      That same day, I was offered the position as an Associate Consultant.

      When I interviewed for a software development position 4 years ago, pretty much all questions were technical, and most of it was writing code. No-one asked me any questions about customer or business communications, either.

  • The MS job was about business skills and Google was about tech skills.

    Now to be fair we need to have tech job at MS vs tech job at goolge.

    But this maybe telling that college CS is not good for some tech job at least at MS but the same CS is what google may want for tech jobs.

    I think that MS is better as they see that CS is NOT IT.

  • by cplusplus ( 782679 ) on Monday June 25, 2012 @04:45PM (#40444917) Journal
    I have a few friends at both places. At MS, the style and topics of an interview can change from team to team, and from internal organization to organization. From what I hear, at Google it's a little different in that you get interviewed by a wide variety of folks, and then teams "bid" on you based on your interview results and strengths/weaknesses, so the technical interview experience there is largely the same for every candidate.
    • MS interviews also involve bids sometimes. I interviewed 4 years ago, and there were 4 teams in the loop (though all from the same org, and three from the same division). Each candidate was interviewed by every team, in a round robin fashion - 45 minutes of interview, then 15 minutes break and you're off to the next one. Then, as I understand, they somehow split the accepted candidate pool between each other, and settled cases where two or more teams bid on the same person.

  • I've interviewed at Google, and at Microsoft, as well as a few other technical places, for similar positions. The interview process was very similar. Stand in front of a white board, solve and then code a small problem. Or discuss design. I think the biggest difference is lunch was not exactly an interview with Google, but it was with Microsoft.
  • by hawguy ( 1600213 ) on Monday June 25, 2012 @05:32PM (#40445479)

    When I interviewed at Google, I was struck by how my main interviewer had no work life balance after he moved to Google. He talked about all of the things he used to do - hiking, mountain biking, etc. When I talked to him in more detail about some of his favorite hikes and rides, it became apparent that they were all done before he went to Google and that he no longer has time. Then as I talked to the rest of the team members I found the same thing - their lives revolve around Google. And as I looked around I saw all of the great amenities that are geared toward keeping you on-campus - great food, free laundry, haircuts, oil changes, gym, swimming pool, etc. You could literally live at the office and have everything you need.

    That's when I realized that I didn't want to work there. They wanted to bring me back for another interview for a team member that wasn't there for the first one, but I declined and took another job.

    • by PCM2 ( 4486 ) on Monday June 25, 2012 @06:05PM (#40445999) Homepage

      That, and everything at Google seems to be geared around making you feel like you're still in college... forever. There's the big campus, where everybody eats together in the cafeterias or in the quad, the free T-shirts and sweatshirts (around San Francisco, you constantly see Googlers out at bars wearing their Google shirts, just like how you see people wearing college shirts around campus), the little coding tips posted all over the place ("Hey kids! Remember to use the right data structures")... hell, when you go to a Google event, the sessions when you can talk to Google engineers and ask them your questions are actually called "office hours." If you really, really, really enjoy being treated like a college student, it might seem like heaven to you, but I can imagine that a seasoned, professional developer could feel pretty insulted by that level of paternalism. That said, Google also seems to favor hiring people right out of college.

      • by ImprovOmega ( 744717 ) on Monday June 25, 2012 @08:34PM (#40447627)

        If you really, really, really enjoy being treated like a college student, it might seem like heaven to you, but I can imagine that a seasoned, professional developer could feel pretty insulted by that level of paternalism. That said, Google also seems to favor hiring people right out of college.

        You know, if you're hiring strategy is to go after people with Asperger's who hyper-focus on interesting technical problems and hate the concept of change...that's probably an excellent way to build a work environment where such individuals will thrive.

        I mean, think about it - they just spent 4 years getting used to college and are about to face yet another major life change and here comes Google to say that hey, things don't have to change much at all - work can be just like college for you. I probably would have jumped on an opportunity like that if I'd realized what the potential upside was. On the other hand I probably wouldn't be married right now and I would most likely be working 80+ hour weeks, but hey.

  • This question was asked to me years ago in a Microsoft interview, and has been bugging me since. I am curious as to what other people here on /. would have responded, and more importanly, the 'why' behind the response.

    Here is the question:

    Say I were to hire you today, and gave you the choice between two compensation packages, which one would you choose (and why)?

    1: A standard salary of $100k

    2: An hourly wage of 10 cents an hour - but every month that you worked here, we would double your hourly wage

    Which

    • Re: (Score:3, Insightful)

      by Zaelath ( 2588189 )

      I'll take number 1.

      No sensible employer will keep a number 2 employee beyond year 1 and I don't like to switch jobs that often. In fact if number 2 was a serious option I would expect you were going to axe me after 12 months for a total spend of ~$66k rather than keep me for 24 months at a total spend of $268 million. Meanwhile I'd need to keep myself in ramen noodles for the first 10 months while living in my parent's house.

    • by painandgreed ( 692585 ) on Monday June 25, 2012 @07:05PM (#40446843)

      Ten cents and hour doubling every month will make you more in a year and a half than the $100k/year would in those same time, and impossibly more after that. I'd see it as a question judging how long you wanted to work at Microsoft. If you were in for a career, you'd end up making more than Bill. If you wanted to jump ship in a year with MS on your resume to make more some place else, then 1 would be the answer. Different people want different things. Some just want to jump jobs every year or two for better raises and to keep things interesting. Some are looking to stick around for the long haul. Projects also look for both sorts of people. Since we probably don't know what he wants, I'd be honest and discuss how long I wanted to stay with MS and what my future plans were.

      What I would have answered would have depended on when I interviewed. Earlier, I'd take the money and run. Later, when asked what I saw myself doing two years from now in an interview, my response was "still sitting here doing the same thing. I've played the .com job jumping game for years now and am ready to settle down." That was the answer they were looking for as they had to refill that position every year. They paid me more than I asked and here I still am ten years later.

    • Is there any guarantee to how long the job lasts?

      Hopefully having done my math right, in the 12th month, you're making $204.8/hour. So, depending upon how long the job lasts, #2 is better.

    • Honestly it could be 0.10 cents a month and doubling every month and it would still be well worth it by the end of the second year. The growth function is so insane that your short-term downside is rapidly outstripped by the hyper fast growth of the function. I mean, yeah at month 12 you would get a measly $204.80, but at the end of month 24 you would pull down $838,860.80. So...yeah.

      Hourly it builds even faster - $16 for the first month (160 hours at 0.10 / hour) and by the twelfth month you're getting
    • by Ambvai ( 1106941 )

      Operating under the assumption of 40 hours a week, 50 weeks a year [vacation time, right?], that's 2000 hours a year, or 50$/hr.

      That's 10 months at 10 cents an hour to equal that rate, plus you'll need to make back the amount you "lost" over the next month or so, so say it's 11 months to break even, at which point your earnings surpass the salary and really start taking off.

      The main problem I see with the latter is that it pretty much guarantees you won't be working there for much more than a year, and cert

  • by 140Mandak262Jamuna ( 970587 ) on Monday June 25, 2012 @07:31PM (#40447083) Journal
    In most companies each person in the committee has his/her own style of questioning and sets of questions. So it would be quite a stretch to extrapolate from a few anecdotes about the interview to estimate the company policy. I know one guy who was fixated on the area of a 2D polygon and the point in-or-out test for a 2D polygon. There was another who would always ask for reversing a char string without temp storage, would not let go till he makes the interviewee agrees using recursion and double XOR is one hell of a trick. Then he would let the dazed applicant go with a self satisfied smile. Then there was this guy who was proud of scoring 800 in GRE analysis. All his questions would come out of mensa puzzle books. So unless your sample size is large, do not extrapolate from interview anecdotes to company policies.

Sentient plasmoids are a gas.

Working...