본문 바로가기

도서 소개

실리콘밸리에서 통하는 파이썬 인터뷰 가이드

구글 면접관과 OPPO 수석이 집필한 눈 높은 파이썬 코딩 인터뷰 가이드북

 

실리콘밸리 수준의 기술 인터뷰에서 성공하는 데 필요한 파이썬 기술을 완벽하게 설명하는 책. 스택, 큐, 연결 리스트 등의 데이터 구조 기초부터 시작해 동적 프로그래밍, BFS/DFS, 유니언 파인드 등의 알고리즘을 살펴보고, 이들을 실제 면접 문제에 어떻게 효율적으로 적용할 수 있는지 면접관의 관점에서 단계별로 분석한다. 나아가 TinyURL, X, 넷플릭스 추천 시스템 등 실존 서비스를 구축해보는 연습을 통해 시스템 설계의 이론과 실습도 체계적으로 학습할 수 있게 구성했다.

 

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

출판사 제이펍
저작권사 机械工业出版社
원서명 硅谷Python工程师面试指南 (9787111750680)
도서명 실리콘밸리에서 통하는 파이썬 인터뷰 가이드
부제 취업과 이직을 위한 자료구조, 알고리즘, 시스템 설계 코딩 테스트 문제와 해법
지은이 런젠펑, 취안수쉐
옮긴이 신준기
감수자 (없음)
시리즈 (없음)
출판일 2025. 05. 06
페이지 340쪽
판 형 46배판변형(188*245*16.1)
제 본 무선(soft cover)
정 가 27,000원
ISBN 979-11-94587-22-4 (93000)
키워드 python, 자료구조, 알고리즘, 면접, 코딩인터뷰, 코딩테스트, 알고리즘문제풀이, 슬기로운이직, 취업면접대비, IT기업취업
분 야 파이썬 / 자료구조 / 알고리즘

 


관련 사이트
저작권사 도서 페이지

 

관련 시리즈

■ (없음)

 

관련 포스트

■ 2025.04.15 - [출간 전 책 소식] - 지원자님은 X, 우버, 넷플릭스를 구축할 수 있습니까?

 

관련 도서

■ (없음)

 

관련 파일 다운로드

■ (없음)

 

강의 보조 자료(교재로 채택하신 분들은 https://jpub.tistory.com/notice/1076을 통해 다음 자료를 요청하실 수 있습니다.)
■ 본문의 그림과 표

 

미리보기(앞부속, 본문 일부)

 

정오표 페이지
■ (등록되는 대로 링크를 걸겠습니다.)

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

도서 소개

실리콘밸리 기술 면접, 무엇이 다르고 어떻게 통과할 수 있는가

 

저자 런젠펑은 구글에 입사해 면접관이자 소프트웨어 엔지니어로 일하고 있다. 수많은 인터뷰를 겪으며 지원자와 면접관 양쪽의 경험을 쌓았고, 그 지식을 집대성해 이 책을 집필했다.

 

AI 시대에 잔재주는 통하지 않는다. 기초적인 자료구조와 알고리즘부터 시스템 설계까지, 다양한 유형의 문제를 접하고 논리적인 사고로 문제를 해결해나가는 감각을 익혀야 한다. 100여 개의 인터뷰 문제와 그 해법을 통해 한 단계 높은 엔지니어로 거듭날 수 있다.

 

책의 문제는 리트코드로 편리하게 실습이 가능하며, 실제 면접 시 어떻게 답하는 것이 좋은지 면접관의 관점에서 설명한다. 스택, 큐, 연결 리스트 등의 데이터 구조 기초부터 시작해 동적 프로그래밍, BFS/DFS, 나아가 TinyURL, X, 넷플릭스 추천 시스템 등 빅데이터/머신러닝 시스템 설계 이론과 실습까지 폭넓은 주제를 다룬다. 실리콘밸리 최고 기업은 물론 국내 어떤 IT 기업의 면접도 자신 있게 대처할 수 있을 것이다.

 

주요 내용

  • 실리콘밸리 기업의 면접 과정과 면접 팁
  • 스택, 큐, 집합, 연결 리스트, 트리, 그래프 등 데이터 구조 기초와 응용
  • 이진 탐색, 이중 포인터, 동적 프로그래밍, DFS 등 실제 알고리즘 면접 문제 실습
  • 멀티스레드 프로그래밍, 검색 랭킹, 영화 추천 등 시스템 설계 사례

 

지은이 소개

런젠펑(任建峰)

구글의 면접관이자 소프트웨어 엔지니어 매니저. 텍사스 대학교에서 박사 학위를 받았고, 10년 이상 퀄컴과 화웨이서 근무하며 컴퓨터 이미징 및 컴퓨터 비전 알고리즘 개발에 참여했다. 현재 구글에서 소프트웨어 엔지니어 매니저로 일하고 있으며, 오랫동안 구글에서 면접관으로 근무했다. 30편 이상의 논문을 발표했으며 30개 이상의 특허를 보유하고 있다.

 

취안수쉐(全书学)

컴퓨터 비전, 컴퓨터 이미징, 증강현실의 개발과 구현을 담당하는 미국 OPPO 연구소의 수석 연구 책임자. 로체스터 공과대학교에서 이미징 과학 박사 학위를 받았으며, 2020년 우원쥔(吴文俊) AI 과학기술상을 수상했다. 소니, 퀄컴, 마이크론, 브로드컴에서 근무한 바 있다.

 

옮긴이 소개

신준기

중국어 전공을 했으나 정보를 어떻게 표현하고 처리하는 게 가장 효율적인지를 고민하던 끝에, 인문계 소프트웨어 인재 전형으로 IT 회사에 입사하였다. 입사 후 현재까지 스마트팩토리 관련 소프트웨어를 개발하면서 공장에서 나오는 수많은 데이터와 씨름 중이다.

 

차례

옮긴이 머리말 xii

베타리더 후기 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

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  블로그  유튜브  인스타그램  트위터  페이스북

'도서 소개' 카테고리의 다른 글

마스터링 몽고DB 7.0(제4판)  (1) 2025.05.08
생성형 AI의 구조  (1) 2025.05.08
7가지 프로젝트로 배우는 LLM AI 에이전트 개발  (0) 2025.04.10
챗GPT, 글쓰기 코치가 되어 줘  (0) 2025.04.07
그린 소프트웨어  (0) 2025.04.03