Tags: , , | Posted by Admin on 10/26/2012 8:37 AM | Comments (0)
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?      
Tags: , , , | Posted by Admin on 3/1/2012 12:04 PM | Comments (1)
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. 
Tags: | Posted by Admin on 2/12/2012 9:25 PM | Comments (0)
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." Be ready to code on a whiteboard. This is tricky if you're used to programming entirely on a computer. "I had never coded on a whiteboard before and I felt like I made a few stupid mistakes. Next up was another mobile developer from another product that they work on in the Google Waterloo office. We started off talking JavaScript performance again and then jumped right into the coding problem on the whiteboard. I was pretty nervous at this point in time and I made a few more silly mistakes that I wouldn’t have done in a proper IDE." (An IDE, or integrated development environment, is a type of software used by developers to write code.) 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.
Tags: , , | Posted by Admin on 2/18/2011 11:04 PM | Comments (0)
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
Tags: , , | Posted by Admin on 12/2/2009 10:34 AM | Comments (0)
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..." Update: 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." Update #2: 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.
Tags: , , | Posted by admin on 3/16/2009 1:57 AM | Comments (0)
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)
Tags: , , | Posted by Admin on 10/27/2008 8:59 AM | Comments (0)
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 opportunity. 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 an undershirt. 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?” “Yes?” “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 cafeteria?” “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 verbatim. 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 world. 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. Original story
Tags: | Posted by Admin on 10/18/2007 3:17 AM | Comments (0)
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.
Tags: , , , , , , , | Posted by Admin on 8/14/2007 8:35 PM | Comments (2)
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 post. 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. Aside from 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. Also, 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! Original story
Tags: , , , , , , , | Posted by Admin on 8/14/2007 9:06 AM | Comments (18)
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. I 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 postponed. 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. The 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 course. 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– Quantum Books. Discount tech books. COOL. I would definitely have to stop there later. Then I got some cheap, awful Chinese food at the food court right 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 studying. I ate dinner in the room, took pictures of the wonderful view of the Boston skyline. Studying 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. The 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. The first 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. I 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. Lunch 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. I 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. General Notes 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. I did 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 it. 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. Of 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. It 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 it’s possible. Lessons Having your own web-site is a no-brainer. Do it. Update and maintain it. Do 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. Don’t 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 <> Practice writing 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. Have 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. Bring 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). If 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. I 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. Original story
Tags: , | Posted by Admin on 1/30/2007 9:55 AM | Comments (13)
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!). The 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. This 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 direction. 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 or API). 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. I 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 right. Personally, I think I'm a better manager than I am an engineer. But I had no metric to know what they'd think. Now 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 engineer. 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. The 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. It also 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. Right now. On the whiteboard. Understanding 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. There 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. I 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. In 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. I'll 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.
Tags: , , , | Posted by Admin on 12/30/2006 5:21 AM | Comments (0)
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 that." 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 no. Why? 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 him: 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 countless individuals. 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 belong there. 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.  
Tags: | Posted by Admin on 2/8/2005 10:39 PM | Comments (0)
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.”
Tags: | Posted by Admin on 3/28/2003 9:53 AM | Comments (5)
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 so far. 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 somewhere. Update: That was fast. As you'll notice in the comments, Gregory Williams found the story I was remembering.