校园招聘 - 比較easy的面试题
又到校园招聘的季节了, 自从和一些同事出版了《编程之美》一书之后, 我常常收到一些关于面试, 编程, 和“题库”的询问。 事实上我自己对算法没有什么研究, 有些问题都答不上, 研究院近期搬了一次家, 原来的 “题库”也不知道搬到那一层楼去了。 只是, 常在河边走, 哪能不湿鞋? 在微软亚洲研究院这个水非常深的地方混, 一些题目还是打湿了我的脚。 今天新的校园招聘 正式開始了, 我准备了几个比較easy的题目, 作为 “献礼”。这些题目不是一上来就刷刷刷写代码的那种, 我自己都不知道最佳解法是什么, 假设你有好的想法, 能够讨论一下.
1. 仅仅考数据结构的题目
不少同学认为《编程之美》上面的题目太难了, 还要写那么多程序… 好, 事实上也有非常easy的问题, 比如这一个 - 仅仅考数据结构的知识:
《编程之美》 中提到 “求数组最大子数组的和”这一题目,
(图1)
脑快手快的同学写一个 10 行的程序就把这个问题搞定了。
我们还把这个问题扩展到二维, 比如:
(图2)
我还问过一些同学, 假设数组首尾相连, 像一个轮胎一样, 又怎么办呢? 这些同学也给出了美丽的答案, 而且用 SilverLight/WPF 给画了出来:
(图3)
好,设想我们有一张纸带,两面都写满了像 [图2] 那样的数字, 我们把纸带的一端扭转, 和还有一端接起来, 构成一个莫比乌斯环 (Möbius Strip).
(图4 – wikipedia)
我想虽然这个纸带扭了一下, 可是上面还是有数组, 还是有最大子数组的和, 对么? 在求最大子数组的和之前, 我们用什么样的数据结构来表示这些数字呢? 你能够用 Java, C, C#, 或其它语言的数据结构来描写叙述这个莫比乌斯环上的数组。数据结构搞好了, 算法自然就有了。
2. 举一反一的问题
《编程之美》的第一题是让Windows 任务管理器的CPU 使用率曲线画出一个正弦波。我一直在想, 能不能把CPU 使用率边上的网络使用率也如法炮制一下呢? 比方, 也来一个正弦曲线?

3. 人月的问题
假设你没看过, 也至少听说<人月神话> (The Mythical Man-month) 这本在软件project领域非常有影响的书. 当你在微软学术搜索中输入 “manmonth” 这个词的时候, 你会意外地碰到以下这个错误:

