Back

Technical Interview Tips

by Google @uWaterloo



If you wanna skip reading a first year freaking out about seeing google employees for the first time in his life skip to here

Pre Pre Worksop

Just spoke to one of the people presenting and I asked him to give me some feedback on my resume. He gave me his personal email id and told me that he was 200 emails behind....He told me to remind him if he does not respond within a week. Aaaaaaaaaaaaaa I'm going crazy by the hype

Pre-Workshop

It's 6:50 pm and the room is fairly very empty. At this time we have one pizza box per person.

We just saw the shit ton of google stickers, socks and diaries that we're gonna get. Tons of Pizza and drinks. It's gonna be a good night

6:55pm: 5 minutes later, people are starting to pour in and it's gonna be hype

It's 6:57 I am gonna help them layout some swag

Workshop....

It's 7:04 a shit ton of people turned up, I missed out on coke and some pizza but it's alright since I helped people from GOOGLE at laying out their swag
Got some recognition y'all!! Whoop Whoop

Got some pre workshop swag....just a sticker and an android keychain!! But it's enough to raise the hype to extreme!

It's started now,

Caitlin McDonough: Google Waterloo, ON, Canada, University Specialist; gets to come to Uni often.

GOOGLERS: from Mountain View

Rosanne Borja : Analytics team, Front End graduated four years ago from Software Engineering UWaterloo in 2013
James Kunz : Software Engineer at Google Computer Engineering graduate from UWaterloo, Deep Learning Team in Search

Resume

- GPA: Not everything but an indication of success at Google
- Apply to both WaterlooWorks and Google website also
- Talk about end result over how you did it

Designed, Implemented, Configured

- Demonstrate how used techincal skills to solve real world problems and improve your efficiency
- Leadership and team-work skills are key

Interview

Steps for applying:

1. Apply at google students
2. Coding sample(unlimited tries for trial of the software) and Snapshot survey (90 minutes for coding sample and 15 minutes Snapshot Survey)
3. 2 - 3 phone screens: Shared google doc as interview white board
4. Engineering Review and Host Match
5. Hiring Committee Review
6. Offer

Course Syllabus?

1. Data Structures
2. Algorithms
3. Analysis of your code (time/space complexities)

Preparing for technical interviews

- Practice makes perfect and is never enough
- Do your homework, be willing to do it upfront
- The interviewer is just checking if you did it (it being your homework)
- Do not use pseudo code for the actual interview
- Moving the cursor on the shared google doc (Courier New font - best for code) when someone is staring down on it is scary af, even the whiteboard is scary af. So prepare by practicing, practice under time pressure, it shouldn't kill you
- Tell them about the Internship you want to take(if it's ML/AI) tell them, be sure to tell them
- Information is not shared between interviewers to ensure transparency and avoid any biases
- Charge phone for the phone interview, get a headset if possible, get pen and paper ready, think out loud so that the interviewer knows that you haven't just gone blank

The interview

- Tell them the shitty brute force solution that you come up with.
- Leave extra space on the whiteboard
- Keep track of the time in the interview

Most interviews are: Standard CS algorithms question hidden away in a dark corner, so don't be afraid

Common Mistakes

"we" in the following paragraph refers to the interviewers from google
1. Immediately jumping into code is bad, we want to know how you came up to it and not just what the solution is
- Can help if you are going down the wrong path that will waste your time

2. Not testing
- Discuss testing verbally
- Edge case think
- Simple case
- Analyze complexity (Time and Space)
- Don't waste too much time running a lot of examples

3. Writing in pure pseudocode
- I am using this helper function, do I implement here? or is it ok

4. Force fitting a solution
- Listen to the damn interviewer, he's helping you

5. Premature optimization
- Get your brute force solution up and working before worrying about
- Sometimes brute force may be the only solution, so don't be afraid to say it

6. Not asking what is to be optimized for before actually coding

Know about Hash Map: Needs to be known to do anything in CS

What are the interviewers actually trying to see?

Are you thinking about your ideas clearly/CRISPLY and are you able to unfold it and explain it to the interviewer

Communicate with the interviewer when thinking, don't just stare, tell me what you're thinking. I don't know is a valid response it shows that you didn't get it but are still not afraid to ask questions. The GOOGLE engineer interviewing you is not flawless, they're your helper and you want to guide them through how you are thinking about the problem.

Whenever they speak to you, think....Are they giving you a hint? are they pointing you towards an edge case? Don't just blankly ignore them

They might help with you the initial hurdle and maybe even help you calm down so that you can perform better.

PRACTICE PROBLEM: WIGGLE SORT

Sort an array of number u = [u1, u2, ..... uN] so that the sorted version is [s1, s2, .....sN] the following wiggly inequalities apply s1 <= s2 >= s3 <= s4 ......

If you get this solution really quickly the interviewer might impose these challenges on you:
- Huge upper bound on size of array
- The array elements are doubles
- Can you prove that there is not a better way to do it?
- Can you parallelize it, and does it improve the efficiency?

AS IN DO YOU OPTIMIZE THE BOTTLENECK?

Express your optimization in a way that helps bring out the factors you want to optimize

You're not looking for that perfect solution, we want to know if you can structure your code in some sane way. Syntax is secondary, closing brackets, semi colons are secondary.

Other than LeetCode , HackkeRank,Pramp.com is another great website that offers mock whiteboard interviews and is highly recommended.

Closing

Holy shit did I get tons of Google merch. Stickers, Notebooks, keychains, socks...you name it I also got to speak to Caitlin, and I asked her on resume tips after which she informed me of a follow up email coming up soon, that would include an article from Google's former SVP of People Operation, whose name she didn't mention but I prompted and confirmed that is was none other than Lazlo Bock. Coming back to the email, she said it would include the link to an article of his on how to structure your resume bullets for the best result.

Here's the email

Here are the links from the email:

- Techinal Resume Tips with Google Recruiters
- How to show 'Project Work' on a resume
- Personal Formula for a Winning Resume
- Google's Updated Tech Dev Guide
- Former Google interview questions