**逸超**
竞赛保送国内Top2大学本科,毕业后前往加州大学攻读硕士学位,期间获得全额奖学金。毕业时获得十多个知名科技公司offer,现在在硅谷就职于顶尖科技公司,从事软件开发工作。擅长总结面试方法,乐于帮助朋友准备面试。
**虾米**
国内TOP2高校毕业,赴美硕士毕业后跨专业应聘程序员工作,有一套自己的面试方法学。现于硅谷市值最高的公司之一任软件工程师,业余时间开设面试讲座,在圈内小有名气。
**笑笑**
国内top2大学本科,UCSD计算机硕士。现苹果公司软件工程师。曾拿到多个硅谷顶级软件公司的offer,面试经验相当丰富。
**董飞**
本科南开大学,硕士杜克大学计算机系毕业。在攻读硕士期间,从事跟Hadoop大数据相关的研究项目,在VLDB,SOCC顶尖数据库大会发表过论文, 先后在创业公司酷迅,百度基础架构组,Amazon 云计算部门,Linkedin担任高级工程师,负责过垂直搜索引擎,百度云计算平台研发,广告系统和在线教育平台的架构。在大数据领域业界研究多年,涉及Hadoop调优,分布式框架,Data Pipeline, 实时系统。目前在线教育创业公司Coursera从事数据工程师工作。
在多年工作中,除了对技术的不懈追求,也积累了大量的面试经验,拿到北美热门公司10+ offer。在Linkedin期间,也积极参与面试过近200人,全公司前三的面试官,乐于分享并帮助很多人成功求职,实现目标。
- 内容提要
- 作者简介
- 前言
- 我的故事,你的故事
- 现状
- 目的
- 特色
- 第1章 简历、面试和Offer
- 1.1 简历
- 1.1.1 格式
- 1.1.2 内容安排
- 1.1.3 描述技巧
- 1.2 面试
- 1.2.1 HR
- 1.2.2 技术面试官
- 1.2.3 老板
- 1.3 Offer
- 1.4 常见问题
- 1.5 工具箱
- 第2章 数组和字符串
- 2.1 知识要点
- 2.1.1 数组
- 2.1.2 哈希表
- 2.1.3 String
- 2.2 模式识别
- 2.2.1 使用哈希表
- 2.2.2 利用哈希表实现动态规划的思想
- 2.2.3 String相关问题的处理技巧
- 2.3 工具箱
- 第3章 链表
- 3.1 知识要点
- 3.2 模式识别
- 3.2.1 链表的基本操作
- 3.2.2 哑节点
- 3.2.3 Runner和Chaser
- 3.2.4 遍历并处理节点
- 3.2.5 交换节点的问题
- 3.2.6 同时操作两个链表
- 3.2.7 倒序处理
- 3.3 工具箱
- 第4章 栈和队列
- 4.1 知识要点
- 4.1.1 栈
- 4.1.2 队列
- 4.2 模式识别
- 4.2.1 通过栈实现特殊顺序的读取
- 4.2.2 “Save for later”问题
- 4.2.3 用栈解决自上而下结构的问题
- 4.3 工具箱
- 第5章 树和图
- 5.1 知识要点
- 5.1.1 树
- 5.1.2 字典树
- 5.1.3 堆与优先队列
- 5.1.4 图
- 5.1.5 图的遍历
- 5.1.6 单源最短路径问题
- 5.1.7 任意两点之间的最短距离
- 5.2 模式识别
- 5.2.1 利用分而治之(D&C)策略判断树、图的性质
- 5.2.3 树和其他数据结构的相互转换
- 5.2.4 寻找特定节点
- 5.2.5 图的访问
- 5.3 工具箱
- 第6章 位操作
- 6.1 知识要点
- 6.2 模式识别
- 6.2.1 基本的位操作
- 6.2.2 位掩码
- 6.3 工具箱
- 第7章 面向对象的设计
- 7.1 知识要点
- 7.1.1 设计题解答要领
- 7.1.2 模拟面试
- 7.1.3 抽象、面向对象和解耦(Decoupling)
- 7.1.4 继承/组合/参数化类型
- 7.1.5 设计模式
- 7.2 模式识别
- 7.3 工具箱
- 第8章 递归和动态规划
- 8.1 知识要点
- 8.1.1 构建从子问题到最终目标的方法
- 8.1.2 递归的空间与时间成本
- 8.1.3 自底向上与自顶向下
- 8.1.4 算法策略
- 8.2 模式识别
- 8.2.1 用动态规划(自底向上)解决收敛结构问题
- 8.2.2 最长子序列类型的问题
- 8.2.3 用Memorization(自顶向下)解决收敛结构问题
- 8.2.4 用回溯法(自上而下)解决发散结构问题
- 8.2.5 用D&C策略解决独立子问题
- 第9章 排序和搜索
- 9.1 知识要点
- 9.1.1 常见的内排序算法
- 9.1.2 常见的外排序算法
- 9.1.3 快速选择算法
- 9.1.4 二分查找
- 9.2 模式识别
- 9.2.1 动态数据结构的维护
- 9.2.2 对于有序/部分有序容器的搜索,用二分查找
- 9.2.3 数据范围有限、离散的排序问题
- 9.2.4 Scalability & Memory Limits 问题
- 9.3 工具箱
- 第10章 测试
- 10.1 知识要点
- 10.1.1 测试现实世界的物体、软件或函数
- 10.1.2 故障排除
- 10.2 模式识别
- 10.3 工具箱
- 第11章 网络
- 11.1 知识要点
- 11.1.1 网络分层
- 11.1.2 路由
- 11.1.3 常用网络统计指标
- 11.1.4 TCP vs. UDP
- 11.2 模式识别
- 11.3 工具箱
- 第12章 计算机底层知识
- 12.1 知识要点
- 12.1.1 进程vs.线程
- 12.1.2 上下文切换
- 12.1.3 系统调用
- 12.1.4 Semaphore/Mutex
- 12.1.5 死锁
- 12.1.6 生产者消费者
- 12.1.7 进程间通信
- 12.1.8 逻辑地址/物理地址/虚拟内存
- 12.1.9 文件系统
- 12.1.10 实时vs.分时操作系统
- 12.1.11 编译器
- 版权信息
- 看完了