실리콘밸리에서 통하는 파이썬 인터뷰 가이드
2025년 06월 10일 출간
국내도서 : 2025년 05월 06일 출간
- eBook 상품 정보
- 파일 정보 PDF (5.72MB) | 343 쪽
- ISBN 9791194587408
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)

판매가 17,010원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
베타리더 후기 xiv
추천의 글 xvi
서문 xviii
PART I 면접 프로세스
CHAPTER 1 실리콘밸리 기업 면접 프로세스 3
1.1 일반 전화 인터뷰 3
1.2 기술 전화 인터뷰 4
__1.2.1 스몰 토크 세션 5 / 1.2.2 기술 커뮤니케이션 세션 5 / 1.2.3 질문 세션 6
1.3 현장 면접 6
__1.3.1 현장 면접 질문 세션 7 / 1.3.2 활발한 의사소통 유지하기 8
PART II 데이터 구조
CHAPTER 2 리스트 13
2.1 리스트의 기본 지식 13
__2.1.1 리스트 생성 13 / 2.1.2 리스트 원소 추가 14 / 2.1.3 리스트 원소 삭제 16
2.2 예제 1: 가장 많이 연속되는 1의 개수 구하기 18
2.3 예제 2: 이진수 덧셈 19
2.4 예제 3: 범위 합 구하기 21
__2.4.1 1차원 배열 사용 풀이 21 / 2.4.2 2차원 배열 사용 풀이 22
2.5 예제 4: 무작위 인덱스 추출 24
2.6 예제 5: 다음 순열 내림차순 배열 구하기 26
2.7 예제 6: 숫자 변환 가능 여부 검증 29
2.8 예제 7: 순환소수 표현하기 30
CHAPTER 3 스택 33
3.1 스택의 기본 지식 33
__3.1.1 스택 연산과 시간 복잡도 33 / 3.1.2 스택의 3가지 구현 방법 34
__3.1.3 스택의 응용 37
3.2 예제 1: 최소 제거 작업으로 유효한 괄호 만들기 38
3.3 예제 2: 함수 실행 시간 측정 39
CHAPTER 4 큐 42
4.1 큐의 3가지 구현 방법 42
4.2 예제 1: 원형 큐 설계 46
4.3 예제 2: 합이 K보다 큰 최단 연속 하위 배열의 길이 찾기 48
CHAPTER 5 우선순위 큐 51
5.1 우선순위 큐의 3가지 구현 방법 51
5.2 예제 1: K명의 근로자를 고용하는 데 드는 최소 비용 53
5.3 예제 2: 연속 하위 수열 분할 가능 확인 55
CHAPTER 6 딕셔너리 58
6.1 딕셔너리의 기본 지식 58
__6.1.1 딕셔너리 생성 58 / 6.1.2 딕셔너리 원소 추가 60
__6.1.3 딕셔너리 원소 접근 61 / 6.1.4 딕셔너리 원소 제거 62
6.2 예제 1: 합이 K인 연속 하위 배열의 총 개수 찾기 63
6.3 예제 2: 카드 구성의 최댓값 65
6.4 예제 3: 삽입, 삭제, 반환 함수를 가지는 데이터 구조 설계 66
6.5 예제 4: LRU 캐시 구현 68
CHAPTER 7 세트 71
7.1 세트의 기본 지식 71
7.2 세트의 기본 작업 72
__7.2.1 원소 추가 72 / 7.2.2 원소 삭제 73 / 7.2.3 합집합 73 / 7.2.4 교집합 74
CHAPTER 8 연결 리스트 75
8.1 두 리스트 합치기 75
8.2 이중 포인터 알고리즘 76
8.3 예제 1: 연결 리스트의 순환 유무 확인 문제 77
8.4 예제 2: 두 개의 연결 리스트의 교차점 찾기 78
8.5 예제 3: 무작위 연결 리스트 복제 80
8.6 예제 4: 역방향 연결 리스트 81
CHAPTER 9 이진 트리 83
9.1 트리 순회 83
__9.1.1 전위 순회 83 / 9.1.2 중위 순회 84 / 9.1.3 후위 순회 85 / 9.1.4 레벨 순회 86
9.2 트리 순회의 재귀적 알고리즘 87
__9.2.1 하향식 접근 방법 88 / 9.2.2 상향식 접근 방법 89
9.3 예제 1: 최소 공통 조상 문제 90
9.4 예제 2: 이진 트리의 직렬화 및 역직렬화 91
9.5 예제 3: 이진 트리의 최대 경로합 구하기 93
9.6 예제 4: 이진 트리를 이중 연결 리스트로 변환하기 95
CHAPTER 10 기타 트리 구조 96
10.1 트라이 96
__10.1.1 트라이의 데이터 구조 97 / 10.1.2 트라이 단어 삽입 98
__10.1.3 트라이 단어 검색 99
10.2 세그먼트 트리 101
10.3 이진 인덱스 트리(펜윅 트리) 106
__10.3.1 이진 인덱스 트리의 표현 107 / 10.3.2 getSum() 함수 107
__10.3.3 update() 함수 108 / 10.3.4 이진 인덱스 트리의 작동 방식 109
10.4 예제 1: 부분 배열의 합의 개수 111
__10.4.1 세그먼트 트리 알고리즘 사용 풀이 112 / 10.4.2 이진 인덱스 트리 사용 풀이 115
__10.4.3 이진 탐색 사용 풀이 118
10.5 예제 2: 자신보다 작은 숫자의 개수 계산 119
__10.5.1 이진 인덱스 트리 사용 풀이 120 / 10.5.2 이진 탐색 사용 풀이 121
__10.5.3 세그먼트 트리 사용 풀이 122
CHAPTER 11 그래프 124
11.1 그래프 표현 125
__11.1.1 인접 행렬 125 / 11.1.2 인접 리스트 125
11.2 예제 1: 그래프 깊은 복사하기 127
11.3 예제 2: 그래프 순환 검증 129
__11.3.1 깊이 우선 탐색 사용 풀이 129 / 11.3.2 너비 우선 탐색 사용 풀이 131
__11.3.3 유니언 파인드 사용 풀이 132
PART III 알고리즘 135
CHAPTER 12 이진 탐색 137
12.1 예제 1: 제곱근 찾기 137
12.2 예제 2: 피벗(회전)된 값 인덱스 검색 138
12.3 예제 3: 회의실 예약 문제 139
__12.3.1 심화 문제 1: 최적화 방법 140
__12.3.2 심화 문제 2: 여러 회의실을 예약하는 방법 141
CHAPTER 13 이중 포인터 알고리즘 142
13.1 예제 1: 희소행렬의 내적 142
13.2 예제 2: 부분 문자열 최소 윈도 문제 143
13.3 예제 3: 닫힌 구간의 교차 구간 찾기 145
13.4 예제 4: 가장 긴 연속 1의 개수 찾기 148
13.5 예제 5: 목표 문자열 찾기-슬라이딩 윈도 150
CHAPTER 14 동적 프로그래밍 152
14.1 동적 프로그래밍의 기본 지식 152
14.2 예제 1: 동전 거슬러주기 153
14.3 예제 2: 주식 매매 최대 이익 찾기 154
14.4 예제 3: 전체 디코딩 방법의 수 계산 155
CHAPTER 15 깊이 우선 탐색 157
15.1 깊이 우선 탐색의 응용 157
15.2 예제 1: 태평양과 대서양 횡단 문제 158
15.3 예제 2: 승자 예측 159
15.4 예제 3: 표현식 연산자 추가하기 161
CHAPTER 16 역추적 163
16.1 예제 1: 스도쿠 풀기 164
16.2 예제 2: 청소 로봇 166
CHAPTER 17 너비 우선 탐색 169
17.1 너비 우선 탐색의 응용 170
17.2 예제 1: 벽과 문 171
17.3 예제 2: 커리큘럼 174
17.4 예제 3: 버스 노선 175
17.5 예제 4: 이분 그래프 판단 177
17.6 예제 5: 단어 사다리 178
CHAPTER 18 유니언 파인드 181
18.1 유니언 파인드의 기본 지식 181
18.2 예제: 친구 원 구하기 184
__18.2.1 너비 우선 탐색 사용 풀이 184 / 18.2.2 깊이 우선 탐색 사용 풀이 185
__18.2.3 유니언 파인드 사용 풀이 185
CHAPTER 19 데이터 구조와 알고리즘 인터뷰 실전 187
19.1 예제 1: 파일 시스템 188
__19.1.1 데이터 구조 설계 188 / 19.1.2 면접 주요 포인트 191
__19.1.3 코드 작성 191
19.2 예제 2: 가장 긴 연결 단어 목록 길이 구하기 192
__19.2.1 단어 사전 데이터 구조 설계 193 / 19.2.2 저장소/캐싱 사용 194
__19.2.3 면접 주요 포인트 196
19.3 예제 3: 원 그룹 196
__19.3.1 원 그룹의 수 198 / 19.3.2 가장 큰 k개의 원의 그룹 199
PART IV 시스템 설계 201
CHAPTER 20 시스템 설계 이론 203
20.1 설계 단계 203
__20.1.1 사용 시나리오, 제약 및 가정 조건 확인 203
__20.1.2 상위 아키텍처 구성 204 / 20.1.3 핵심 컴포넌트 설계 205
__20.1.4 확장 설계 207
20.2 도메인 네임 시스템 209
20.3 로드 밸런서 211
20.4 분산 캐시 시스템 212
20.5 안정 해시 215
CHAPTER 21 시스템 설계 실습 218
21.1 분산 캐시 시스템 설계 218
__21.1.1 캐시 무효화 218 / 21.1.2 캐시 제거 정책 219
__21.1.3 분산 키-값 캐시 설계 시스템 220
21.2 웹 크롤러 시스템 설계 221
__21.2.1 아키텍처 설계 222 / 21.2.2 크롤러 서비스 구현 222
__21.2.3 중복 링크 처리 225 / 21.2.4 크롤링 결과 업데이트 225
__21.2.5 확장성 설계 226
21.3 TinyURL의 암호화와 복호화 226
__21.3.1 시스템 요구 사항 및 목표 226 / 21.3.2 리소스 추정 및 제약 227
__21.3.3 시스템 API 228 / 21.3.4 핵심 알고리즘 설계 228
__21.3.5 데이터베이스 설계 229 / 21.3.6 데이터 파티셔닝 230
__21.3.7 캐싱 231 / 21.3.8 로드 밸런서 232
21.4 검색어 자동 완성 기능 설계 232
__21.4.1 기본 시스템 설계 및 알고리즘 233 / 21.4.2 주요 데이터 구조 234
__21.4.3 최적화 설계 235
21.5 뉴스피드 업데이트 기능 설계 240
21.6 X 애플리케이션 설계 243
21.7 우버/리프트 앱 설계 249
CHAPTER 22 멀티스레드 프로그래밍 253
22.1 멀티스레딩 면접 질문 253
22.2 예제 1: 물 분자의 형성 255
22.3 예제 2: 0, 짝수, 홀수 출력 257
CHAPTER 23 머신러닝 시스템 설계 259
23.1 머신러닝의 기본 지식 259
__23.1.1 머신러닝이란 무엇인가 259 / 23.1.2 머신러닝을 사용하는 이유 260
__23.1.3 지도 학습과 비지도 학습 261 / 23.1.4 분류 모델과 회귀 모델 263
__23.1.5 문제 변환 264 / 23.1.6 데이터 문제 264
__23.1.7 머신러닝 작업 흐름 265 / 23.1.8 피처 엔지니어링 266
__23.1.9 과소적합과 과적합 267 / 23.1.10 편향과 분산 269
23.2 머신러닝에 대한 고급 지식 272
__23.2.1 불균형 이진 분류 데이터 처리 272 / 23.2.2 가우스 혼합 모델과 K-평균 비교 274
__23.2.3 그레이디언트 부스팅 274 / 23.2.4 의사 결정 트리에 제약 조건 부여 276
__23.2.5 가중치 업데이트 277 / 23.2.6 확률적 그레이디언트 부스팅 277
__23.2.7 정규화 278
23.3 머신러닝 인터뷰 278
__23.3.1 머신러닝 면접 주요 포인트 278 / 23.3.2 머신러닝 인터뷰 대응 전략 281
23.4 예제 1: 검색 순위 시스템 282
__23.4.1 문제 해석 282 / 23.4.2 지표 분석 283
__23.4.3 아키텍처 284 / 23.4.4 결과 선택 287
__23.4.5 훈련 데이터 생성 293 / 23.4.6 순위 산정 295
__23.4.7 결과 필터링 298
23.5 예제 2: 넷플릭스 추천 시스템 300
__23.5.1 문제 해석 300 / 23.5.2 지표 분석 302 / 23.5.3 아키텍처 305
__23.5.4 피처 엔지니어링 306 / 23.5.5 추천 영화 리스트 생성 309
__23.5.6 훈련 데이터 생성 312 / 23.5.7 순위 산정 313
찾아보기 317
간단한 파일 시스템(file system) 메타데이터를 설계한다고 가정한다. 이 메타데이터는 ‘파일’과 ‘디렉터리’라는 두 가지 객체를 가진다. 파일과 디렉터리 둘 다 ‘엔티티 ID’와 ‘이름’ 속성을 가진다. 파일은 파일의 크기를 바이트 단위로 나타내는 ‘크기’ 속성을 추가적으로 가진다. 예를 들어 다음과 같다. (…) 면접관은 위의 개념을 표현하기 위한 명확한 데이터 구조를 제공하라고 지원자에게 요청한다. 위의 문제에 대해 지원자가 다음 데이터 구조를 신속하게 제공하면 가산점을 얻을 수 있다. (188쪽)
이를 위해서는 관련성 순으로 쿼리 결과를 제공하는 머신러닝 시스템이 구축되어야 한다. 따라서
검색 순위 문제에 초점을 맞춰야 한다. / 범용 검색엔진을 구축해야 한다는 것을 알게 되면 다음 단계는 시스템 규모를 결정하는 것이다. 여기서 면접관에게 두 가지 중요한 질문이 필요하다. 이 검색엔진을 통해 몇 개의 웹사이트 또는 페이지를 검색하고 활성화할 것인가? 초당 몇 개의 요청을 처리할 것으로 예상하는가? (282쪽)
협업 필터링은 사용자의 과거 상호작용만을 기반으로 후보를 제안할 수 있다. 콘텐츠 기반 필터링과 달리 사용자 및 동영상 파일을 생성하는 데 도메인 지식이 필요하지 않다. 또한 일반적으로 콘텐츠를 기반으로 필터링하기 어려운 데이터를 캡처할 수도 있다. 그러나 협업 필터링은 과거 상호작용이 적기 때문에 시스템에서 새로운 사용자와 유사한 사용자를 찾는 것이 어려운 콜드 스타트(cold start) 문제를 안고 있다. 또한 새로운 영화에 대해서는 아직 피드백을 제공한 사용자가 없기 때문에 즉시 추천이 불가능하다. (312쪽)
아메리카 대륙을 나타내는 정수로 구성된 m × n 행렬이 주어지면 태평양인 pacific은 행렬의 왼쪽 및 위쪽 정점[0, 0]에 위치한다. 대서양 atlantic은 오른쪽 및 아래쪽 정점[m, n)에 위치한다. 만약 미국 대륙에 비가 내린다면 비는 좌표에서 높이가 같거나 낮은 위, 아래, 왼쪽 또는 오른쪽 좌표로만 흐를 수 있다. 아메리카 대륙의 좌표 중 비가 내릴 때 태평양과 대서양 쪽 모두로 흐를 수있는 좌표를 반환하라. (158쪽)
요약하자면, 세트는 중복되지 않는 원소의 집합을 저장하는 데 사용되는 컴퓨터 과학의 기본 데이터 구조이다. 다양한 프로그램에서 응용하기 위해, 특히 고유한 데이터를 관리해야 하는 경우 세트의 기본 사항을 이해하는 것이 중요하다. / set.add() 함수를 통해 세트에 원소를 추가하고 데이터를 생성할 수 있다. 원소 반환과 마찬가지로 원소 추가의 시간 복잡도는 평균 O(1)이지만 최악의 경우(해시 충돌, 해시 테이블 리사이징 등) O(n)이 될 수 있다. 샘플 코드는 다음과 같다. (72쪽)
실리콘밸리 기술 면접, 무엇이 다르고 어떻게 통과할 수 있는가
저자 런젠펑은 구글에 입사해 면접관이자 소프트웨어 엔지니어로 일하고 있다. 수많은 인터뷰를 겪으며 지원자와 면접관 양쪽의 경험을 쌓았고, 그 지식을 집대성해 이 책을 집필했다.
AI 시대에 잔재주는 통하지 않는다. 기초적인 자료구조와 알고리즘부터 시스템 설계까지, 다양한 유형의 문제를 접하고 논리적인 사고로 문제를 해결해나가는 감각을 익혀야 한다. 100여 개의 인터뷰 문제와 그 해법을 통해 한 단계 높은 엔지니어로 거듭날 수 있다.
책의 문제는 리트코드로 편리하게 실습이 가능하며, 실제 면접 시 어떻게 답하는 것이 좋은지 면접관의 관점에서 설명한다. 스택, 큐, 연결 리스트 등의 데이터 구조 기초부터 시작해 동적 프로그래밍, BFS/DFS, 나아가 TinyURL, X, 넷플릭스 추천 시스템 등 빅데이터/머신러닝 시스템 설계 이론과 실습까지 폭넓은 주제를 다룬다. 실리콘밸리 최고 기업은 물론 국내 어떤 IT 기업의 면접도 자신 있게 대처할 수 있을 것이다.
주요 내용실리콘밸리 기업의 면접 과정과 면접 팁스택, 큐, 집합, 연결 리스트, 트리, 그래프 등 데이터 구조 기초와 응용이진 탐색, 이중 포인터, 동적 프로그래밍, DFS 등 실제 알고리즘 면접 문제 실습멀티스레드 프로그래밍, 검색 랭킹, 영화 추천 등 시스템 설계 사례
작가정보
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.

- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)