第一部分 硅谷求职
第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
· · · · · · (
收起)