코딩 인터뷰 완전 분석(개정판) 189가지 프로그래밍 문제와 해법
Description
이 책의 저자는 구인 담당자가 아니라 소프트웨어 엔지니어다. 지원자로서도 면접관으로서도 코딩 면접을 겪어 본 적이 있기 때문에 지원자가 면접을 앞두고 무엇을 준비해야 하는지 잘 알고 있다. 수백 명의 소프트웨어 엔지니어를 가르치고 인터뷰해 온 결과물이 바로 이 책이다. 문제의 힌트와 숨겨진 부분을 발견하는 방법, 큰 문제를 다루기 쉽게 작게 쪼개는 법, 문제를 풀다 막혔을 때 막힌 부분을 풀어가는 기술, 컴퓨터 과학의 핵심 개념을 배운다. 189개의 면접 문제와 그 해법을 통해 연습할 수 있다. 이 책에는 면접에서 실제로 출시되었던 문제만 실었다. 최고의 회사들이 면접에서 하는 질문을 반영하여 실제 면접과 비슷하게 준비할 수 있을 것이다.
저자

게일라크만맥도웰

게일라크만맥도웰은CareerCup의창업자이자CrackingthePMInterview와CrackingtheTechCareer의이다.구글,마이크로소프트,애플의소프트웨어엔지니어로일하면서소프트웨어개발경력을쌓았다.구글에서일할때는수백명의소프트웨어엔지니어를면접봤으며,채용위원회의일원으로서수천명을평가했다.펜실베니아대학에서컴퓨터과학전공으로학사와석사학위를받았으며와튼스쿨에서MBA를받았다.현재는테크회사의채용과정을개선하기위한지문을하거나스타트업들의인수면접을도와주는일을하기도한다.

목차

