程序员面试金典(第6版)-盖尔·拉克曼·麦克道尔

- 书名: 程序员面试金典(第6版)
- 作者: 盖尔·拉克曼·麦克道尔
- 简介: 本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。内容主要涉及面试流程解析,面试官的幕后决策及可能提出的问题,面试前的准备工作,对面试结果的处理,以及出自微软、苹果、谷歌等多家知名公司的189 道编程面试题及详细解决方案。第6 版修订了上一版中一些题目的解法,为各章新增了介绍性内容,加入了更多的算法策略,并增添了对所有题目的提示信息。
- 出版时间 2019-09-18 00:00:00
- ISBN: 9787115517197
- 分类: 计算机-编程设计
- 出版社: 人民邮电出版社
高亮划线
封面
版权信息
作者简介
译者简介
数字版权声明
版权声明
感谢
中文版推荐序一
中文版推荐序二
序
前言
第1章 面试流程
1.1 为什么
1.2 面试问题的来源
1.3 一切都是相对的
1.4 常见问题
第2章 面试揭秘
2.1 微软面试
2.2 亚马逊面试
2.3 谷歌面试
2.4 苹果面试
2.5 Facebook面试
2.6 Palantir面试
第3章 特殊情况
3.1 有工作经验的求职者
3.2 测试人员和软件开发测试工程师
3.3 产品经理(项目经理)
3.4 开发主管与部门经理
3.5 创业公司
3.6 收购与“人才收购”
3.7 面试官
第4章 面试之前
4.1 积累相关经验
4.2 写好简历
- 📌 在描述工作经历时,请尽量采用这样的格式:“使用Y实现了X,从而达到了Z效果。”比如下面这个例子:❑ “通过实施分布式缓存功能减少了75% 的对象渲染时间,从而使得用户登录速度加快了10%。” ^34-1324-1449
4.3 准备流程图
第5章 行为面试题
5.1 面试准备清单
5.2 掌握项目所用的技术
5.3 如何应对
5.4 自我介绍
第6章 大O
6.1 打个比方
6.2 时间复杂度
6.3 空间复杂度
6.4 删除常量
6.5 丢弃不重要的项
6.6 多项式算法:加与乘
6.7 分摊时间
6.8 LogN运行时间
6.9 递归的运行时间
6.10 示例和习题
第7章 技术面试题
7.1 准备事项
7.2 必备的基础知识
7.3 解题步骤
7.4 优化和解题技巧 1:寻找BUD
7.5 优化和解题技巧 2:亲力亲为
7.6 优化和解题技巧 3:化繁为简
7.7 优化和解题技巧 4:由浅入深
7.8 优化和解题技巧 5:数据结构头脑风暴法
7.9 可想象的极限运行时间
7.10 处理错误答案
7.11 做过的面试题
7.12 面试的“完美”语言
7.13 好代码的标准
7.14 不要轻言放弃
第8章 录用通知及其他注意事项
8.1 如何处理录用与被拒的情况
8.2 如何评估录用待遇
8.3 录用谈判
8.4 入职须知
第9章 面试题目
9.1 数组与字符串
9.2 链表
9.3 栈与队列
9.4 树与图
9.5 位操作
9.6 数学与逻辑题
9.7 面向对象设计
9.8 递归与动态规划
9.9 系统设计与可扩展性
9.10 排序与查找
9.11 测试
9.12 C和C++
9.13 Java
9.14 数据库
9.15 线程与锁
9.16 中等难题
9.17 高难度题
第10章 题目解法
10.1 数组与字符串
10.2 链表
10.3 栈与队列
10.4 树与图
10.5 位操作
10.6 数学与逻辑题
10.7 面向对象设计
10.8 递归与动态规划
10.9 系统设计与可扩展性
10.10 排序与查找
10.11 测试
10.12 C和C++
10.13 Java
10.14 数据库
10.15 线程与锁
10.16 中等难题
10.17 高难度题
第11章 进阶话题
11.1 实用数学
11.2 拓扑排序
11.3 Dijkstra算法
11.4 散列表冲突解决方案
11.5 Rabin-Karp子串查找
11.6 AVL树
11.7 红黑树
11.8 MapReduce
11.9 补充学习内容
附录A 代码库
A.1 HashMapList
A.2 TreeNode(二叉搜索树)
A.3 LinkedListNode(链表)
A.4 Trie和TrieNode
附录B 提示
后记
读书笔记
本书评论