标题：编程之美：微软技术面试心得
版权信息
  书 名: 编程之美:微软技术面试心得
作　者：《编程之美》小组
出版社：电子工业出版社
出版时间： 2008
ISBN: 9787121060748
开本： 16
定价: 40.00 元
内容简介
《编程之美:微软技术面试心得》是一本让人着迷的书！阅读起来。有些题目的内容会引起强烈的共鸣，尤其是那些自己非常熟悉并且又深知解答的题目；也有一些题目让我异常惊诧，原来除了我所知道的解答思路之外，还有更好的解答以及更深层次的原因。还有一些题目是从来没想到过的。阅读过程是一次愉快的享受，也是脑细胞持续活跃的过程。
自计算机与软件出现以来，在近半个世纪里，软件开发所能衍生出的无限创意，深深吸引着全世界的青年。在二进制的世界里，这帮年轻的程序员充分发挥自己的热情和想像力，仅仅通过对“1”和“0”的互换操作，他们辟地开天，恣意汪洋地创造出一个又一个的奇迹。今天，前几代“青年”积累构建的虚拟世界正在深刻地改变我们的现实生活。软件开发过程的复杂程度已经足以媲美传统的工业生产。前人堆积如山的开发经验和规则，令象牙塔里的学子们望而生畏。今天软件学院的学生们站在巨人的肩膀上，用最流行的语言和工具武装到了牙齿，但似乎缺少了前辈们的热情，也忘记了编程的乐趣所在——发现问题，分析问题，解决问题，寻找更优的解法，总结规律，抽象出算法的过程以及由此产生的成就感。《编程之美:微软技术面试心得》收集了大约60道微软技术面试题，作者试图通过书中妙趣横生的问题和详细的解说以及面试者的各种小故事，告诉读者微软需要什么样的技术人才，重视什么样的能力，如何甄别人才。但它更深层的意义在于引导读者思考，帮助读者重拾通过编程探索未知世界的乐趣。　
本书的内容分为下面几个部分：
游戏之乐：从游戏和其他有趣问题出发，化繁为简，分析总结。
数字之魅：编程的过程实际上就是和数字及字符打交道的过程。这一部分收集了一些好玩的对数字进行处理的题目。
结构之法：汇集了常见的对字符串、链表、队列，以及树等进行操作的题目。
数学之趣：列举了一些不需要写具体程序的数学问题，锻炼读者的抽象思维能力。
书中绝大部分题目都提供了详细的解说。 每道题目后面还有一至两道扩展问题，供读者进一步钻研。
书中还讲述了面试的各种小故事，告诉读者微软需要什么样的技术人才，重视什么样的能力，如何甄别人才。回答读者关于IT业面试，招聘，职业发展的疑问。这本书的很多题目会出现在IT 行业的各种笔试，面试中。但本书更深层的意义在于引导读者思考，和读者共享思考之乐，编程之美。
微软公司全球资深副总裁沈向洋作序推荐！
北京大学计算机科学技术研究所副研究员潘爱民倾力推荐！
作者团队介绍
《编程之美》由下面几位作者协同完成，如果把这本书的写作比作一个软件项目，它有下面的各个阶段，每个阶段则有不同的目标和角色。
1． 构想阶段：邹欣。
2． 计划阶段：邹欣、刘铁锋、莫瑜。
3． 实现阶段/里程碑（一）：上述全部人员，加上李东、张晓、陈远、高霖（负责封面设计）。
4． 实现阶段/里程碑（二）：上述全部人员，加上梁举、胡睿。
5． 稳定阶段：上述全部人员，加上博文视点的编辑们。
6． 发布阶段：邹欣、刘铁锋和博文视点的编辑们。
读者评论
（1）的确是好书，不同于算法导论和程序设计艺术之类的书（比较抽象），结合很多比较现实易于形象化的题目，大开眼界。每天做两道题目，感觉挺有收获的。
——互动网读者superzxt
（2）这本书对于学生求职还是很有帮助的，通过做题可以先感受一下笔试面试气氛，拓宽自己的解题思路，从而有助于找到一份不错的工作。强烈推荐大家对每一道题目都好好揣摩揣摩，必能受益良多。
——互动网读者cx_flying
（3）这本书表面上是讲解算法，实际上体现了一种面对困难、解决问题的心态……个人还是挺喜欢这类书的，把编程人性化了……
——互动网读者拓荒者
（4）……这本书更大的作用在于——给你一个有趣的题目，让你自己去思考，思考出来后再对照它给出的解法，看看你是否做对了。在这个过程中，你学会了作为一个程序员最重要的东西——独立思考的能力，而不是碰到问题就在网上到处找代码片段，盲目拷贝已有的解决方案。
——互动网读者CoolJie2001
（5）买这本书是因为看到这本书名字的前四个字，而非后面几个字。看着书的封面，朴素简单的设计，处处透出清新之美。
随着软件产业的迅速发展，各种高级编程语言铺天盖地席卷而来，软件开发变得单调而枯燥，而编程本身的乐趣如今却很难在身边找到。这本书正是迎合了我的想法，编程本身应该非常有乐趣，通过巧妙的思考，寻求解决问题的方法。《编程之美》放在案前，每有倦意，品杯香茶，翻开几页，感受久违的古色古香，沉浸在美妙的思考中，别有一翻滋味~~
——当当网读者nuaapjy
（6）之前对算法的印象是晦涩难懂，每每总是望而却步，提不起来兴趣去研究算法，读了《编程之美》中的几个算法，有一种豁然开朗的感觉，原来算法也可以讲的这么生动有趣，这么吸引人。《编程之美》中的算法以实例开题，循序渐进的解决问题，一步步去剖析算法的本质，挖掘和发散算法功效，进而去淋漓尽致的体现算法的美妙！
——当当网读者萝卜萝卜闪金光
（7）一本编程的课外读物，引发编程兴趣的好书。
——当当网读者tiangu0120
（8）此书重要的是开拓思路，有一定基础的朋友看了这个，就会有一种意犹未尽的感觉，“原来还可以这么玩啊”的想法。
——卓越网读者yc_andy1009
（9）刚刚读完这本书，感觉不错，启发很大，这是我继读完《算法导论》以来发现比较好的一本书，推荐对算法以及对大公司的面试题有兴趣的人去看看。
——卓越网读者lironghua
（10）算法是计算机程序设计的灵魂，是每个计算机专业的学生和从业人员必须具备的基本素质之一。微软把一些看似简单，实则蕴含深刻内涵的算法题目作为面试的重要内容，是经过深思熟虑了的。
——网友Sswv
（11）《编程之美》中这些谜题考察、锻炼的是扎实、严密和具有创造性的思考能力，面对问题有条不紊的分析能力，和不断深入、刨根问底的精神。毫无疑问，这些素质，都是软件工程师身上最宝贵的东西。
——《程序员》杂志技术主编孟岩
（12）随着软件产业的迅速发展，各种高级编程语言铺天盖地席卷而来，软件开发变得单调而枯燥，而编程本身的乐趣如今却很难在身边找到。《编程之美》正是迎合了我的想法，编程本身应该非常有乐趣，通过巧妙的思考，寻求解决问题的方法。
——当当网读者nuaapjy
（13）我招人的时候找了《编程之美》上面的题目作参考，效果还不错。里面描述的算法很有意思。
——当当网读者beikerray119
（14）工程师的骄傲，在于创造。编程的乐趣也在于探索。当我们不仅爱玩电脑，会玩电脑，也尝试着用电脑去解决实际的问题并获得成功的时候，那种自我肯定的快乐是一般途径所体会不到的。
何为编程之美？巧妙的思路，简明的算法，严谨的数学分析——这些综合起来就是编程之美。
——网友Ultra
目录
第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.11NIM（1）一排石头的游戏 64
1.12NIM（2）“拈”游戏分析 67
1.13NIM（3）两堆石头的游戏 72
1.14连连看游戏设计 86
1.15构造数独 91
1.1624点游戏 99
1.17俄罗斯方块游戏 108
1.18挖雷游戏 116
第2章数字之魅——数字中的技巧 117
2.1求二进制数中1的个数 119
2.2不要被阶乘吓倒 125
2.3寻找发帖“水王” 129
2.41的数目 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