I.면접과정
__면접의방식은왜이래야하는가
__어떤문제를출제하는가
__모든것은상대적이다
__자주받는질문
II.장막너머
__마이크로소프트면접
__아마존면접
__구글면접
__애플면접
__페이스북면접
__팰런티어면접
III.특별한상황에서의면접
__경력자
__테스터혹은SDET
__PM
__개발책임자와관리자
__스타트업
__기업인수및인재영입
__면접관의입장
IV.면접전에
__적절한경험쌓기
__탄탄한이력서작성하기
__준비절차
V.행동문제
__대비요령
__기술적프로젝트에대한이해
__행동질문에대한대처요령
__그러니까,당신에대해말해보세요
VI.big-O
__비유하기
__시간복잡도
__공간복잡도
__상수항은무시하라
__지배적이지않은항은무시하라
__여러부분으로이루어진알고리즘:덧셈vs.곱셈
__상환시간
__logN수행시간
__재귀적으로수행시간구하기
__예제및연습문제
VII.기술적문제
__준비하기
__알고있어야할것들
__실제문제살펴보기
__최적화및문제풀이기술#1:BUD를찾으라
__최적화및문제풀이기술#2:스스로풀어보라DIY(DoItYourself)
__최적화및문제풀이기술#3:단순화,일반화하라
__최적화및문제풀이기술#4:초기사례(basecase)로부터확장하기(build)
__최적화및문제풀이기술#5:자료구조브레인스토밍
__가능한최선의수행시간(BestConceivableRuntime(BCR))
__오답에대한대처법
__알고있던문제가면접에나왔을때
__면접용으로‘완벽한’언어
__어떤코드가좋아보이나
__포기하지말라
VIII.합격한뒤에
__합격또는거절통지에대처하는요령
__입사제안평가
__연봉협상
__입사후
IX.면접문제
자료구조
01배열과문자열
__해시테이블
__ArrayList와가변크기배열
__StringBuilder
__면접문제
02연결리스트
__연결리스트만들기
__단방향연결리스트에서노드삭제
__Runner기법
__재귀문제
__면접문제
03스택과큐
__스택구현하기
__큐구현하기
__면접문제
04트리와그래프
__트리의종류
__이진트리순회
__이진힙(최소힙과최대힙)
__트라이(접두사트리)
__그래프
__면접문제
개념과알고리즘
05비트조작
__손으로비트조작해보기
__비트조작을할때알아야할사실들과트릭들
__2의보수와음수
__산술우측시프트vs.논리우측시프트
__기본적인비트조작:비트값확인및채워넣기
__면접문제
06수학및논리퍼즐
__소수
__확률
__입을열라
__규칙과패턴을찾으라
__최악의경우는?
__알고리즘적접근법
__면접문제
07객체지향설계
__접근법
__디자인패턴
__면접문제
08재귀와동적프로그래밍
__접근법
__재귀적해법vs.순환적해법
__동적계획법&메모이제이션
__면접문제
09시스템설계및규모확장성
__문제를다루는방법
__시스템설계:단계별접근법
__규모확장을위한알고리즘:단계별접근법
__시스템설계의핵심개념
__데이터베이스분할(샤딩)
__시스템설계시고려할점
__‘완벽한’시스템은없다
__연습문제
__면접문제
10정렬과탐색
__널리사용되는정렬알고리즘
__면접문제
11테스팅
__면접관이평가하는것
__실제세계에서객체테스트하기
__소프트웨어테스팅
__함수테스트
__문제해결에관한문제
__면접문제
지식기반문제
12C와C++
__클래스와상속
__생성자와소멸자
__가상함수
__가상소멸자
__기본값
__연산자오버로딩
__포인터와참조
__템플릿
__면접문제
13자바
__언어자체질문에대한접근법
__오버로딩vs.오버라이딩
__컬렉션프레임워크
__면접문제
14데이터베이스
__SQL문법과그변종들
__비정규화vs.정규화데이터베이스
__SQL문
__소규모데이터베이스설계
__대규모데이터베이스설계
__면접문제
15스레드와락
__자바의스레드
__동기화와락
__교착상태와교착상태방지
__면접문제
추가연습문제
16중간난이도연습문제
17어려운연습문제
X.해법
자료구조
01배열과문자열해법
02연결리스트해법
03스택과큐해법
04트리와그래프해법
개념과알고리즘
05비트조작해법
06수학및논리퍼즐해법
07객체지향설계해법
08재귀와동적프로그래밍해법
09시스템설계및규모확장성해법
10정렬과탐색해법
11테스팅해법
지식기반
12C와C++해법
13자바해법
14데이터베이스해법
15스레드와락해법
추가연습문제
16중간난이도연습문제해법
17어려운연습문제해법
XI.고급주제
__유용한수학
__위상정렬
__다익스트라알고리즘
__해시테이블에서충돌을해결하는방법
__선형탐사법을이용한개방주소법
__Rabin-Karp부분문자열탐색알고리즘
__AVL트리
__레드-블랙트리
__MapReduce
__추가공부거리
XII.코드라이브러리
__HashMapList
__TreeNode(이진탐색트리)
__LinkedListNode(연결리스트)
__Trie&TrieNode
XIII.힌트
01자료구조힌트
02개념및알고리즘힌트
03지식기반문제힌트
04추가연습문제힌트

출판사 서평

아마존에서가장많이팔리는프로그래밍면접책
어떤내용이담겨있나?
-쉬운문제부터까다로운알고리즘문제까지,189가지프로그래밍면접질문을담았다.
-문제풀이과정을단계별로차근차근보여줘어떤문제든스스로풀수있게한다.
-실제면접에서면접관이알려줄법한힌트를모든문제마다제시한다.
-알고리즘문제를푸는다섯가지전략을제시해처음보는문제도풀수있도록한다.
-big-O시간,자료구조,핵심알고리즘과같은필수주제를광범위하게다룬다.
-구글,페이스북같은...
아마존에서가장많이팔리는프로그래밍면접책
어떤내용이담겨있나?
-쉬운문제부터까다로운알고리즘문제까지,189가지프로그래밍면접질문을담았다.
-문제풀이과정을단계별로차근차근보여줘어떤문제든스스로풀수있게한다.
-실제면접에서면접관이알려줄법한힌트를모든문제마다제시한다.
-알고리즘문제를푸는다섯가지전략을제시해처음보는문제도풀수있도록한다.
-big-O시간,자료구조,핵심알고리즘과같은필수주제를광범위하게다룬다.
-구글,페이스북같은최고의회사들이개발자를어떻게채용하는지살펴본다.
-행동면접을다루어기술외적인부분을통해에이스로등극할수있는방법을알아본다.
-면접관과회사를위한좋은면접의요건,채용과정의세부적인정보를다룬다.