목차 일부
역자 서문
저자 서문
감사의 글
Chapter 01 구직을 시작하기 전에
네 자신을 알라 ... 24
시장을 알라 ... 27
기본적인 시장 정보 ... 27
아웃소싱 ... 28
팔릴만한 능력을 계발하라 ... 29
온라인 프로필을 정돈하라 ... 31
요약 ... 33
Chapter 02 입사 지원 절차
...
더보기
목차 전체
역자 서문
저자 서문
감사의 글
Chapter 01 구직을 시작하기 전에
네 자신을 알라 ... 24
시장을 알라 ... 27
기본적인 시장 정보 ... 27
아웃소싱 ... 28
팔릴만한 능력을 계발하라 ... 29
온라인 프로필을 정돈하라 ... 31
요약 ... 33
Chapter 02 입사 지원 절차
회사의 선택 및 접촉 ... 36
인맥의 활용 ... 36
헤드헌터의 활용 ... 37
회사에 직접 접촉하는 방법 ... 39
취업 박람회 및 광고 ... 40
인터뷰 과정 ... 40
예비 인터뷰 ... 41
사내 인터류 ... 41
복장 ... 42
리크루터의 역할 ... 43
근무 조건 협상 ... 45
리크루터의 압력에 대한 대처법 ... 46
연봉 협상 ... 44
제의 수락 또는 거부 ... 48
요약 ... 49
Chapter 03 프로그래밍 문제 접근법
절차 ... 52
시나리오 ... 52
문제 ... 53
어떤 언어를 사용할 것인가 ... 54
의사소통의 중요성 ... 55
문제 해결 ... 57
기본적인 단계들 ... 57
문제를 풀다가 막히는 경우 ... 60
풀이 분석 ... 61
두 가지 예의 분석 ... 61
빅 오 분석법의 원리 ... 63
최선, 평균, 최악 케이스 ... 65
빅 오 분석법을 적용하는 방법 ... 66
최적화와 빅 오 분석법 ... 66
요약 ... 67
Chapter 04 연결 리스트
연결 리스트의 종류 ... 71
이중 연결 리스트 ... 72
원형 연결 리스트 ... 73
기초적인 연결 리스트 연산 ... 74
헤드 원소 추적 ... 74
종주 ... 76
원소의 삽입 및 삭제 ... 77
연결 리스트 문제 ... 79
스택 구현법 ... 79
연결 리스트의 테일 포인터 ... 88
removeHead의 버그 ... 96
연결 리스트의 마지막에서 m번째 원소 ... 99
리스트 단층화 ... 104
리스트 단층화 해제 ... 109
순환형 리스트와 비순환형 리스트 ... 113
요약 ... 117
Chapter 05 트리와 그래프
트리 ... 120
이진 트리 ... 123
이진 검색 트리 ... 125
힙 ... 129
일반적인 검색 방법 ... 129
종주 ... 131
그래프 ... 132
이진 트리 문제 ... 133
프리오더 종주 ... 133
재귀 호출을 쓰지 않는 프리오더 종주 ... 135
가장 가까운 공통 조상 ... 138
요약 ... 142
Chapter 06 배열과 문자열
배열 ... 144
C / C++ ... 146
자바 ... 147
C ... 149
자바스크립트 ... 150
문자열 ... 150
C ... 151
C++ ... 152
자바 ... 152
C ... 154
자바스크립트 ... 154
배열과 문제열 문제 ... 154
반복되지 않는 첫 번째 문자 찾기 ... 154
특정 문자의 제거 ... 160
단어 뒤집기 ... 164
정수/문자열 변환 ... 172
요약 ... 180
Chapter 07 재귀 호출
재귀 호출의 이해 ... 184
재귀 호출 문제 ... 189
이진 검색 ... 190
문자열 순열 ... 194
문자열 조합 ... 198
전화 단어 ... 202
요약 ... 210
Chapter 08 동시성
스레드의 기본 개념 ... 212
스레드 ... 212
시스템 스레드와 사용자 스레드 ... 213
모니터와 세마포어 ... 214
데드락 ... 215
스레딩 예제 ... 216
동시성 문제 ... 221
바쁜 대기 ... 221
생산자/소비자 ... 224
철학자들의 저녁 식사 ... 228
요약 ... 233
Chapter 09 객체지향 프로그래밍
기본 원리 ... 236
클래스와 객체 ... 236
상속성과 다형성 ... 238
생성과 파괴 ... 241
객체지향 프로그래밍 문제 ... 242
인터페이스와 추상 클래스 ... 242
가상 메소드 ... 245
다중 상속 ... 248
요약 ... 250
Chapter 10 데이터베이스
데이터베이스의 기초 ... 252
관계형 데이터베이스 ... 252
구조적 질의 언어(SQL) ... 253
데이터베이스 트랜잭션 ... 259
데이터베이스 문제 ... 260
간단한 SQL ... 260
회사 및 직원 데이터베이스 ... 261
집단 함수를 쓰지 않고 최대값을 구하는 법 ... 264
삼진 논리 ... 266
요약 ... 268
Chapter 11 기타 프로그래밍 관련 내용
그래픽스 ... 270
비트 조작 ... 270
2의 보수 이진 표기법 ... 272
비트 단위 연산자 ... 273
시프트 연산을 이용한 최적화 ... 275
그래픽스 및 비트 연산 문제 ... 275
8분의 1 원 ... 276
직사각형 겹침 ... 279
빅 엔디언과 리틀 엔디언 ... 286
1의 개수 ... 290
요약 ... 294
Chapter 12 카운팅, 측정 및 순서 관련 퍼즐
퍼즐 공략법 ... 296
올바른 문제를 풀어라 ... 297
기죽지 말자 ... 299
단순한 문제에 유의하자 ... 300
추정 문제 ... 301
퍼즐 문제 ... 302
열려 있는 락커의 개수 ... 303
스위치 세 개 ... 306
다리 건너기 ... 307
무거운 구슬 ... 312
요약 ... 319
Chapter 13 그림 및 공간 퍼즐
일단 그려보자 ... 322
그림 및 공간 퍼즐 문제 ... 323
보트와 선착장 ... 323
정육면체의 개수 ... 327
여우와 오리 ... 333
심지 ... 336
열차를 피하는 방법 ... 338
요약 ... 340
Chapter 14 지식 기반 문제
준비 ... 342
지식 기반 문제 ... 343
C++와 자바 ... 345
프렌드 클래스 ... 346
상속 ... 347
가비지 컬렉션 ... 348
네트워크 성능 ... 349
암호 ... 350
새로운 암호 알고리즘 ... 351
해시 테이블과 이진 검색 트리 ... 352
요약 ... 352
Chapter 15 기술과 무관한 질문
왜 기술과 무관한 질문이 필요할까? ... 354
질문 ... 356
"무엇을 하고 싶습니까?" ... 356
"어떤 프로그래밍 언어를 가장 좋아하나요?" ... 357
"업무 스타일이 어떻습니까?" ... 358
"자신의 경력에 대해 얘기해 보세요" ... 358
"인생의 목표가 무엇입니까?" ... 359
"왜 이직을 하려고 하나요?" ... 359
"돈을 얼마나 벌고 싶습니까?" ... 360
"지금까지 월급을 어느 정도 받았습니까?" ... 364
"왜 이 회사에서 당신을 고용해야 할까요?" ... 365
"혹시 질문 있습니까?" ... 365
요약 ... 366
Chapter 16 결론
Appendix A 이력서
기술 관련직 이력서 ... 370
이력서의 예 ... 390
Appendix B 마이크로소프트 인턴 면접기
미국 대학생들을 위한 인턴쉽 프로그램 ... 396
1차 면접 ... 399
2차 면접 ... 402
면접을 마치고 나서 ... 408
실제 프로그래밍 인터뷰 문제들 ... 411
더보기 닫기