微软笔试之反思(一)
2006-04-19 21:12
323 查看
本文严禁转载。
今天下午4点到6点,参加了微软研究院和工程院的联合笔试,结果真的被鄙视了。
两个小时,三道题,其实都不难。
我的觉得工程院注重思路的严谨性,还有考虑是否全面,特别是第二题。
而研究院可能更注重创新精神。我的答题思路都是比较传统的,没有什么创意,唯一的一句有点创意的,大概就是:“Sorry! I've not enough time for the rest code.”
看了大家的情况,估计情况都跟我差不多,不过也不排除猛人。
两院说今年在我们这里招5-10人,不知道有没有机会挤进去。
郁闷的事情是:前几天刚参加过MIURA公司的面试,结果要到5月才能下来,现在微软又来了,真的希望MIURA能不要我了,但是微软的又没有把握。sigh!
神奇的事情是:交完卷子,慕老师喊住我,问我你到底想到什么公司?因为你的GPA是咱们班最高的,你的去向很受关注的。我晕,很不确定的说:“不是吧,似乎杜明阳的比我的要高!”慕老师又确认了一下,说貌似我的确实是最高的。他还说:“我要提醒你一件事情,研究院留下的可能相当小,但是工程院留下的可能就比较大了。”
下面分析一下题目:
其实不是什么分析,试题需要保密,我也不敢太详细的公开写出来
第一题大致是reverse a double linked list,define the datastructure and prototype yourself
这道题很容易,类似的考研题做过无数次,不过在这种情况下就要好好考虑了。
我定义数据结构就是按部就班,学严老的书的形式,除了node外,还定义了一个dll,感觉似乎多此一举。
原型貌似没有什么好说的。
由于没有具体的要求,也没有空间时间上的要求,所以发挥余地比较大,而这恰恰是MS所看重的地方。
具体的数据类型我没有用模板的形式,主要是模板的语法记不太清,汗。就用了elem+remark的方法。
没有空间要求,所以可以原地,也可以拆开重新组合,(再来一个新链表的方法就不考虑了
),我采用的方法是原地,三个指针,中间那个用来reverse,另外2个防止指针丢失。时间方面的要求我就做的比较麻烦了。while语句里边我有5个语句,不过没有时间,也没考虑过什么优化之类的。
错误处理,比如空链表,一个节点的链表。我把两个结点的链表也独立出来了,后来发现不需要,于是又remark了一下,this two lines is not neccessary.but it makes the code more clearly
第二题是实现一个函数Otctodouble。
感觉这题最麻烦,编译原理里边的东西都忘了。
我先说一下我的思路,travel三次。
第一次,识别是否有非法字符,语法是否合乎给定的formal definition。非法则返回0.0。由于我语法部分全忘了。所以就灭有给出理论,直接按自己的思路判定,比如+-不能在除第一个位置外出现,dot前后至少有一个数字,不能有超过一个的dot +和-(就这些,我都没有实现完全。)还有就是长度不能overflow我用的是小于log82128,(double为32字节,即128位,也灭有考虑dot和+-的判定)
第二次,扫描dot的位置并且确定正负,感觉这个travel最笨了。不过也没有办法,没什么创新能力。
第三次,根据dot的位置使用经典进制转换公式转换成double并输出。
唉。漏洞百出,没有考虑+。01这种情况,前方补零。还有一些,想起来再补上。
今天下午4点到6点,参加了微软研究院和工程院的联合笔试,结果真的被鄙视了。
两个小时,三道题,其实都不难。
我的觉得工程院注重思路的严谨性,还有考虑是否全面,特别是第二题。
而研究院可能更注重创新精神。我的答题思路都是比较传统的,没有什么创意,唯一的一句有点创意的,大概就是:“Sorry! I've not enough time for the rest code.”
看了大家的情况,估计情况都跟我差不多,不过也不排除猛人。
两院说今年在我们这里招5-10人,不知道有没有机会挤进去。
郁闷的事情是:前几天刚参加过MIURA公司的面试,结果要到5月才能下来,现在微软又来了,真的希望MIURA能不要我了,但是微软的又没有把握。sigh!
神奇的事情是:交完卷子,慕老师喊住我,问我你到底想到什么公司?因为你的GPA是咱们班最高的,你的去向很受关注的。我晕,很不确定的说:“不是吧,似乎杜明阳的比我的要高!”慕老师又确认了一下,说貌似我的确实是最高的。他还说:“我要提醒你一件事情,研究院留下的可能相当小,但是工程院留下的可能就比较大了。”
下面分析一下题目:
其实不是什么分析,试题需要保密,我也不敢太详细的公开写出来
第一题大致是reverse a double linked list,define the datastructure and prototype yourself
这道题很容易,类似的考研题做过无数次,不过在这种情况下就要好好考虑了。
我定义数据结构就是按部就班,学严老的书的形式,除了node外,还定义了一个dll,感觉似乎多此一举。
原型貌似没有什么好说的。
由于没有具体的要求,也没有空间时间上的要求,所以发挥余地比较大,而这恰恰是MS所看重的地方。
具体的数据类型我没有用模板的形式,主要是模板的语法记不太清,汗。就用了elem+remark的方法。
没有空间要求,所以可以原地,也可以拆开重新组合,(再来一个新链表的方法就不考虑了
),我采用的方法是原地,三个指针,中间那个用来reverse,另外2个防止指针丢失。时间方面的要求我就做的比较麻烦了。while语句里边我有5个语句,不过没有时间,也没考虑过什么优化之类的。
错误处理,比如空链表,一个节点的链表。我把两个结点的链表也独立出来了,后来发现不需要,于是又remark了一下,this two lines is not neccessary.but it makes the code more clearly
第二题是实现一个函数Otctodouble。
感觉这题最麻烦,编译原理里边的东西都忘了。
我先说一下我的思路,travel三次。
第一次,识别是否有非法字符,语法是否合乎给定的formal definition。非法则返回0.0。由于我语法部分全忘了。所以就灭有给出理论,直接按自己的思路判定,比如+-不能在除第一个位置外出现,dot前后至少有一个数字,不能有超过一个的dot +和-(就这些,我都没有实现完全。)还有就是长度不能overflow我用的是小于log82128,(double为32字节,即128位,也灭有考虑dot和+-的判定)
第二次,扫描dot的位置并且确定正负,感觉这个travel最笨了。不过也没有办法,没什么创新能力。
第三次,根据dot的位置使用经典进制转换公式转换成double并输出。
唉。漏洞百出,没有考虑+。01这种情况,前方补零。还有一些,想起来再补上。
相关文章推荐
- 微软笔试之反思(二)
- 2016 微软秋招(校招)在线笔试 题目1 : Farthest Point
- 微软笔试题
- 微软2012笔试题之--catalan数
- 2012微软暑期实习笔试
- 2013微软笔试题
- microsoft微软——笔试题2
- 微软笔试选摘
- 微软2012实习生笔试题及答案(望讨论)
- 关于C/C++一些面试/笔试题的反思(超基础的知识点)
- 微软2007春季实习笔试题目
- 2014微软秋季校招算法笔试题
- 2012微软暑期实习生笔试题
- 微软笔试题 求出现次数超过一半的元素
- 微软2012实习生笔试题+答案解析
- 赴微软测试工程师必考一道笔试题目
- 微软夏令营笔试测验第一题 Array Partition
- 2017微软探星夏令营在线技术笔试
- 微软hiho上的笔试题:Tower Defense Game
- 微软2016校园招聘在线笔试题目-第一题 Magic Box