经过几次试验之后, 你发现必需要输入 “man-month” 才干得到希望的结果。 这不就是仅仅差一个 ‘-’ 符号么? 为什么这个搜索引擎不能做得聪明一些, 给一些提示 (Query Suggestion)? 或者自己主动把用户想搜的结果展现出来 (Query Alteration)? 我们在输入比較长的英文单词的时候, 也难免会敲错一两个字母, 站点应该帮助用户, 而不是冷冰冰地拒绝用户啊。
微软的学术搜索 (Microsoft Academic Search) 索引了超过 3千万的文献, 2 千万的人名, 怎么能以比較小的代价, 对常常出现的输入错误提供提示? 或直接显示相关结果, 避免用户重复尝试输入的烦恼?
你可能会说, 这非常难吧, 可是还有一家搜索引擎似乎轻易地攻克了这个问题 (样例)。 所以, 还是有办法的。
这个题目要求你:
1) 试验不同的输入, 反推出眼下微软的学术搜索是怎样实现搜索建议 (Query Suggestion)的。
2) 提出自己的改进建议, 并论证这个解决方式在千万级数据规模上能达到 “足够好” 的时间 (speed) 和空间 (memory usage)效率。
3) 预计这事需要几个 人·月 (man-month) 才干做完?
----
有人问, 把题目都公开出去, 大家都知道答案了, 我们还怎么面试啊?
回答: 这就看面试官的功夫了.
三个题目都做好的应届毕业生, 请直接找我。
校园招聘 - 比較easy的面试题的更多相关文章
- 各大IT公司校园招聘程序猿笔试、面试题集锦
转自:http://blog.csdn.net/hackbuteer1/article/details/7959921#t4 百度一面 1.给定一个字符串比如“abcdef”,要求写个函数编程“def ...
- 阿里巴巴集团2014年校园招聘系统project师北京笔试题
第一部分 单选题(前10题,每题2分;后10题,每题3分;共50分.选对得满分,选错倒扣一分,不选得0分.) 1.字符串"alibaba"有 个不同的排列. A. 5040 B. ...
- 2014 WAP校园招聘笔试题
2014 WAP校园招聘笔试题 Problem's Link: http://www.doc88.com/p-6751117015483.html WAP公司笔试题 We are planning ...
- google2013校园招聘笔试题(全国)
google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...
- Microsoft 2013校园招聘笔试题及解答
Microsoft 2013校园招聘笔试题及解答 题目是自己做的,求讨论.吐槽.拍砖 1. Which of the following callingconvension(s) suppo ...
- Microsoft2013校园招聘笔试题
Microsoft2013校园招聘笔试题 继续求拍砖!!!! 1. You are managing the database of a book publichser, you currently ...
- C# - 2017微软校园招聘笔试题 之 MS Recognition[待解决]
MS Recognition 在线提交: hihoCoder 1402 http://hihocoder.com/problemset/problem/1402 类似: OpenJudge - I:P ...
- 2018春季校园招聘笔经面经合集:Java开发岗
2018春季校园招聘笔经面经合集:Java开发岗 以下为精选面经: 美团外卖配送部后台开发面经 nowcoder.com/discuss/76 春招总结,干货满满 nowcoder.com/discu ...
- 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路
2006年9月,结束了一年的北京中科院实习后,我回到了电子科技大学,此时已经是研三上学期了.有着"金九银十"之称的秋季校园招聘正式开始了. 准备好了简历后,Jerry也加入了浩浩荡 ...
随机推荐
- CSS---input标签注意
总结一下,在给input标签写CSS时需要注意的有以下几点: 一.不要给属性为text的input标签设置高度,这样无法让IE浏览器下输入框中的文字垂直居中显示.尽管你后来想要通过设置padding属 ...
- SendMessage的返回值,就是由相应的响应消息函数的返回值(解释的简洁明了)
SendMessage Return Values The return value specifies the result of the message processing and depend ...
- Android LocalActivityManager的用法
在开发中会碰到在一个activity中的局部(或者是activity的Fragment中)显示其他的activity 的内容,这时就用到了LocalActivityManager类. 假设这个容器是一 ...
- E=MC2 - 搜搜百科
E=MC2 - 搜搜百科 1 E=MC2 质能等价理论是爱因斯坦狭义相对论的最重要的推论,即著名的方程式E=mC^2,式中E为能量,m为质量,C为光速:也就是说,一切物质都潜藏着质量乘于光速平方的能量 ...
- Java中的图形界面编程
前言 正文 Java中的图形界面编程 AWT/Swing AWT(Abstract Window ToolKits,抽象窗体工具集) 1.容器类:用来存储组件,实现容器布局 2.组件类:实现界面的一些 ...
- oracle tns
oracle tns 是oracle提供的服务名,设置方法,oracle安装根目录---product----版本选择11.2.0----client1---NETWORK---ADMIN---tns ...
- JavaScript之<noscript>标签简介
早期浏览器都面临一个特殊的问题,即当浏览器不支持JavaScript时如何让页面平稳的退化.对这个问题的终极方案就是创造一个<noscript>元素,用以在不支持或支持但禁用了JavaSc ...
- param
页面之间值传递用param作为参数,提高网站安全性
- UCML破解
最近一直加班,好久没更新了.无良的产品经理一直催着修改功能,本想把活带回家做..结果...公司就一个UCML的加密狗...闹心....想办法破解: 1.狗复制,这个没搞过,某宝上有帮忙复制的,联系了一 ...
- Oracle排序
按照拼音排序 SELECT * FROM TEAM ORDER BY NLSSORT(排序字段,'NLS_SORT = SCHINESE_PINYIN_M') 按照笔画排序 SELECT * FROM ...