编程之美——微软技术面试心得

来源:互联网 发布:基因信息数据库 编辑:程序博客网 时间:2024/05/17 02:07
内容介绍:
《编 程之美——微软技术面试心得》是微软亚洲研究院技术创新组研发主管邹欣老师继《移山之道——VSTS软件开发指南》后的最新力作。他带领其他几位同事和实 习生经过9个月的时间完成了这本书。本书收集了大约60道微软技术面试题,这些问题妙趣横生,其解答别出心裁,还穿插了面试者的各种小故事。它传达给读 者:微软重视什么样的能力,需要什么样的人才。但它更深层的意义在于引导读者思考,提倡一种发现问题、解决问题的思维方式,充分挖掘编程的乐趣,展示编程 之美。


第1章  游戏之乐——游戏中碰到的题目... 1

1.1  让CPU占用率曲线听你指挥... 3

1.2  中国象棋将帅问题... 13

1.3  一摞烙饼的排序... 20

1.4  买书问题... 30

1.5  快速找出故障机器... 35

1.6  饮料供货... 40

1.7  光影切割问题... 45

1.8  小飞的电梯调度算法... 50

1.9  高效率地安排见面会... 54

1.10 双线程高效下载... 59

1.11 NIM(1)一排石头的游戏... 64

1.12 NIM(2)“拈”游戏分析... 67

1.13 NIM(3)两堆石头的游戏... 72

1.14 连连看游戏设计... 86

1.15 构造数独... 91

1.16 24点游戏... 99

1.17 俄罗斯方块游戏... 108

1.18 挖雷游戏... 116

第2章  数字之魅——数字中的技巧... 117

2.1  求二进制数中1的个数... 119

2.2  不要被阶乘吓倒... 125

2.3  寻找发帖“水王”... 129

2.4  1的数目... 132

2.5  寻找最大的K个数... 139

2.6  精确表达浮点数... 147

2.7  最大公约数问题... 150

2.8  找符合条件的整数... 155

2.9  斐波那契(Fibonacci)数列... 160

2.10 寻找数组中的最大值和最小值... 166

2.11 寻找最近点对... 171

2.12 快速寻找满足条件的两个数... 178

2.13 子数组的最大乘积... 182

2.14 求数组的子数组之和的最大值... 185

2.15 子数组之和的最大值(二维)... 192

2.16 求数组中最长递增子序列... 198

2.17 数组循环移位... 204

2.18 数组分割... 207

2.19 区间重合判断... 211

2.20 程序理解和时间分析... 215

2.21 只考加法的面试题... 217

第3章  结构之法——字符串及链表的探索... 219

3.1  字符串移位包含的问题... 221

3.2  电话号码对应英语单词... 224

3.3  计算字符串的相似度... 230

3.4  从无头单链表中删除节点... 234

3.5  最短摘要的生成... 237

3.6  编程判断两个链表是否相交... 241

3.7  队列中取最大值操作问题... 244

3.8  求二叉树中节点的最大距离... 250

3.9  重建二叉树... 256

3.10 分层遍历二叉树... 262

3.11 程序改错... 268

第4章  数学之趣——数学游戏的乐趣... 273

4.1  金刚坐飞机问题... 275

4.2  瓷砖覆盖地板... 279

4.3  买票找零... 282

4.4  点是否在三角形内... 286

4.5  磁带文件存放优化... 291

4.6  桶中取黑白球... 294

4.7  蚂蚁爬杆... 299

4.8  三角形测试用例... 303

4.9  数独知多少... 307

4.10 数字哑谜和回文... 315

4.11 挖雷游戏的概率... 322