又到校园招聘的季节了, 自从和一些同事出版了《编程之美》一书之后, 我常常收到一些关于面试, 编程,  和“题库”的询问。 事实上我自己对算法没有什么研究, 有些问题都答不上,  研究院近期搬了一次家, 原来的 “题库”也不知道搬到那一层楼去了。  只是, 常在河边走, 哪能不湿鞋?  在微软亚洲研究院这个水非常深的地方混,  一些题目还是打湿了我的脚。  今天新的校园招聘 正式開始了,  我准备了几个比較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的面试题的更多相关文章

  1. 各大IT公司校园招聘程序猿笔试、面试题集锦

    转自:http://blog.csdn.net/hackbuteer1/article/details/7959921#t4 百度一面 1.给定一个字符串比如“abcdef”,要求写个函数编程“def ...

  2. 阿里巴巴集团2014年校园招聘系统project师北京笔试题

    第一部分 单选题(前10题,每题2分;后10题,每题3分;共50分.选对得满分,选错倒扣一分,不选得0分.) 1.字符串"alibaba"有 个不同的排列. A. 5040 B. ...

  3. 2014 WAP校园招聘笔试题

    2014 WAP校园招聘笔试题 Problem's Link:   http://www.doc88.com/p-6751117015483.html WAP公司笔试题 We are planning ...

  4. google2013校园招聘笔试题(全国)

    google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...

  5. Microsoft 2013校园招聘笔试题及解答

    Microsoft 2013校园招聘笔试题及解答 题目是自己做的,求讨论.吐槽.拍砖 1.      Which of the following callingconvension(s) suppo ...

  6. Microsoft2013校园招聘笔试题

    Microsoft2013校园招聘笔试题 继续求拍砖!!!! 1. You are managing the database of a book publichser, you currently ...

  7. C# - 2017微软校园招聘笔试题 之 MS Recognition[待解决]

    MS Recognition 在线提交: hihoCoder 1402 http://hihocoder.com/problemset/problem/1402 类似: OpenJudge - I:P ...

  8. 2018春季校园招聘笔经面经合集:Java开发岗

    2018春季校园招聘笔经面经合集:Java开发岗 以下为精选面经: 美团外卖配送部后台开发面经 nowcoder.com/discuss/76 春招总结,干货满满 nowcoder.com/discu ...

  9. 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路

    2006年9月,结束了一年的北京中科院实习后,我回到了电子科技大学,此时已经是研三上学期了.有着"金九银十"之称的秋季校园招聘正式开始了. 准备好了简历后,Jerry也加入了浩浩荡 ...

随机推荐

  1. jsp 配置MySQL服务器 以及数据的插入和读取

    不多说,直接上代码.百度上面也是一大堆,大家多问百度就行. 在利用JDBC访问数据库过程中,主要涉及三种资源:对数据库的连接的连接对象Connection,SQL语句对象 Statement,访问结果 ...

  2. struts2笔记02-action和Action类

    1.action      action表示一个struts2的请求! 2.Action类 能够处理struts2请求的类. (1)属性的名字需要与JavaBeans属性保持一致. 属性的类型可以是任 ...

  3. 你是否决绝平庸,你有勇气来学C/C++吗,有勇气来检验你是否经得起世界五百强的面试

       如果你来传智播客学习 你的目标就是要积累工作经验 有机会参加世界五百强的面试 秒杀世界五百强的面试 赢得高薪的offer! C/C++课程大纲 C语言3周21天 完全掌握C语言的本质,成为一名合 ...

  4. Android View动画

    Animation TypeEvaluator View的animate方法 ValueAnimator ObjectAnimator AnimatorSet 使用xml来创建动画 animation ...

  5. 达内TTS6.0课件oop_day03

  6. iOS点滴- ViewController详解

    一.生命周期 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1. alloc                              创建对象,分配空间 2.init (initW ...

  7. 使用CSS3伸缩盒实现图片垂直居中

    用CSS实现图片垂直居中的方法有很多,针对移动端设备可以用CSS3伸缩盒来实现图片垂直居中. 代码如下: <div class="box"> <img src=& ...

  8. sublime text 3解放鼠标的快捷键总结

    Sublime text 3是我最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键, ...

  9. setTimeOut和setInterval详解

    setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的 ...

  10. const和readonly你真的懂吗?

    第二遍文章我打算把const和readonly的区别拿出来讲下,因为写代码这么久我都还没搞清楚这两者的区别,实在有点惭愧,所以这一次我打算搞清楚它. 定义 来看看MSDN的解释: readonly:r ...