|
@@ -56,16 +56,12 @@
|
|
|
|
|
|
---
|
|
|
|
|
|
-## Table of Contents
|
|
|
+## 목차
|
|
|
|
|
|
- [코딩 인터뷰 대학이란?](#코딩-인터뷰-대학이란)
|
|
|
- [Why use it?](#why-use-it)
|
|
|
- [How to use it?](#how-to-use-it)
|
|
|
-- [구글 분위기 내기](#구글-분위기-내기)
|
|
|
-- [Did I Get the Job](#did-i-get-the-job)
|
|
|
-- [팔로우 하려면](#팔로우-하려면)
|
|
|
- [당신은 충분히 똑똑합니다](#당신은-충분히-똑똑합니다)
|
|
|
-- [구글에 대해](#구글에-대해)
|
|
|
- [영상 자료에 관하여](#영상-자료에-관하여)
|
|
|
- [인터뷰 과정 & 전반적인 인터뷰 준비 과정](#인터뷰-과정--전반적인-인터뷰-준비-과정)
|
|
|
- [인터뷰를 위한 언어 고르기](#인터뷰를-위한-언어-고르기)
|
|
@@ -172,10 +168,10 @@
|
|
|
- [기하학, 볼록 껍질](#geometry-convex-hull)
|
|
|
- [이산수학](#discrete-math)
|
|
|
- [기계학습](#machine-learning)
|
|
|
- - [Go](#go)
|
|
|
- [몇몇 주제에 대한 세부사항](#additional-detail-on-some-subjects)
|
|
|
-- [영상 자료](#video-series)
|
|
|
-- [컴퓨터 과학 강좌](#computer-science-courses)
|
|
|
+- [영상 자료](#영상-자료)
|
|
|
+- [컴퓨터 과학 강의들](#computer-science-courses)
|
|
|
+- [라이센스](#라이센스)
|
|
|
|
|
|
---
|
|
|
|
|
@@ -194,7 +190,7 @@
|
|
|
하지만 이 공부 계획을 진행하면서 나는 내가 고용될 것이라는 자신감을 갖게 되었다. 이 것은 내게 여러 달이 필요한 긴 계획이다.
|
|
|
만약 당신이 이 중 많은 내용에 익숙하다면 시간은 훨씬 덜 들 것이다.
|
|
|
|
|
|
-## How to use it
|
|
|
+## How to use it?
|
|
|
|
|
|
아래의 모든 것은 대략적인 개요이며 당신은 위에서 아래 순서대로 진행해야 한다.
|
|
|
|
|
@@ -222,59 +218,12 @@
|
|
|
|
|
|
[Github-flavored markdown에 대하여](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
|
|
|
|
|
|
-## 구글 분위기 내기
|
|
|
-
|
|
|
-"[미래의 구글러](https://github.com/jwasham/google-interview-university/blob/master/extras/future-googler.pdf)"를 인쇄하고
|
|
|
-자주 바라보자.
|
|
|
-
|
|
|
-[](https://github.com/jwasham/google-interview-university/blob/master/extras/future-googler.pdf)
|
|
|
-
|
|
|
-## Did I Get the Job?
|
|
|
-
|
|
|
-I'm in the queue right now. Hope to interview soon.
|
|
|
-
|
|
|
- Thanks for the referral, JP.
|
|
|
-
|
|
|
-## 팔로우 하려면
|
|
|
-
|
|
|
-나의 이야기: [내가 구글 인터뷰를 풀 타임으로 8 개월 동안 공부한 이유](https://www.vobour.com/book/view/fiRGQMcmRkaw7pgpL) (원문 : [Why I Studied Full-Time for 8 Months for a Google Interview](https://medium.com/@googleyasheck/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13))
|
|
|
-
|
|
|
-
|
|
|
-저의 구글로 향하는 여행 함께 해주세요!
|
|
|
-- **블로그**: [GoogleyAsHeck.com](https://googleyasheck.com/)
|
|
|
-- Twitter: [@googleyasheck](https://twitter.com/googleyasheck)
|
|
|
-- Twitter: [@StartupNextDoor](https://twitter.com/StartupNextDoor)
|
|
|
-- Google+: [+Googleyasheck](https://plus.google.com/+Googleyasheck)
|
|
|
-- LinkedIn: [johnawasham](https://www.linkedin.com/in/johnawasham)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
## 당신은 충분히 똑똑합니다
|
|
|
- 구글 엔지니어들은 똑똑합니다. 하지만 그들 조차도 자신들의 지적 능력면에 대해서 불안감을 갖기 일쑤입니다.
|
|
|
- [천재 프로그래머에 대한 미신(迷信)](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
|
- [위험한 홀로서기: 테크 산업의 보이지 않는 괴물들의 전쟁](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
|
|
|
|
-## 구글에 대해
|
|
|
-
|
|
|
-- [ ] 학생들을 위한 자료 - [구글 채용 정보: 기술 개발 가이드](https://www.google.com/about/careers/students/guide-to-technical-development.html)
|
|
|
-- [ ] 검색 동작 원리:
|
|
|
- - [ ] [검색의 진화 - 동영상](https://www.youtube.com/watch?v=mTBShTwCnD4)
|
|
|
- - [ ] [검색 동작 원리 - 스토리](https://www.google.com/insidesearch/howsearchworks/thestory/)
|
|
|
- - [ ] [검색 동작 원리](https://www.google.com/insidesearch/howsearchworks/)
|
|
|
- - [ ] [검색 동작 원리 - 맷 커츠(Matt Cutts) - 동영상](https://www.youtube.com/watch?v=BNHR6IQJGZs)
|
|
|
- - [ ] [구글의 검색 알고리즘 개선 방법 - 동영상](https://www.youtube.com/watch?v=J5RZOU6vK4Q)
|
|
|
-- [ ] 시리즈:
|
|
|
- - [ ] [구글 검색이 모바일을 처리하는 방법](https://backchannel.com/how-google-search-dealt-with-mobile-33bc09852dc9)
|
|
|
- - [ ] [우리의 니즈를 발견하기 위한 구글의 비밀 연구](https://backchannel.com/googles-secret-study-to-find-out-our-needs-eba8700263bf)
|
|
|
- - [ ] [구글 검색은 당신의 두뇌가 된다](https://backchannel.com/google-search-will-be-your-next-brain-5207c26e4523)
|
|
|
- - [ ] [데미스 허사비스(Demis Hassabis)의 딥마인드](https://backchannel.com/the-deep-mind-of-demis-hassabis-156112890d8a)
|
|
|
-- [ ] [책: 구글은 어떻게 일하는가](https://www.amazon.com/How-Google-Works-Eric-Schmidt/dp/1455582344)
|
|
|
-- [ ] [구글 발표자료 - 2016.10 - 동영상](https://www.youtube.com/watch?v=q4y0KOeXViI)
|
|
|
-
|
|
|
-## 비디오 자료
|
|
|
-
|
|
|
-
|
|
|
## 영상 자료에 관하여
|
|
|
|
|
|
몇몇 영상들은 Cousera, Edx, Lynda.com 클래스에 등록하여야만 시청이 가능합니다. 이것들은 MOOCs라고 불리는데요.
|
|
@@ -940,22 +889,27 @@ Anki format의 내 flashcard 데이터베이스: https://ankiweb.net/shared/info
|
|
|
- [ ] [Randomization: Matrix Multiply, Quicksort, Freivalds' algorithm (video)](https://www.youtube.com/watch?v=cNB2lADK3_s&index=8&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
|
|
- [ ] [Sorting in Linear Time (video)](https://www.youtube.com/watch?v=pOKy3RZbSws&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=14)
|
|
|
|
|
|
+As a summary, here is a visual representation of [15 sorting algorithms](https://www.youtube.com/watch?v=kPRA0W1kECg).
|
|
|
If you need more detail on this subject, see "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
|
|
|
|
|
|
## 그래프
|
|
|
|
|
|
그래프는 컴퓨터 과학의 여러 문제들을 표현하는 데 사용할 수 있다. 때문에 이 섹션은 트리나 정렬 섹션처럼 길다.
|
|
|
|
|
|
-- Yegge의 노트:
|
|
|
+- 노트:
|
|
|
- 메모리에 그래프를 표시하는 세 가지 기본 방법이 있다:
|
|
|
- 오브젝트와 포인터
|
|
|
- 행렬
|
|
|
- 인접 리스트
|
|
|
- 각각의 표현과 장단점을 숙지하라.
|
|
|
- - 넓이우선탐색(BFS)와 깊이우선탐색(DFS) - 계산상의 복잡성, 장단점, 실제 코드로 구현하는 방법을 알아야 한다.
|
|
|
+ - 넓이 우선 탐색(BFS)와 깊이 우선 탐색(DFS) - 계산상의 복잡성, 장단점, 실제 코드로 구현하는 방법을 알아야 한다.
|
|
|
- 질문을 받을 시 먼저 그래프 기반 솔루션을 찾고, 없을 경우에 다른 솔루션으로 넘어가라.
|
|
|
|
|
|
-- [ ] Skiena의 강좌 - 훌륭한 인트로:
|
|
|
+- [ ] MIT(영상):
|
|
|
+ - [ ] [너비 우선 탐색(BFS;Breadth-First Search)](https://www.youtube.com/watch?v=s-CYnVz-uh4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=13)
|
|
|
+ - [ ] [깊이 우선 탐색(DFS;Depth-First Search)]((https://www.youtube.com/watch?v=AfSk24UTFS8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=14)
|
|
|
+
|
|
|
+- [ ] Skiena의 강좌 - 시작하기 아주 좋습니다:
|
|
|
- [ ] [CSE373 2012 - Lecture 11 - Graph Data Structures (video)](https://www.youtube.com/watch?v=OiXxhDrFruw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=11)
|
|
|
- [ ] [CSE373 2012 - Lecture 12 - Breadth-First Search (video)](https://www.youtube.com/watch?v=g5vF8jscteo&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=12)
|
|
|
- [ ] [CSE373 2012 - Lecture 13 - Graph Algorithms (video)](https://www.youtube.com/watch?v=S23W6eTcqdY&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=13)
|
|
@@ -973,21 +927,14 @@ If you need more detail on this subject, see "Sorting" section in [Additional De
|
|
|
- [ ] [Aduni: Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7 (video)]( https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
|
|
|
- [ ] [Aduni: Graph Algorithms III: Shortest Path - Lecture 8 (video)](https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8)
|
|
|
- [ ] [Aduni: Graph Alg. IV: Intro to geometric algorithms - Lecture 9 (video)](https://www.youtube.com/watch?v=XIAQRlNkJAw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=9)
|
|
|
- - [ ] [CS 61B 2014 (starting at 58:09) (video)](https://youtu.be/dgjX4HdMI-Q?list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&t=3489)
|
|
|
- - [ ] [CS 61B 2014: Weighted graphs (video)](https://www.youtube.com/watch?v=aJjlQCFwylA&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=19)
|
|
|
+ - [ ] ~~[CS 61B 2014 (starting at 58:09) (video)](https://youtu.be/dgjX4HdMI-Q?list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&t=3489)~~
|
|
|
+ - [ ] [CS 61B 2014: Weighted graphs (video)](https://archive.org/details/ucberkeley_webcast_zFbq8vOZ_0k)
|
|
|
- [ ] [Greedy Algorithms: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
|
|
- [ ] [Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
|
|
|
|
|
|
- Full Coursera Course:
|
|
|
- [ ] [Algorithms on Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
|
|
|
|
|
|
-- Yegge: 기회가 된다면, 더 멋진 알고리즘을 연구해 보라:
|
|
|
- - [ ] Dijkstra's algorithm - see above - 6.006
|
|
|
- - [ ] A*
|
|
|
- - [ ] [A Search Algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm)
|
|
|
- - [ ] [A* Pathfinding Tutorial (video)](https://www.youtube.com/watch?v=KNXfSOx4eEE)
|
|
|
- - [ ] [A* Pathfinding (E01: algorithm explanation) (video)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
|
|
|
-
|
|
|
- 내가 구현할 것:
|
|
|
- [ ] DFS with adjacency list (recursive)
|
|
|
- [ ] DFS with adjacency list (iterative with stack)
|
|
@@ -1239,8 +1186,58 @@ Skiena의 책(아래의 책 섹션 참조)과 인터뷰 책에서 더 많은 그
|
|
|
|
|
|
If you need more detail on this subject, see "String Matching" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
|
|
|
|
|
|
+- ### Tries
|
|
|
+ - Note there are different kinds of tries. Some have prefixes, some don't, and some use string instead of bits
|
|
|
+ to track the path.
|
|
|
+ - I read through code, but will not implement.
|
|
|
+ - [ ] [Sedgewick - Tries (3 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
|
|
|
+ - [ ] [1. R Way Tries](https://www.coursera.org/learn/algorithms-part2/lecture/CPVdr/r-way-tries)
|
|
|
+ - [ ] [2. Ternary Search Tries](https://www.coursera.org/learn/algorithms-part2/lecture/yQM8K/ternary-search-tries)
|
|
|
+ - [ ] [3. Character Based Operations](https://www.coursera.org/learn/algorithms-part2/lecture/jwNmV/character-based-operations)
|
|
|
+ - [ ] [Notes on Data Structures and Programming Techniques](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries)
|
|
|
+ - [ ] Short course videos:
|
|
|
+ - [ ] [Introduction To Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/08Xyf/core-introduction-to-tries)
|
|
|
+ - [ ] [Performance Of Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries)
|
|
|
+ - [ ] [Implementing A Trie (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie)
|
|
|
+ - [ ] [The Trie: A Neglected Data Structure](https://www.toptal.com/java/the-trie-a-neglected-data-structure)
|
|
|
+ - [ ] [TopCoder - Using Tries](https://www.topcoder.com/community/competitive-programming/tutorials/using-tries/)
|
|
|
+ - [ ] [Stanford Lecture (real world use case) (video)](https://www.youtube.com/watch?v=TJ8SkcUSdbU)
|
|
|
+ - [ ] [MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through)](https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
|
|
|
+
|
|
|
+- ### Floating Point Numbers
|
|
|
+ - [ ] simple 8-bit: [Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description)](https://www.youtube.com/watch?v=ji3SfClm8TU)
|
|
|
+ - [ ] 32 bit: [IEEE754 32-bit floating point binary (video)](https://www.youtube.com/watch?v=50ZYcZebIec)
|
|
|
+
|
|
|
+- ### Unicode
|
|
|
+ - [ ] [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets]( http://www.joelonsoftware.com/articles/Unicode.html)
|
|
|
+ - [ ] [What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text](http://kunststube.net/encoding/)
|
|
|
+
|
|
|
+- ### Endianness
|
|
|
+ - [ ] [Big And Little Endian](https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html)
|
|
|
+ - [ ] [Big Endian Vs Little Endian (video)](https://www.youtube.com/watch?v=JrNF0KRAlyo)
|
|
|
+ - [ ] [Big And Little Endian Inside/Out (video)](https://www.youtube.com/watch?v=oBSuXP-1Tc0)
|
|
|
+ - Very technical talk for kernel devs. Don't worry if most is over your head.
|
|
|
+ - The first half is enough.
|
|
|
+
|
|
|
---
|
|
|
|
|
|
+- ### Networking
|
|
|
+ - **if you have networking experience or want to be a reliability engineer or operations engineer, expect questions**
|
|
|
+ - otherwise, this is just good to know
|
|
|
+ - [ ] [Khan Academy](https://www.khanacademy.org/computing/computer-science/internet-intro)
|
|
|
+ - [ ] [UDP and TCP: Comparison of Transport Protocols](https://www.youtube.com/watch?v=Vdc8TCESIg8)
|
|
|
+ - [ ] [TCP/IP and the OSI Model Explained!](https://www.youtube.com/watch?v=e5DEVa9eSN0)
|
|
|
+ - [ ] [Packet Transmission across the Internet. Networking & TCP/IP tutorial.](https://www.youtube.com/watch?v=nomyRJehhnM)
|
|
|
+ - [ ] [HTTP](https://www.youtube.com/watch?v=WGJrLqtX7As)
|
|
|
+ - [ ] [SSL and HTTPS](https://www.youtube.com/watch?v=S2iBR2ZlZf0)
|
|
|
+ - [ ] [SSL/TLS](https://www.youtube.com/watch?v=Rp3iZUvXWlM)
|
|
|
+ - [ ] [HTTP 2.0](https://www.youtube.com/watch?v=E9FxNzv1Tr8)
|
|
|
+ - [ ] [Video Series (21 videos)](https://www.youtube.com/playlist?list=PLEbnTDJUr_IegfoqO4iPnPYQui46QqT0j)
|
|
|
+ - [ ] [Subnetting Demystified - Part 5 CIDR Notation](https://www.youtube.com/watch?v=t5xYI0jzOf4)
|
|
|
+ - [ ] Sockets:
|
|
|
+ - [ ] [Java - Sockets - Introduction (video)](https://www.youtube.com/watch?v=6G_W54zuadg&t=6s)
|
|
|
+ - [ ] [Socket Programming (video)](https://www.youtube.com/watch?v=G75vN2mnJeQ)
|
|
|
+
|
|
|
## System Design, Scalability, Data Handling
|
|
|
- **You can expect system design questions if you have 4+ years of experience.**
|
|
|
- Scalability and System Design are very large topics with many topics and resources, since
|
|
@@ -1924,16 +1921,6 @@ You're never really done.
|
|
|
- [Machine Learning for Software Engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers)
|
|
|
- Data School: http://www.dataschool.io/
|
|
|
|
|
|
-- ### Go
|
|
|
- - [ ] Videos:
|
|
|
- - [ ] [Why Learn Go?](https://www.youtube.com/watch?v=FTl0tl9BGdc)
|
|
|
- - [ ] [Go Programming](https://www.youtube.com/watch?v=CF9S4QZuV30)
|
|
|
- - [ ] [A Tour of Go](https://www.youtube.com/watch?v=ytEkHepK08c)
|
|
|
- - [ ] Books:
|
|
|
- - [ ] [An Introduction to Programming in Go (read free online)](https://www.golang-book.com/books/intro)
|
|
|
- - [ ] [The Go Programming Language (Donovan & Kernighan)](https://www.amazon.com/Programming-Language-Addison-Wesley-Professional-Computing/dp/0134190440)
|
|
|
- - [ ] [Bootcamp](https://www.golang-book.com/guides/bootcamp)
|
|
|
-
|
|
|
--
|
|
|
|
|
|
## Additional Detail on Some Subjects
|
|
@@ -2070,7 +2057,11 @@ Sit back and enjoy. "Netflix and skill" :P
|
|
|
|
|
|
- [ ] [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
|
|
|
|
|
|
-## 컴퓨터 공학 코스
|
|
|
+## Computer Science Courses
|
|
|
|
|
|
- [온라인 CS 코스의 경로](https://github.com/open-source-society/computer-science)
|
|
|
- [CS 코스의 경로 (많은 온라인 강의가 포함되어 있는 경로)](https://github.com/prakhar1989/awesome-courses)
|
|
|
+
|
|
|
+## 라이센스
|
|
|
+
|
|
|
+[CC-BY-SA-4.0](./LICENSE.txt)
|