# Google | 인터뷰 과정 ### 1) Technical Phone Screen (Google Hangout, Google Docs) #### Round 1 - 첫 **10분~15분**은 자신의 tech experience 와 skill, project 에 대한 질의를 한다. - 그 다음, **2~4 문제 정도 DSA** (Data Structure & Algorithm) 에 대한 문제를 leet code에 나올 법한 문제들로 낸다. 대개 10~15분에 20~30줄 내로 짤 수 있는 간단한 문제인 경우가 많다. - 지원자의 프로그래밍 언어에 대한 proficiency를 측정하고, 프로그래밍 기본 능력을 바탕으로 하여 간단한 코딩 문제를 해결할 수 있는지에 대한 능력을 측정한다. - 측정 능력 - Computer science principle and applications - Soft skill, desired role #### Round 2 - 그 다음에 두번째 tech interviewer 가 들어온다. 문제 난이도는 Round1보다 더 어려운 문제를 낸다. Interviewer가 보고 싶은 것은 **나의 사고 과정 (process) 과 논리 (reasoning)** 를 보고 싶어한다. #### 마무리 - 마지막 5분정도는 interviewer 에게 질문할 시간을 준다. ### 2) On-site (요즘은 virtual?) - 3~5 round 가 있고, coding, system design, behavioral 에 대한 인터뷰를 진행한다. - Coding: DSA 문제. Leet code 기준 medium-hard 문제를 제한된 시간에 푸는 연습을 하자. Max 30분. - System Design: 상상의 서비스를 개발/개선할 때, 어떻게 시스템을 설계하고 있을까? 예를 들어, monolithic 구조를 어떻게 하면 micro 구조로 변경시킬 수 있을까? - Behavioral: 지원자의 future performance를 측정하기 위해 다양한 상황을 주어주고 과거에 어떤 판단을 내리고 어떤 행동을 했는지에 대해서 물어봄. *과거에 있었던 경험을 토대로 기술하는 방식이 포인트* - 지원자의 problem solving skill, DSA, system design 에 대한 proficiency 를 측정한다. 구글 인터뷰 전 읽어야 할 자료 (이메일 자료) --- - Coding practice (https://codingcompetitions.withgoogle.com/codejam/archive) - Grow Your Technical Skills with Google – Tech Dev Guide (https://techdevguide.withgoogle.com/) - The ‘Google Students’ and ‘Life at Google’ channels on YouTube‘How to Prepare for a Technical Interview at Google’ (https://www.youtube.com/watch?v=OMkfujDPpwc) - ‘See Yourself at Google’ (https://www.youtube.com/user/GoogleStudents) - ‘How We Hire at Google’ (https://www.youtube.com/user/lifeatgoogle) - ‘Example of a Coding Interview at Google’ (https://www.youtube.com/watch?v=XKu_SEDAykw&t=508s) - Project Euler (https://projecteuler.net/) Recruiter 가 공부하라고 하는 주제 --- #### Data Structure - You'll be expected to know and apply: **lists, maps, stacks, priority queues, binary trees, graphs, bags, and sets.** - You'll need to to talk about how they're implemented and why you would choose one implementation or data structure instead of another. #### Algorithm - **greedy algorithms, divide and conquer, dynamic programming, recursion, and brute force search.** #### 주의사항 - DO NOT JUMP STRAIGHT INTO CODING - clarifying questions to understand the question - narrow it down or gather additional information - problems are underspecified because our engineers are looking to see how you engage the problem - Discuss your solution with your interviewer - Explain briefly how you plan to approach the problem - go through your solution at high level - Talk through your thought process while coding too. - the interviewer can follow your progress - Think about ways to improve the solution you'll present 인터뷰 예시 --- - 최근 Google 인터뷰: https://www.geeksforgeeks.org/tag/google/ - Google Technical Phone Screen 질문들: https://www.interviewkickstart.com/interview-questions/google-phone-screen-interview-questions 참고할만한 링크 --- - 구글 인터뷰 대비하는 방법 - https://www.interviewbit.com/google-interview-questions/ - https://www.glassdoor.com/Interview/Google-Interview-Questions-E9079.htm?sort.sortType=RD&sort.ascending=false - 파이썬 관련 인터뷰 질문 대비하는 방법 - https://www.interviewbit.com/python-interview-questions/ 출처 --- 1. https://www.interviewkickstart.com/interview-questions/google-coding-interview-questions 2. https://www.interviewkickstart.com/blog/understanding-the-google-interview-process 3. https://www.interviewkickstart.com/blog/understanding-the-google-interview-process