# Google Leetcode

## Google Interview (by Leetcode)

Here is the info from leetcode about google interview.

## Google Interview Process

### Google Phone Interview

The phone screen usually last between 30 and 60 minutes.

Your phone interview will cover data structures and algorithms. Be prepared to write around 20-30 lines of code in your strongest language. This should be clean, rich, robust code.

Your interviewer will ask one or two coding questions with lots of follow up questions. Be prepared to talk through your thought process while writing code in a Google Doc that you’ll share with your interviewer. We recommend using a hands-free headset or speakerphone so you can type freely.

1. You will be asked an open ended question. Ask clarifying questions, devise requirements.
2. You will be asked to explain it in an algorithm.
3.  Convert it to a workable code.

    (Hint: Don't worry about getting it perfect because time is limited. Write what comes but then refine it later. Also make sure you consider corner cases and edge cases, production ready.)
4. Optimize the code, follow it with test cases and find any bugs.

### Google Onsite Interview

This is it! You've passed the phone interviews and now you have received an onsite interview invitation. Onsite interview is the most important process of a Google interview, and your ability to receive an offer will largely depend on your performance during onsite interviews. Traditionally, the percentage of candidates who will receive an offer after onsite interview is about [1 of 5 to 1 of 7](https://www.quora.com/What-percentage-of-candidates-convert-a-Google-onsite-interview-into-an-offer).

You'll usually meet with five Googlers for about 30 to 45 minutes each, and one of them will be your lunch interviewer who does not submit interview feedback, so take this opportunity to freely ask questions.

All candidates will have the chance to highlight strengths in four different areas:

* General cognitive ability: Open-ended questions are asked to learn how you approach and solve problems. And there’s no one right answer—your ability to explain your thought process and how you use data to inform decisions is what’s most important.
* Leadership: Be prepared to discuss how you have used your communication and decision-making skills to mobilize others. This might be by stepping up to a leadership role at work or with an organization, or by helping a team succeed even when you weren’t officially the leader.
* Role-related knowledge: Google is interested in how your individual strengths combine with your experience to drive impact. Google don’t just look for how you can contribute today, but how you can grow into different roles—including ones that haven’t even been invented yet.
* Googleyness: Share how you work individually and on a team, how you help others, how you navigate ambiguity, and how you push yourself to grow outside of your comfort zone.

Note that Google put heavy emphasis on your analytical abilityregardlessof your job experience. Be prepared to showcase solid understanding of data structures and algorithms. If you have years of experiences in the industry and are rusty in your Computer Science fundamentals, invest more time in brushing up your basic CS fundamental skills. Otherwise, you may[end up being rejected like Max Howell](https://www.quora.com/Whats-the-logic-behind-Google-rejecting-Max-Howell-the-author-of-Homebrew-for-not-being-able-to-invert-a-binary-tree/answer/Max-Howell)for not able to[invert a binary tree](https://leetcode.com/problems/invert-binary-tree).

Google wants to understand your coding skills and technical areas of expertise, including tools or programming languages and general knowledge on topics like data structures and algorithms. There's generally some back and forth in these discussions, just like there is on the job to push each other's thinking and learn about different approaches. So be prepared to talk through your solutions in depth. Push your own boundaries and find the best answer—that’s probably how you work anyway.

Technical onsite interviews at Google were historically conducted on whiteboards, but to provide a more authentic coding experience that’s less time-consuming, Google has started to offer laptops for coding interviews in some sites. These chromebooks have an interview app that let's you choose a coding language of your preference.

Throughout the interview process, feel free to ask your interviewers for clarification to make sure you fully understand their questions.

### Google Hiring Committee

After the onsite interview, each of your interviewers (except the lunch interviewer) will have to submit detailed interview feedback. Each interviewer's feedback is kept hidden from other interviewers to ensure one's feedback does not influence the others. Each interviewer will assign a score and make a Hire / No Hire decision.

Assume the scores from the feedback are good enough, your whole packet will be moved forward to the hiring committee for review.

The hiring committee will review all submitted feedback thoroughly and make a hire / no hire recommendation. For more details about this process, you can[read here](https://www.quora.com/What-happens-during-a-Google-hiring-committee-meeting).

### Google Offer Review

If Hiring Committee recommends hire, congratulations! You have arrived at the final stage of the process. There are about[10-12% candidates not extended offers](https://www.quora.com/My-Google-recruiter-has-asked-me-about-my-current-compensation-and-external-references-Whats-the-probability-of-not-getting-an-offer-from-this-point/answer/Bob-See)at this stage. Recruiter requests for External References and Compensation History, conducts reference checks, and prepares a packet for the Offer Review Process.

**The Offer Review process:**

1. Pre-Review Committee
2. Compensation Committee Review
3. Senior VP Review

There is a small percentage chance of[the offer not getting approved at the final SVP review](https://www.quora.com/Why-would-one-be-rejected-at-the-final-stage-at-Google/answer/Bob-See).
