扫描右侧图片或微信搜索 “ Java技术分享屋 ” ,回复 “ 验证码 ” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
一.资料图片
二.资料简介
本书收集了约60道算法和程序设计的题目,这些题目大部分在微软的笔试、面试中出现过,有的曾被微软员工热烈地讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题、分析问题、解决问题,寻找更优的解法。本书分为以下几个部分。
• 游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。
• 数字之魅:编程的过程实际上就是和数字及字符打交道的过程。这部分收集了一些好玩的对数字进行处理的题目。
• 结构之法:汇集了常见的对字符串、链表、队列以及树等进行操作的题目。
• 数学之趣:列举了一些不需要写具体程序的数学问题,锻炼读者的抽象思维能力。
本书中绝大部分题目都提供了详细的讲解。每道题目后面还有一至两道扩展问题,供读者进一步钻研。
书中还讲述了面试的各种小故事,告诉读者微软需要什么样的技术人才,重视什么样的能力,如何甄别人才,并回答了读者关于IT业面试、招聘、职业发展的疑问。其中很多题目会出现在IT行业的各种笔试和面试中,但本书更深层的意义在于引导读者思考,和读者共享思考之乐、编程之美。
三.作者简介
邹欣,现任微软亚洲研究院技术创新组研发主管。1991年获北京大学计算机软件专业学士学位。1996年获美国 Wayne State University 计算机软件专业硕士学位。从1996年起在微软 Outlook 产品团队从事开发工作,2003年到2005年,在微软 Visual Studio Team System 产品团队负责软件质量管理工具的开发。加入微软前,从事过商用 Unix 系统、GPS/GIS 软件开发以及软件测试工作。2007年出版了《移山之道》一书。
四.资料目录
面试杂谈 XVII
第1章 游戏之乐——游戏中碰到的题目 1
1.1 让 CPU 占用率曲线听你指挥 4
1.2 中国象棋将帅问题 13
1.3 一摞烙饼的排序 19
1.4 买书问题 29
1.5 快速找出故障机器 38
1.6 饮料供货 43
1.7 光影切割问题 48
1.8 小飞的电梯调度算法 53
1.9 高效率地安排见面会 57
1.10 双线程高效下载 62
1.11 NIM(1)一排石头的游戏 67
1.12 NIM(2)“拈”游戏分析 70
1.13 NIM(3)两堆石头的游戏 75
1.14 连连看游戏设计 88
1.15 构造数独 93
1.16 24点游戏 100
1.17 俄罗斯方块游戏 108
1.18 挖雷游戏 115
第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 寻找数组中的最大值和最小值 165
2.11 寻找最近点对 170
2.12 快速寻找满足条件的两个数 176
2.13 子数组的最大乘积 180
2.14 求数组的子数组之和的最大值 183
2.15 子数组之和的最大值(二维) 189
2.16 求数组中最长递增子序列 194
2.17 数组循环移位 199
2.18 数组分割 202
2.19 区间重合判断 205
2.20 程序理解和时间分析 209
2.21 只考加法的面试题 211
第3章 结构之法——字符串及链表的探索 213
3.1 字符串移位包含的问题 215
3.2 电话号码对应英语单词 218
3.3 计算字符串的相似度 223
3.4 从无头单链表中删除节点 226
3.5 最短摘要的生成 229
3.6 编程判断两个链表是否相交 233
3.7 队列中取最大值操作问题 236
3.8 求二叉树中节点的最大距离 241
3.9 重建二叉树 246
3.10 分层遍历二叉树 252
3.11 程序改错 258
第4章 数学之趣——数学游戏的乐趣 263
4.1 金刚坐飞机问题 265
4.2 瓷砖覆盖地板 269
4.3 买票找零 272
4.4 点是否在三角形内 276
4.5 磁带文件存放优化 281
4.6 桶中取黑白球 284
4.7 蚂蚁爬杆 288
4.8 三角形测试用例 292
4.9 数独知多少 296
4.10 数字哑谜和回文 303
4.11 挖雷游戏的概率 310
索引 311
创作后记 315