There is nothing like the feeling of elation after you know you ace'd your interview.
Or, maybe you gave it your best shot but fell short.
Either way or in between, this is the perfect place, to share your experience. Take a few minutes to answer any or all of the questions below in the comments section.
All comments will be reviewed for appropriateness before being posted and your name/user id will not appear anywhere in website. This is your chance to give real and honest feedback in a completely anonymous way!
1. What company were you interviewed by and which location?
2. What position were you being considered for?
3. What kind of interview was it? i.e., phone, first round in person, final, etc.?
4. How were you treated by the company before, during, and after the interview?
5. What was your general impression of the company?
6. Please share some of the interview questions.
7. Do you think you'll get an offer and if so, do you think you'll accept?
There were 3 rounds of interview.In the first round they asked s string related question.1. Given a string and set of characters, find the shortest substring which contains all the characters in the string.In the 2nd round2.Given a 2d sorted matrix (known as tableau) . where rows and cols are sorted, write an algo to find an element.In the 3rd round they asked about garbage collection in java, about my projects and a question related to graphs I dont remeber exactly at this point.
Interviewing at Google bucked Wes Bos' pre-conceived notions of what an ideal candidate is.
The web developer thought Google wanted someone with a degree in computer science and only hires guys who can program in many languages.
But to his surprise, Google showed interest in him. On his blog, Bos wrote about what it was like to go through the job interview process at Google. Bos described the entire process, from emailing the HR person to being quizzed by engineers.
Here's what he had to do -- and what went wrong.
Before the interview, the recruiter told him to brush up on the basics. "The HR rep sent over an email with some guidelines and things to brush up on which included comp sci 101 things such as sorting algos, hash tables, binary trees and so on. I was familiar with a few things on the list, but I definitely had to do a lot of reading in the week and a half before my interview."
Demonstrate how you'd solve real world problems. Here, a mobile developer asked him which algorithms would work in specific situations. "I tripped over quite a few of these and felt pretty embarrassed."
He didn't get the job, but was happy he went through tne process anyway. Most important, it taught him that learning multiple languages would make him a better developer, and that Google will take a look at young coders.
"Always be hustlin.’ A few years ago I would have never of thought I would be interviewing at Google just 9 months fresh out of school. Anything can happen," he wrote.
Given a sorting order string, sort the input string based on the given sorting order string.
Ex sorting order string -> dfbcae
Input string -> abcdeeabc
output -> dbbccaaee
Google's recruiters are infamous in the Valley for dismissing Ivy-free applications* and posing highly technical brainteasers** during interviews.
But apparently these "past results do not necessarily guarantee future performance," according to none other than Googlers themselves.
Tech Chronicles wrote last month about the growing complaints among employees that academic pedigree is rewarded over real life experience and performance.
One poster on Glassdoor.com, a Sausalito site that allows workers to anonymously review and rate their companies and managers, lamented:
They hire too many young overachievers -- people who have only ever "shown aptitude for having aptitude," as that one writer said. So it feels like half of everyone is angry about learning what being in the workforce is actually like, and shocked that you don't get promoted for working 12 hours a day and having aptitude and a great GPA.
Turns out, the puzzlers don't work out so well in reality either, according to Gawker. Like not at all.
Peter Norvig, Google's director of research, told Peter Seibel in an interview for the new book "Coders at Work":
One of the interesting things we've found, when trying to predict how well somebody we've hired is going to perform when we evaluate them a year or two later, is one of the best indicators of success within the company was getting the worst possible score on one of your interviews. We rank people from one to four, and if you got a one on one of your interviews, that was a really good indicator of success.
That's a pretty big problem for Google, considering:
Ninety-nine percent of the people who got a one in one of their interviews we didn't hire. But the rest of them, in order for us to hire them somebody else had to be so passionate that they pounded on the table and said, "I have to hire this person because I see something in him..."
Google proper disputes these conclusions.
"Our hiring process is well known for being pretty rigorous but we've found that, by and large, it goes a long way towards getting us the kind of candidates who will do well at Google and stay for a long time," a Google spokesperson said. "Our hiring process is designed to give both the company and the candidate a complete picture of how they will fit and we think it works exceptionally well."
Norvig took issue with the way his comments were framed too, saying in a blog post:
What do you know? Valleywag got everything wrong. Google is hiring, not laying off. Also, our interview scores actually correlate very well with on-the-job performance. Peter Seibel asked me if there was anything counterintuitive about the process and I said that people who got one low score but were hired anyway did well on-the-job. To me, that means the interview process is doing very well, not that it is broken. It means that we don't let one bad interview blackball a candidate.
Except, of course, to reiterate, he himself said that: "Ninety-nine percent of the people who got a one in one of their interviews we didn't hire."
If that's not a blackball, it's an awfully dark gray one.
Norvig continued: "We'll keep interviewing, keep hiring, and keep analyzing the results to improve the process."
*A extremely capable and intelligent friend of mine was advised by a Googler not to bother applying because she hadn't attended an Ivy League university or achieved a 4.0 GPA. And that was for a PR gig.
According to "Planet Google: One Company's Audacious Plan to Organize Everything We Know" by Randall Stross:
Google goes after not just the well educated, but the very well educated. Among the company's first hundred engineers, forty were Ph.D.'s. The company's emphasis on Ph.D.'s was not shared universally in the software industry. Microsoft mostly recruited computer science majors who had only a bachelor's degree; the company eschewed those with advanced degrees ("We're huge believers in hiring potential," Kristen Roby, Microsoft's director of recruiting at colleges in the United States, said in 2004). In contrast, Google sought those with the most academic training possible. A typical job listing featured a three-word phrase rarely seen outside of academe: "Ph.D. a plus."
**One question asked, according to an earlier Chronicle story:
"In your opinion, what is the most beautiful math equation ever derived?" The Gaussian integral, a complex mathematical equation used in studying the kinetic molecular theory of gases, among other things, has been suggested as a smart answer by some on the Internet.
For more purported Google interview questions, which we can't verify the accuracy of, click here.
Hey guys, have you seen such interview before? American president tries to be hired by Google. It sounded very interesting to me. It even includes an interview question about sort algorithms! (It also related to some of the issues brought up in the early hours of last Beery Friday)
I sat in the waiting room with one other applicant. He was older
than me by about ten years. Judging by our clothes, it was clear that
we were taking different approaches to this once-in-a-lifetime
He dressed professionally. Black suit, white shirt, striped tie. His
dress shoes were polished, and their shine matched well with that of
his belt buckle.
I dressed casually. Blue jeans. Sneakers. A brown collared sweater
that hid the geeky maroon “Computer Wizard” t-shirt that I was using as
I was trying to dress the part. I had heard that Google’s dress code
was simply “You must wear clothes,” so I wore something I might wear to
the office if I got the job. Sitting across from Mr. Business Suit, I
started wondering if I made a huge mistake.
For whatever reason, Mr. Business Suit hadn’t acknowledged my
presence since I arrived. He sat cross-legged with a magazine in his
lap, half-heartedly thumbing through it without looking up. He kept
this up until the Hiring Manager opened the door to the adjacent office
and called his name: “Don?”
Don set his magazine down and stood up.
“Good luck,” I said hopefully.
He nodded at me and followed the Hiring Manager out of the room. I
took pleasure noticing that the Hiring Manager wore sneakers and jeans.
Now that I was the only applicant left in the room, I started
reviewing the materials I brought with me to the interview. In my
“Portfolio” (a thin 3-ring binder) I had:
Loose copies of my resume
How-To Instructions and Screenshots from three of my Open Source Projects
Two Letters of Recommendation from previous Employers
A Thank You Card that I planned to mail immediately following the interview
I imagined that I had at least ten minutes until the Hiring Manager
asked for me. I was therefore surprised when a petite woman entered the
room and called my name: “Shaun?”
“I’m Stacy,” she said, extending her arm.
I stood up, tucked the Portfolio under my arm, and shook her hand.
“Shaun Boyd. How do you do?”
“Just fine, thanks. I have good news for you.”
“Oh? What’s that?”
“Your application has been fast-tracked. I’ll be giving you a quick
tour of our facility, and then I’ll introduce you to the team that’s
interested in your background.”
“Oh my, that is good news,” I said through a huge smile. “How exciting!”
“Definitely. Follow me.”
As I followed her through the double doors and down the corridor,
Stacy filled me in on what being “fast-tracked” meant. She explained
that I still needed to be interviewed, but because my application was
unanimously selected by an existing project team I was exempt from the
first-tier “initial screening” interview. I would start at the
second-tier interview, which would be conducted by current members of
the team I might be working with. Stacy, a Senior Hiring Manager, would
sit in during this interview to see how I interacted with the team
members, and to answer any HR questions I might have about the position.
Stacy led me into her office and told me to have a seat. She typed
an instant message onto her screen, sent it, and then proceeded to copy
and paste the same message to four or five other people. She toggled
through the responses for a few minutes before speaking to me again.
“We have almost 30 minutes until the entire team will be available
to meet with you. Would you like to join me for some Free Lunch in the
“Absolutely,” I said.
The cafeteria was intimidating. Nearly every station had at least
half-a-dozen Google employees in line for their Free Lunch. Since they
were already familiar with the selection and ordering process, they
moved around the cafeteria with ease while I stood in place holding an
empty tray. Stacy pointed to the different stations, told me the type
of cuisine that was served there, and encouraged me to not be shy.
“Everything is always free, tasty, and nutritious,” she said, more
or less reciting everything I had heard about Google’s cafeteria
I got into the line for Chinese cuisine. I asked for a helping of
General Tso’s Chicken over white rice. The chef asked me if I’d like
some orange slices to go with my entree, and I said “Yes please!”
I joined Stacy at a round table in the center of the cafeteria. She
introduced me to Tom and Anu, two of the team members who would be
interviewing me once we finished our lunch. She then busted my chops a
little by telling them how I chose to get Free Lunch instead of a tour
of the facility, but they said I made the right choice. Anu scolded me
for not taking advantage of the Slurpee machine.
Tom asked about the Portfolio I was carrying. I paged through it
briefly, and explained that it was basically a detailed addendum to my
application. I said that I’d like to show it to the entire team during
the interview, if they’d be interested. He gave me the impression that
they would be.
Once we finished lunch, we returned our trays and left the
cafeteria. The four of us rode the elevator up together and got off on
the floor where the meeting with the entire team would take place. I
followed Stacy around a corner and through a large wooden door.
I stepped onto the boat and felt disoriented. I suddenly found
myself on a sailboat with my father, in the middle of the Atlantic
Ocean, rocking violently in a complete mess of a thunderstorm. My dad
was signaling for me to grab the lines near the bow, but before I could
grab a hold of them a giant wave crashed into the broad side of the
boat and knocked me overboard. Right before I hit the surface of the
water, I woke up.
I’m jobless in Michigan. For the past month, I’ve been relentlessly
applying to and interviewing for various local jobs with little to no
success. As of last night, the job hunting process has permeated my
subconscious mind to the point where I’m literally dreaming about it.
What I experienced in my dream was so vivid that I felt compelled to
share it above. No, it never happened. No, it’s not an accurate
representation of the application and interview process at Google. It
is, however, more interesting than my recent experiences in the real
If I misled you, I’m sorry. I just wanted to take a break from
writing cover letters to write something enjoyable. I hope some readers
will enjoy reading it as much as I enjoyed writing it.
Tags: interview |
Posted by Admin
10/18/2007 3:17 AM |
I didn’t apply for a job position at
Google, but a recruiter from them contacted me. I told the recruiter
that I wasn’t interested, and that it would be extremely hard to
convince me to move away from my current job. I told them that I would
not be able to work in certain areas for a while (due to my current
position at a competitor), and that I would also demand a good
relocation package. Despite all that, the recruiter told me that they
would still be interested in a phone screening. I did the phone
screening and all their questions made sense: how to optimize certain
aspects of Google, like file transfer, etc. I was then asked to
interview at their site.
I should say that I’ve talked with 4 interviewers, and 3 of them
were nice and polite. I found a little disrespectful that one of them
invited someone to join the interview to be “trained”, but that was
acceptable. What was not acceptable was the behavior of one of the
interviewers. The interviewer asked me a few dumb questions, and I
literally decided to joke back, simply answering with enough high-level
jargon that I couldn’t be considered wrong, while not giving him any
specifics. I know several of the keywords that the guy was looking for
in my answers (inverted index, Markov model, etc.). I simply refused to
say any of the “keywords”. The interviewer wasn’t able to understand
anything without the keywords being said, and from that interview on my
interest simply wasn’t there. If what takes to succeed in a Google
interview is to memorize a lot of keyword, then I don’t want to work in
such company. Worse is that I really detected a little of the “we are
the champions” attitude, even coming from people that clearly had no
relation whatsoever with Google’s success. That is what was really
unacceptable: I know folks that really changed Computer Science
history, and are extremely approachable. And here I was, talking with
people that could be considered bystanders at Google, and one of them
behaving like if the company couldn’t survive without him.
Things then got really bad when an interviewer asked: “Why do you
want to work at Google?” You should see the surprise in his face when I
told him that I didn’t really apply for a job at Google, but given a
very good offer, I would consider working at Google. Yet, this was one
of the nice interviewers, and he had nothing to do with the moronic
behavior of the previous one. But that was the key moment: I perceived
that, when you “just talked with a moron”, some of the attitude sticks
to you. Probably I would soon be a moron if working along such people
for long. Luckily, that won’t happen.
This a follow-up to my previous post
about my interview process with Google. Once a post gets as long as
that one did, I’m sure to forget to say some things. Rather than
updating that post, I thought I had enough new to say to warrant a new
First is the picture I got of their development process. There are plenty of other places
on the Internet about their development process, so I won’t go into
detail about what they told me–it pretty much matches up with the
available information. It really sounds like they try to match the
amount of process required to the specific project at hand. Projects
with a huge public impact have lots of process (Google’s front page,
indexing, etc.), while those that are newer and much lower impact
(stuff in the Labs section, and
even graduates of the Labs) have a much more flexible, agile process,
designed to get improvements out the door very quickly. I like that–no
mandatory bureaucracy where it doesn’t make sense.
process, however, it seems that they are very intent on giving
developers an environment designed to help them succeed. From what I
understood, the company actively tries to remove stupid barriers to
productivity (needless paperwork, poor IT, bad workstations) and give
you whatever you need to do your job how you think best. Obviously,
there are rules and standards, but it just sounded more
flexible. It really sounded like an ideal development environment:
Obstacles removed, needs granted. Now, how much of that is the official
“show” they put on for all interviews, who knows, but Google is
obviously doing something right.
Bottom-line is that Google is a
company of engineers for engineers. They’re the ones in charge of what
the company does. That is a very nice place to be if you love coding.
I should mention that the Google Boston office is MUCH smaller than
their Mountain View headquarters. The way things are done, while it
will still be “Googly”, will most likely have a different feel and pace
than at headquarters. I had read many reports on the web about how
people worked late hours, on weekends, and basically sacrificed their
lives for the company. I did NOT get that impression in Boston. They
were definitely smart and very hard working, but it sounded more like
the company was flexible and if you got your work done, who cares?
(That’s the way things ought to be done for sufficiently self-motivated
employees). I did ask about inordinate over-time (mistake on my part?)
and work-life balance and I came away with a satisfactory impression.
Whether this means Boston is special, or the accounts I read on the
Internet were not representative, I don’t know. Probably a lot of the
latter, for sure.
I also wanted to address my final link in my
last post. I know it can be a little disappointing to read that kind of
post and realize it’s not talking about you, because you’re
interviewing for jobs. I wouldn’t take it too literally.
Maybe my link text is a little black and white. I think the principle
is definitely valid, though. The better you are, the more freedom you
have to choose where you work and what you work on and the less chance
your going to fall into a company’s hiring process. It’s really more
about statistics from a company’s point of view of finding the best,
not necessarily for individuals.
Hopefully, that’s all I have to
say on the subject, but if you have questions, just leave them in the
comments and I’ll try to answer them!
A few months ago I received an e-mail from a recruiter at Google
asking for an opportunity to talk to me about available development
positions. Needless to say, I was pretty excited. I’m fairly happy in
my current job, but–it’s GOOGLE. You don’t say no to an interview
opportunity at Google.
I’m writing this account in order to
contribute to the meager resources available on the Internet about the
Google interview experience. I signed an NDA, so I’m not going to say
what the specific questions were, but I think I can give a pretty good
idea of my experience. I apologize right now for the length.
traded a few e-mails with a recruiter in Mountain View. I had a phone
conversation with him, wherein he asked me general questions about my
skills, desired work locations (giving me a choice of Santa Monica,
Mountain View, and Boston). I have no desire to live in California, so
I chose Boston. I was then passed to another recruiter, who setup a
phone interview with an engineer in Mountain View. There was a false
start, when they couldn’t do the interview at the original time, so we
The phone interview went very quickly. He was very
nice and asked about my specific talents, things I enjoy doing, and
projects I’d worked on–especially those I listed on my resume.
He asked about the ray tracer I wrote in college, since he had an
interest in that. He also asked some general questions about the stuff
I do for work. Then he got into the technical question. It was an
interesting problem, and I asked follow-up questions, talked out loud,
wrote things down in front of me (and told him what I was writing and
why). I immediately thought of the naive solution–always a good place
to start. He was interested in the asymptotic complexity. I knew there
were better ways of doing it, so I started thinking of optimizations to
the algorithm, trying to come up with ways of caching information,
reusing previously-computed values, etc. He gave me some gentle
prodding, and I think I understood immediately where he was going. I
answered the question fairly well, I though.
And that was
it–just a single question. I was surprised. The entire thing lasted
less than 30 minutes. I was almost disappointed, and thought–”well,
that’s that–I won’t hear back.” I really wasn’t expecting any follow-up.
next week, I got an e-mail from my recruiter who said I had impressed
and was going to get the opportunity for an in-person interview in
Boston! They hooked me up to a travel coordinator, as well as the
recruiter in Boston.
Very exciting. I had a convenient time to
go, so I set that up, took time off from work and went up to Boston,
staying in the Cambridge Marriott. Very nice hotel. 40″ flat screen TV
in the room ( which I never turned on). All expenses paid for, of
I did have to pay for hotel and food up front, and save the receipts.
(And yes, I promptly received a reimbursement check from them a few
weeks after I sent them in.)
I arrived on Monday afternoon,
figured out Logan International (a very confusing airport, I thought),
and got myself to Cambridge, in the heart of MIT, an hour or so later.
I checked in, then went walking. I found the building Google is in on
the very next block from the hotel. They have a floor in a building
that MIT leases to startups, tech incubators, and the like. There are
plenty of news articles about the Google Boston office–just…you know, Google for them.
I walked past the ultimate geek bookstore–
Discount tech books. COOL. I would definitely have to stop there later.
Then I got some cheap, awful Chinese food at the food court
under the hotel. Why? When I could go out on Google’s dime? I think I
was just tired and wanted to get back to the hotel soon and start
I ate dinner in the room, took pictures of the wonderful view of the Boston skyline.
What did I study? I brought two books with me: Robert Sedgewick’s Algorithms in C++,
and a C++ reference manual. I went over advanced C++ topics, STL,
simple sorting and searching algorithms, properties of graphs, big-O,
and anything else that popped into my head.
By far the most
valuable thing I did was write out algorithms before-hand. I picked
something and wrote it out by hand in a notebook. It was hard going at
first, but I knew it was the best thing I could do to prepare. I did
selection and insertion sort in both array and list form. I did string
reversal, bit reversal, bit counting, and binary search. All by hand,
without looking in a book at all. As well you might know those simple
algorithms, it’s harder than it sounds.
I went to bed relatively
early–9:30, and woke up the next morning at about 6. I went to
breakfast in the hotel restaurant, got a rather large meal, and then
headed to my room to study more. I wrote more algorithms and redid some
I had done the previous night.
Oh, I also wrote down in my
notebook (beginning on the plane ride up) questions for Google, as well
as answers to questions they could ask me (standard interview
fare–projects, favorite project, languages, strengths, passions,
getting along with people).
My interview was scheduled for 10
am–I checked out at 9:30 and left with my bag (I had everything in a
single bag I could carry–it was very heavy) and sat in a little square
for a few minutes. At about 9:50, I went in, took the elevator, and was
greeted with ... google.
Dr. Seuss land! Yes,
that was my first thought. I think the door was green, the reception
area was very colorful. The receptionist was very nice and asked me to
sign in on a computer, which printed a name badge for me. They had some
research papers by Google employees on a wall, so I grabbed a couple
(their hard drive failure study, and map/reduce).
After a few minutes, my Boston recruiter came out and greeted me,
offered me a drink from their free fridge, and took me to a small
conference room, furnished, it appears, from Ikea. It was simple,
clean, and very nice. There was a white board. I would get to know that
whiteboard very well.
My first interviewer came in and we got
started. I talked about my projects for a bit, they answered my
questions, and then we got to the problem. Each interviewer asked me to
solve a single problem (could be some sub-problems involved), and I had
to do it on paper or on the board. I wrote C/C++ code. They take note
of what you write and ask you further questions, especially if your
first solution isn’t optimal.
I tried to take extra care with my
code and not let stupid mistakes creep through. I used good
variable/function names, made sure my braces matched, and I ran through
the algorithm on the board once I had written it.
interview was one of the toughest. I was more nervous. I think I made
more mistakes–I didn’t see things as quickly as I did later.
had three interviews before lunch. They then handed me off to someone
else who would not be evaluating me, but would just be an escort for
lunch. The Google cafeterias in Mountain View are legendary, but the
Boston office is far too small to warrant such lavishness. Instead,
they have a catered lunch every day. It was wonderful. They also have
all the free drinks and candy you could want, available all the time. I
spent much of the time asking my escort questions about Google, what he
was working on (couldn’t tell me), the area, the office, the commute.
We were also joined by the head of the office, who didn’t realize I was
an interviewee, and we had a nice conversation as well.
was an hour, and then I was back in the conference room. I had two more
interviews. Then the recruiter came back in at about 3:15 or so and
debriefed me–asked me my impressions, how I felt. I reiterated what I
had told him on the phone previously, and that morning before we
started: that I was trying to take this as easy and nonchalantly as
possible, to have fun, and learn, and let it be a good experience. I
had a job that I enjoyed, and didn’t NEED this one, but I think I would
do well there and enjoy it very much. They came to me, after all.
think by the end of the day, I was really pulling that off well. Once I
got over my nervousness in the first interview, I really did have fun
and enjoy it.
They didn’t ask me any
stupid questions. None of this “what’s your biggest weakness?” garbage.
Not even the recruiter asked me anything like that. Nothing silly at
all. They also didn’t ask me easy technical questions. They got right
into the problems and the code. I had to describe an algorithm for
something and write code for it. It was serious, they were all nice–I
met people with serious reputations online. I felt like they were
respecting me as a fellow programmer–almost. I wasn’t one of them, but
they really wanted to see if I could become one of them.
receive prompts to get through certain problems, but not overly so. I
answered every question they asked. Some I answered better than others,
but the ones I didn’t get right away, I had alternate solutions, and I
understood where they were going as soon as they started talking about
Why I didn’t get the job
Well, companies these days
won’t tell you why. I think they fear it opens them up to lawsuits. I
think that’s silly. It prevents those of who really do want to learn
and improve from knowing what we’re deficient in. Oh well. They told me
that they thought I would do well at Google, but that it wasn’t a good
fit at the time, and I should apply again in the future. (Of course, I
didn’t apply in the first place.)
My suspicions, however, are
that I lean too much towards Microsoft technologies. I do a lot of work
in .Net. That’s where more and more of my experience is. I do consider
myself very good in C++, but I’m doing more and more C# work. I’ve
always been a Microsoft Windows developer.
I also am not really
interested in web-centric technologies, and I told them so. I’m more
interested in client apps on the desktop, and server apps.
course, it’s very possible I just didn’t answer the questions to their
satisfaction–that I needed more prompting than I should have. Oh well.
could also be that my GPA wasn’t what they wanted. I goofed off my
freshman year of undergraduate work. I really hurt my grades. I came
back, though, and got straight A’s for my last few years where I took
the hard CS classes. I also got straight A’s in my Master’s program
while I was working full time. I don’t think this was the issue, but
Having your own web-site is a no-brainer. Do it. Update and maintain it.
personal projects. You must be passionate, you must love programming.
You must be good at it. Not average. You must aspire to excellence and
be working towards that.
Know what you’re talking about it. Don’t show off–just display your knowledge as it applies to what they asked you.
Use an interview with them as a learning opportunity and ensure you have a good experience regardless of the outcome.
take the interview too seriously. Make sure that not everything rides
on the outcome. You must be comfortable, confident. You must try for
success in every possible way, but yet be completely prepared to
fail–and have that be ok. This is a hard balance to achieve, but I
think it can really make you have a healthy outlook and have a good
time while still showing your best self.
If you don’t get an
offer, realize that even being selected for an on-site interview by
Google puts you above the ranks of the average-good programmers. Google
gets 1,500 resumes a day. You’re already in the <>
code by hand in a notebook. This helped more than I can express. Do
stuff that’s hard that you don’t know how to do immediately. Time
yourself. Make the problem more challenging. If you can’t stretch
yourself, they will and you’ll probably break. They did not ask me to
do any of the specific questions I had practiced–but the experience
writing out and the THINKING is what helped.
Be able to explain your background (90% technical / 10% personal) in a few words. At some point you’ll be asked.
a lot of questions for people. You’re interviewing them too. Make sure
they’re good questions. Asking about salary is not a good question
before you’ve been made an offer.
I let the interview build my
own self-confidence. I have no doubt that I could walk into an
interview anywhere else and it would be laughably easy.
Don’t ignore obvious, simple solutions. Sometimes a table lookup is better than an O(n) algorithm.
a good, FUN book for the plane ride back. On the way, I focused on the
interview, but on the way home I wanted to do anything but, so I had my
current novel (Dickens’ Bleak House–very good book, by the way).
you do all of those steps, it actually doesn’t really matter if you
apply to Google or any other great/famous company–you’ll probably get
the job you want for the pay you want anyway. Somebody, sooner or
later, will come across you and give you the opportunity.
Great programmers will rarely, if ever, need to look for jobs.
hope this long, rambling essay is helpful to some. I make no claim that
my experience is typical or that I’m being completely objective. In
other words, YMMV.
I seem to get asked this a lot. But only by people that have known me
for awhile. Noting that, I have a warning/disclaimer: If you don't know
me or you only have known me since working at Google, this is probably
not what you are expecting and might be excruciatingly boring or
irrelevant. (you've been warned!).
The reason I get asked this is that I left a perfectly good start up called Preemptive Solutions
to come here. When I say "perfectly good" its one that I am a
co-founder, is now 10 years old, and was President (which I later
became VP as I decided I wanted to live away from the HQ). In addition,
the company has been by all measurements, a great success since
inception - profitable every year, great product lines (and more coming
down the pike!), and has over 20 employees (and aggressively hiring!).
other original founder Gabriel and I have been friends since the 5th
grade. I'm happy to say the company gave our friendship a foundation in
lives that otherwise were diverging. I'm still a part-owner of the
company and we talk almost daily.
In early 2005, I basically
became ready to leave Preemptive. Not for any nefarious reason. I had
been working remotely for a few years and I was ready for a change. No
matter how you slice it, being remote leaves you out of the action -
and I missed the action. Myself and 2 other guys (Bill joined us 6
months after we incorporated) built the company from scratch and it was
a blast - but not being there, I was unavoidably an afterthought.
was nobody's fault except my own. I really had 2 options - move back to
Cleveland (where HQ is) or look to advance my life in another
As luck would have it - life brought me to Silicon
Valley. I had lived here before, but here I was again. And this time -
I was looking for a job. At the time (April 2005) I was hearing plenty
of buzz about Google, but honestly, after doing some comprehensive
research on slashdot (*snicker*) it seemed like the luster might be
have been off. I read (again, from the reliable people in-the-know that
post comments on slashdot) that the hard problems had been solved. The
big money had already been made. The cool people had come and gone. It
seemed like the "party was over".
Just before my move, I attended the Software Development
conference in the valley where I chair the Java track. Its a fun
conference and the timing was perfect to give me a chance to look for a
place to live. The thing about that conference is that it does a great
job of attracting big names in the industry to speak. Consequently, the
speaker party is always a ton of fun.
During that party I had
a conversation with two very well known Java authors (who were
appropriately snooty) where we got into a discussion about Google. It
turns out that both of these "industry pundits" interviewed and were
rejected (obviously, I'm carefully leaving their names out). I had
heard about Google's "legendary" interviews - but I figured with a few
books on your resume, how could you not get in?
Now mind you,
after writing a computer book of my own and meeting many computer book
authors, books don't impress me much. Writing a computer book is like
getting a Ph.D. - its 10% talent, 10% luck, and 80% persistence (Ph.Ds
"usually" take longer, but not always). And that's that. I'm not saying
its easy, but a book definitely doesn't make computer book authors
necessarily luminary or anything. This is probably especially true for
books that don't invent anything (i.e., just cover an existing language
Anyway, both of these snooty guys then proceeded to
snoot on me how I probably shouldn't even bother as I don't have a
chance (Again, I only wrote one book). Well, as you can imagine, it was
now a moral imperative that I at least give it a try. If I didn't get
in, I wouldn't be stupid enough to brag about it at parties. If I did
get in, I could snoot back next time we met.
I'll admit that
stories of Google's interviewing process scared me a bit. There was
also a nagging question as to whether I'd apply as a manager or
engineer. For the past 8 years I had been in management running my own
start up. I hired, I fired, I made marketing plans, I built products, I
built teams, I schmoozed clients, I did strategy. Granted, after 5pm I
often found myself still coding - but that wasn't at all my main job.
needed to decide whether to apply at Google as a (probably technical)
manager or as an engineer. I preferred a managerial role but two things
worried me. 1) I had no formal business education (which turned out to
be way less important than I thought, read below). And, 2), business
interviews (anywhere) are what we call non-deterministic. Basically,
you can give great answers, but if the interviewer doesn't like you,
you can get a bad review. With engineering, the questions have a
"right" and a "wrong" answer - or reasonable facsimiles thereof. The
interviewer can dislike you, but they can't say you're wrong if you're
Personally, I think I'm a better manager than I am an engineer. But I had no metric to know what they'd think.
keep in mind, those two assumptions above are BEFORE I ever set foot on
Google's campus. I had no idea what to expect, I was just making
calculated risks. But based on these unknowns, I chose to apply as an
I interviewed at several companies in the valley
(become.com gave me an offer on the spot. It was surprisingly low and
the CTO informed me it was a mandatory 54hour work week - wtf?). I also
started interviewing at Google. At that point, I was still pretty
skeptical about the idea of working there. I expected a lot of
"attitude". I was pretty surprised when I got none.
engineers I met in my interviews were passionate about development.
That was it. They wanted to know if I was passionate about it too. They
were excited about Google. They were excited about making cool stuff.
There was no attitude, no snoot - just dev talk.
became immediately clear to me why the snooty authors didn't get
whisked in based on their resumes alone. It was, in my estimation, the
most honest interview I had ever been given. It was me, the
interviewer, and the whiteboard.
The logic is pretty clear. Your
resume tells what you did, which is great. And they did look at it. But
they were far more interested in what I could do.
On the whiteboard.
that no system is perfect and assuming they were allotting for
interviewing nervousness, like I said, I felt this was pretty darn
fair. The interviews were challenging, but also damn fun. When one was
over, I found myself looking forward to the next.
The interview process took a long time. The longer it went on, the more I liked the idea of working at Google.
is a very important old saying about jobs: "If you're the smartest
person where you work, quit". Basically - if you work with people
smarter than you, you'll learn a lot. If you don't, you won't.
wasn't really working anywhere at the time, but it was evident just
from my interviews that there were plenty of people smarter than me at
Google. I liked that idea a lot. The atmosphere was college-like.
Engineers seemed excited and unencumbered.
It dawned on me
that every decade there seems to be a "place" to work as an engineer.
In the 80's it was Xerox Parc, in the 90's it was Microsoft. The 2000s,
to me, felt like it was Google.
Needless to say, I took the job.
a week or two I'm changing to a Java team working with Josh Bloch,
Frank Yellin, and Pablo Bellver. How frickin cool is that? I can't
think of a better place to be as an engineer (unless you're in
Cleveland! then go work for Preemptive! :).
And as far as the
snooty authors go, I still see them. Of course, they've written off my
working at Google as "lucky" or a fluke. That's all not very relevant
now as I pretty much blotted them out of my mind the instant I started
interviewing. In fact, I completely forgot about them until the next
year when I saw them again and they re-applied their snootage.
admit my entrepreneurial side itches every now and then, and, as usual,
I have a half-dozen projects/websites I work on in my free time. But as
far as a day job goes, I'm good. Now when I'm asked why I work at
Google, I pretty much ask back "where else would I want to?". And I
assure you, there are still plenty of hard problems, plenty of passion,
and the party - is - most definitely, not over.
Recently, I had the pleasure of interviewing with Google. It was
very exciting, as I've wanted to work for Google for quite some time,
and they opened up a branch near my home through an acquisition
recently. I wanted to share the process of interviewing with Google,
not because it was particularly noteworthy, but because I wondered
about interviewing with Google before I did so, and I figured others
might. I've had to sign an NDA, so I'm going to be pretty careful about
what I share in this post.
The position I interviewed for was a Software Engineer position in
the Boulder, Colorado office (near where I live), but they still
conduct their interviews from the California office. Because I'm not in
California, I had to go through two phone interviews first. The
questions Google asks are pretty interesting for a number of reasons. I
think the best word I could use to describe the questions is "fair". I
didn't get any tricky puzzle questions. Nobody asked me what I would do
if I were shrunk to the size of a nickel and thrown in a blender. Not a
single question was an "a-ha!" type brain-teaser. Pretty much every
question was a good question for figuring out if someone can write
code. Even though I was interviewing for a Java position, I only had
one Java-specific question. I could really feel from the questions that
Google wasn't concerned with me being good with a specific language;
they really wanted to know if I was just a good coder.
When I was first told by the recruiter that the questions would be
algorithm-based, I was worried I'd have to reproduce quicksort or
something. In fact, the questions were far, far more reasonable (though
reviewing sorting algorithms WAS a good idea). Most of them involved
manipulating data in an array for some purpose. I'd give an answer that
worked, and they'd ask me if there were any corner cases. I was asked
to solve the problem in a way that avoided those problems. Then I was
asked to improve the space efficiency or running efficiency of the
solution. A solution that "worked" was never enough, the interviewers
always pushed me further, trying to squeeze out performance. I had to
say the runtime complexity for nearly every solution I suggested. I
would NOT recommend interviewing with Google without a Computer Science
degree. You need to be able to look at a function and know the Big-O
for it immediately. Specifically, you need to look at YOUR OWN
functions and know the Big-O immediately.
After doing well with both of these interviews, Google actually flew
me out to California for a weekend for an all-day interview on the
Google campus. They paid for my plane ticket, hotel room, rental car,
and some food. I bought a second ticket for my fiancee and we did
touristy crap around San Francisco. Overall, it was a lot of fun, but I
couldn't help but keep the back of my head occupied with the thought of
an all-day interview.
On Monday, I went to the Google campus. In the main lobby, they have
a projector with a scrolling list of Google searches. I sat in the
lobby waiting for my interview to begin, happily watching the searches
scroll by. Lots of female celebrities were being searched, and someone
searched for "vista crack" which made me laugh out loud, ensuring the
receptionist thought I was an idiot. I sent my fiancee a text message
telling her to search for "Rod is awesome" but it didn't show up. They
also had a neat visualization showing where people were doing searches
on a spinning globe.
Pictures of Googlers with celebrities adorned the wall next to the
new Google whiteboard. For those that don't know, Google has a giant whiteboard
which was finally erased not too long ago. Before being erased, someone
took pictures and posted them to the internet. The new board was
already mostly full by the time I saw it, and a large section of it was
devoted to complaining about the board being erased.
I also had lunch in one of the cafes on campus. The Google cafes are
all buffet-style, and completely free. You simply walk in, grab
whatever the hell you want, and leave. My "lunch-date" was one of my
phone interviewers, and he took me to the health food cafe. Salads,
tofu, bean sprouts, and similar food items filled the buffet. I
searched desperately for some meat and filled my plate when I finally
found it. I'm definitely NOT a California person. People looked at me
like I personally killed a cow in front of them.
The on-site interviews were much like the phone interviews. I had
one-on-one meetings with a handful of people, one after another. Each
person asked me algorithm-type questions. I did some whiteboarding, but
was mostly able to write the answers in my notebook, which was better
for me as I could keep up with my brain much more easily on paper than
on a whiteboard. It was sometimes difficult to focus on the questions
while "OH MY GOD I'M INTERVIEWING WITH FUCKING GOOGLE" whizzed by in my
brain over and over. Luckily, pretty much everyone was extremely
friendly, which helped calm my considerable nerves.
The biggest difference in the questions between phone and on-site
interviews was how my answers had to be presented. On the phone, it was
sufficient that I explain, at a high-level, how the solution to a
problem would work. On-site, I had to actually write it out. Of my four
interviewers, two actually wanted it to be valid Java.
I finished early with one of my interviewers, and he asked me a joke
question: if a Stormtrooper shoots a red-shirt, does he hit? It was
comical how universal this seemed. Of course I'd know what he was
talking about, I write software. Luckily, I was familiar with the term redshirt
from being a film nerd, and I was able to come up with a joke answer
that didn't let him on to the fact I've never seen a single episode of
Star Trek in my life.
The worst part of the process was my fourth and final interview of
the day. The guy was from Moscow, and he had a very thick accent. All
of my life, I've had immense trouble with accents, even slight ones. My
project manager at work has a thick accent from Italy, and she
basically sounds like Chewbacca to me. I'm not complaining that Moscow
Guy had an accent (all tech companies have folks with accents), but it
sure made the rest of the interview process challenging for me. My
interview with the Moscow Guy resembled one of those satellite
interviews on the news. He'd say something to me, and there'd be this
long pause before I responded. To make matters worse, he told me his
first question was going to be "an easy one", so when I barely
understood what he said at all, I imagine I looked like a complete
imbecile. "What was that? You want me to WHAT two numbers together? Mo
de ploy? Mah dah bu? Oh, multiply! Right, two times two is four. I'm
obviously partially retarded."
To make matters worse, the Moscow guy was the only person I talked
to the entire day who wasn't friendly. He wasn't a complete jerk or
anything, but he definitely wasn't as warm as my other interviewers.
Right before the interview ended, he asked me what I'd work on for my
"20% time" project. Each Google employee gets to devote 20% of their time to a side project,
which is why so many of the Google Labs projects exist (like Gmail and
Movie Search). I actually had an answer to this question, since I
thought about it on the plane ride out to California. There's been a
side project I've been wanting to work on at home, but I haven't had
time. I figured, if I got the job, I'd just make that a Google Labs
project and do it there. I explained my idea to him, and he told me it
sounded interesting, then proceeded to write it down right in front of
me. All I could think was "I hope I get this job so I don't regret
I imagine the four interview feedback e-mails looked like this:
"Candidate knew his stuff, but seemed awfully nervous."
"Candidate knew his stuff and seemed relatively comfortable."
"Candidate kept joking around like I was his friend. Clearly was
not nervous enough, given that he was interviewing at FUCKING GOOGLE."
"Candidate seemed to have the brain of a chimp. Was surprised he
could speak without forgetting to breathe. Interviewer confident
candidate eats glue."
I flew back to Colorado feeling pretty good about the whole thing.
As it turns out, though, I was told over the phone (while trying to
push a car out of the snow during the Denver blizzard) that I didn't
get the position. I need to work on my algorithm skills, so I guess I
got docked for not thinking of the best solution right away. The Google
Recruiter told me it wasn't the last guy that did me in, but I imagine
if I had tried to come up with the best solution earlier (rather than
the naive one so I could improve it) and if I had gotten a different
interviewer for my last interview, I'd be writing this blog post from
my desk at Google.
Considering how much I wanted the job, I admit I'm pretty bummed
about this. I'm allowed to re-apply in a year, but I can't imagine
improving my "algorithm skills" without more information on where my
problem areas were. What's really unfortunate is that I know if Google
had hired me, I'd have done a good job. If I see my idea appear on
Google Labs any time soon, I'm going to go nuts.
All in all, it was a pretty pleasant experience. I'm disappointed,
but I'm proud of myself for at least being considered seriously by
Google. It was honestly kind of fun answering their interview
questions. The questions reminded me of my undergraduate work, and it
was nice to think about that kind of material again. I'm bummed that my
progress into the world of Google came to such a screeching halt, but
the journey has definitely been fun and interesting. And hey, I got a
free trip to San Francisco out of it.
I also got a private e-mail. It was from someone at Google. He
explained that my post had been circulating around the Google office
and when it got to him, it piqued his interest.
Essentially, he wanted me to come work for him in Mountain View. He
was looking for Java folks for his team, and he thought I'd be a good
fit. I jumped out of my chair when I read this, amazed some additional
life had been breathed into my foray into the world of Google. The more
I considered the e-mail, however, the more a part of me wanted to say
His offer was essentially doing some semi-internal development for
Google. I wanted to work on their web application back-ends, so that
was a tad disappointing. Could that be the reason I wanted to turn him
down? That didn't seem right, I had been joking for a while that I'd be
happy to clean toilets at Google. Writing code is writing code.
The position was also contract-to-hire, which didn't roll my socks
up and down. But I had been saying that once I got my foot in the door,
I'd be alright. I knew I'd do fine at Google if I worked there, so I
wasn't too concerned I wouldn't be hired permanently at the end of the
contract work. No, it wasn't the contract aspect that bothered me.
He also told me that I'd have to spend three months in California
doing the job. I'd then have to spend three months in California in a
permanent position in order to "culturally integrate" before I could go
back to Colorado and work in the Boulder office. This definitely
bothered me. Since I would want to continue living in Colorado, I'd
basically have to live in a hotel in California while Julia (my
fiancee) stayed here in Colorado for 6 months. I just got engaged a
month ago, and the idea of abandoning the family I'm just starting for
Google seemed completely unfair. If I had gotten the job I originally
interviewed for, I'd only have to be in CA for one week for training,
so 6 months was a pretty big deal. When I told Julia, she told me that
she could handle 6 months, and if I wanted to take this position I
should. She was completely supportive of whatever I wanted to do. So it
wasn't even the 6 months away from my home that was driving me to turn
the position down.
I thought about this for days. I couldn't figure out what about the offer I didn't like, so shouldn't I take it?
Eventually I figured out what I didn't like about the situation and
I turned it down. I don't think I could explain my rationale better
than I did in my e-mail to the guy from Google, so here is what I told
I've been thinking about your e-mail for a few days and I've finally
made a decision. This was not a decision I made lightly by any stretch.
Let me start out by saying thank you for e-mailing me and giving me
another potential shot at Google. I hope you don't mind, but I'd like
to update my blog story with this additional bit, though I won't be
using your name or any details.
As I said in e-mail and via the blog post, there is no place I'd
rather work than Google. Google, to me, is Mecca for software
developers. Google does amazing work that improves the entire world.
There is no better way to put my software development skills to use
than at Google, where I'd be doing good work to make life better for
My personality, my desire to learn, my goal of improving the world -
all of these tell me that Google would be the best place I could work.
I know Google is right for me.
But am I right for Google? The interview process concluded with a
resounding "no". Google decided that I am not a good fit for the
company, and sent me back to Colorado. The fact that I made a funny
blog post describing my journey doesn't change the fact that, from a
technical standpoint, Google considers me below their standards.
Despite the conclusion of the interview, I believe I *AM* right for
Google. I believe that, if I interview again after improving my
algorithm skills and becoming more confident in my own abilities,
Google will see that I am a good fit and hire me.
In short, I want to work at Google more than I can describe, but I
want to work there because I earned it. I want to start my first day at
Google knowing that I belong there, and knowing that Google knows I
As tempting as your offer is, I feel like it's sneaking into Google
via a backdoor. I want to enter Google through the front door.
I intend on improving my abilities and learning new skills, as I do
all the time as a developer. When I am ready, I will re-apply to
Google, and hopefully I will meet you in the cafeteria during my week
of training in California. :)
Thank you again for your e-mail.
I never imagined I would pass up a chance to work at Google, but
there it is. I think I very well may look back and regret this, but for
the time-being I'm comfortable with my decision.
This, I imagine, actually concludes this story. At least for a while.
Someone in the forum who wants to stay anonymous but says he’s a Google employee writes:
“I regret to inform you that Mark Jen was fired from Google on
Friday, January 28th. I don’t have any details, but I can tell you that
he was quietly let go. An e-mail was sent out to the entire company,
letting us know that the matter many had written to management
expressing their concerns about, had now been taken care of. I
initially thought that this meant that Mark had been told to be more
careful about discussing company financials, but it soon became
apparent that Mark had left the company. I can only assume that his
silence since that date means that they either threatened him or cut
him a sweet severance deal. Whatever happened, it’s a sad day when you
can’t speak openly about both the good and bad at your chosen place of
work without getting silenced.”
I cannot yet confirm above is true or false. It doesn’t sound
completely unlikely, considering Mark Jen had been openly criticizing
Google Inc. in his blog Ninetyninezeros (“Life @ Google from the inside”), as uncovered here last month.
If Mark was fired, would it be a wrong move by Google? I would say
this depends on the details, most importantly, Mark’s contract. If he
signed a non-disclosure agreement of any sort, then he shouldn’t have
openly spoken about work details. Other Google bloggers seem to handle their work space a little more confidently and do get along fine with their bosses.
It’s another question whether or not this very open blog would have
benefited Google’s public image. For example many believe Microsoft’s
blogger Robert Scoble
has done good things for the company image. And last month, some
already applauded Google’s move to handle the Mark Jen issue so relaxed
(only certain financial details had to be removed, but otherwise,
Mark’s blog stayed intact). The same people might now not look at this
so optimistic anymore.
Update: It has been confirmed to me by Google Mark Jen is indeed no longer an employee at Google.
Update 2: Jeremy Zawodny of Yahoo had a talk with Mark Jen and says: “Yes, he was fired from Google. It was directly related to his blog.”
A friend of mine has been interviewing for a job at Google. So far
the tale has proven both interesting and amusing. But the thing that
strikes me most of all (of that which I'm allowed to hear about, of
course) is how many interviews--or rounds of interviews have transpired
I think the count is five or six so far.
I used to think that three was the norm. One or two via phone and
then one or two on-site. But it seems that Google (at least in this
case) is a bit more extreme than some companies. In this case it's
something like 3 by phone and 3 on-site.
I may have the numbers off by a bit, but you get the idea. I
wonder how much time, on average, they spend interviewing each
person. It's gotta be pretty high.
Oh, wait. I remember reading about that somewhere recently...
Wonder if Google can help me figure out where.
(time goes by)
I give up. Can't find it. I know it was a magazine piece. Maybe
Forbes, Fortune, Wired, Fast Company... Someone like that. But I'll
be damned if I can come up with the right keywords to locate it again.
And I use too many browsers to try going digging through the history
on each of 'em.
Anyone know which article I'm talking about?
Well, just don't think too hard about the fact that I can't find a
particular piece of information about a search engine using that
search engine--even though I know it's out there
Update: That was fast. As you'll notice in the comments, Gregory Williams found the story I was remembering.