微软实习生面试--电面

9、10月份,大部分公司都开始了招收应届毕业生的工作,参加实习的师兄师姐们基本上都结束了在各个公司的实习,因此各个公司的实习生出现了空缺,于是,百度,微软都开始招收实习生了。闲来无事,我报了微软实习生的研发职位。

正好前段时间订票了,准备去黄山玩两天,结果没有时间准备今天微软的电面,今天微软的电面负责人打电话过来,对我进行了约一个小时的电面,整个过程我说不上好和坏,做个记录。

首先是一个自我介绍,我就大概讲了讲在实验室的项目经历,现在在做什么,有什么特长来着,反正每次说到特长就特蛋疼,熟练c,c++说得都没有那么底气。接下来就是一个算法题,微软果然是喜欢问跟链表相关的问题,问我的问题是给定两个链表的头指针,求相同的节点位置。在博客园上搜了搜,果然有原题,但是面试那个当口我是没做过这道题的,只能自己现场想。

最开始没理解清楚题目的意思,以为相同节点的意思是val相同,这样我左思右想也没有想出一个合适(空间时间效率高)的方法来解答出来,后来才弄清楚微软那个师兄问的意思是那个节点(包括val和指针)都是一模一样的,那样的话这个程序就简单多了,我给出的算法是和刚才那个链接里面给出的第一个算法是相同的。但是没有考虑有环的情况。

我的算法思路很简单:首先,遍历两个链表,得到两个链表的长度m和n,先遍历较长链表|m-n|次,接着同步遍历两个链表,一旦相同,则找到相同节点,否则返回null。

可能因为我当时说即便到微软做测试也没关系,也可能是因为我给出的答案不够robust(原题中那个哥们给出的算法还要考虑环的问题,我觉得不用考虑,但是兴许有别的问题),hr师兄又问我可不可以给出测试程序健壮性的几个输入例子,我觉的我这点回答的不够好,测试这方面我还真没什么经验,算是给我上了一课。

 

这个面试持续了大概一个小时,给我的感觉是题目不难,但是考究的是思路,整个过程中hr循循善诱,给我的印象非常好,希望明年毕业可以去微软。

 

转载于:https://www.cnblogs.com/obama/archive/2012/09/26/ms_internship_phone_01.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值