第一部分 硅谷求职
第1 章 硅谷公司 3
1.1 硅谷简介 3
1.2 传奇旗帜 7
1.2.1 微软 8
1.2.2 谷歌 10
1.2.3 亚马逊 11
1.2.4 Facebook 13
1.2.5 Twitter 14
1.2.6 Epic 14
1.3 技术移民 15
1.3.1 签证和绿卡 16
1.3.2 税率和生活 19
第2 章 求职准备 21
2.1 职位选择 23
2.2 公司选择 24
2.3 人际关系 27
2.4 求职渠道 30
第3 章 简历 32
3.1 简历特点 33
3.2 简历结构 36
3.3 简历优化 39
第4 章 面试 43
4.1 面试准备 43
4.2 面试流程 49
4.3 编程面试 51
4.4 注意事项 52
第5 章 聘书与职业发展 56
5.1 聘书 57
5.1.1 聘书要素 57
5.1.2 决策因子 58
5.1.3 薪酬谈判 61
5.1.4 接受、延期或婉拒 63
5.2 职业发展 64
5.3 优秀工程师 66
5.4 职业晋升 70
第二部分 实战访谈
第6 章 对身在美国和即将赴美工作的工程师访谈 77
互联网资深大牛董飞 77
创业者徐淼华 82
留美计算机博士张 85
微软软件工程师乔成 88
Broadcom 硬件测试工程师蒋波? 90
硅谷初创公司大数据处理软件工程师常新宇 93
第三部分 算法面试
第7 章 俩指针 99
面试题1:两数之和I ☆☆ 99
面试题2:两数之和II ☆☆☆☆ 101
面试题3:Top K☆☆☆ 103
面试题4:两数组第k 个值☆☆☆☆☆ 107
面试题5:有序数组去重☆ 109
面试题6:数组分水岭☆☆☆ 111
第8 章 动态规划 113
面试题7:最长递增子序列☆☆☆☆ 114
面试题8:最小化数组乘积☆☆☆☆ 116
面试题9:刷房子☆☆☆ 117
面试题10:编辑距离☆☆☆☆ 118
面试题11:最长回文子串☆☆☆☆☆ 120
面试题12:最大公共子串☆☆☆☆ 121
第9 章 优先遍历 123
面试题13:填充图像☆☆☆☆ 123
面试题14:单词替换规则☆☆☆☆ 124
面试题15:有向图遍历☆☆☆☆ 126
第10 章 哈希 128
面试题16:最长不同字符的子串☆☆☆☆ 128
面试题17:常数时间插入删除查找☆☆☆ 129
面试题18:对数时间范围查询☆☆☆☆ 130
面试题19:实现LRU 缓存☆☆☆☆ 130
面试题20:经过最多点的直线☆☆☆ 133
第11 章 堆栈 136
面试题21:局部最大值☆☆☆ 136
面试题22:数据流最大值☆☆☆☆ 138
面试题23:产生逆波兰式☆☆☆ 139
面试题24:逆波兰式计算☆☆☆ 140
面试题25:设计Min 栈☆☆☆☆ 142
面试题26:最小公共祖先☆☆ 143
扩展问题1 144
扩展问题2 147
第12 章 排列组合 149
面试题27:翻译手机号码☆☆☆ 149
面试题28:数组签名☆☆☆☆ 151
面试题29:组合和☆☆☆ 153
面试题30:N 皇后☆☆☆☆ 155
第13 章 杂项 157
面试题31:实现迭代器peek() ☆☆☆ 157
面试题32:实现复杂的迭代器☆☆☆☆ 158
面试题33:实现BlockingQueue ☆☆☆ 160
面试题34:随机数产生器☆☆☆☆☆ 161
面试题35:找出明星☆☆☆ 163
面试题36:根据概率分布产生随机数☆☆☆☆ 163
面试题37:随机采样☆☆☆ 164
面试题38:统计电话号码个数☆☆☆ 165
面试题39:海量数据高频词☆☆☆ 166
面试题40:多台机器的中值☆☆☆☆ 166
第四部分 系统设计
第14 章 实战技巧及准备 171
14.1 实战技巧 172
技巧1:不要惊慌 172
技巧2:与面试官积极交流 173
技巧3:厘清需求 173
技巧4:先框架再细节 174
技巧5:留意错误处理 174
14.2 常见知识点 175
14.3 如何准备 177
第15 章 系统设计例题 180
面试题41:大数据存储☆☆☆☆ 180
面试题42:大并发处理☆☆☆☆ 182
面试题43:大数据收集☆☆☆☆ 185
系统知识阅读 188
附录A 数据结构与算法 191
附录B 海量数据结构 192
^ 收 起