微软实习生电话面试

 

      今天接到微软电话面试,竟然是个有点口吃的面试官...

 

      感觉微软面试确实不太一样,问的问题还是比较新颖比较有深度的。项目经历方面就从嵌入式项目一直问到并行计算。这是第一个关心MPI比较多的面试官,问了比较多MPI如何使用的问题,包括一个MPI程序架构大概是怎样,怎样用gather等等。然后还问了一些操作系统的问题,包括进程线程的区别,文件系统的组成等和我项目经历有关的问题。

 

      接下来是两道C++和算法的问题:

      1. 构造函数和拷贝构造函数有什么区别,实现一个变长数组的类需要哪些非功能性的函数(有点像STL中的vector)

          有很多要注意的地方,都是在面试官的大量提醒下才答出来的,以下是一些要注意的地方:

          首先,要有构造函数和析构函数,分别要做什么工作。

          其次,要有拷贝构造函数!拷贝构造函数要能够判断拷贝的对象为空的情况,还要避免a=a即把一个对象赋给它本身的情况发生。

 

      2. 给N个互不相等的数,给定k,要求找出所有的a+b=k的数对

         开始我说先排序再查找,方法时间复杂度大概是O(nlgn)+O(n)(查找的时间复杂度是不是O(n)有待验证)

         后来面试官引导我说有没有只遍历一次然后用O(1)的时间复杂度去查找,想来想去,觉得只能用哈希了,可是又不知道该怎么哈      希。不过面试官也没说要怎样哈希,好像他的意思只是要我这种思想...

 

      然后面试官说午饭后发一道代码题到我邮箱,给我一个小时来写代码,通过邮件回复给他。

 

      最后我关心了一下整个面试周期,面试官介绍说如果他所在的team觉得我合适的话会最多再面一次,如果觉得我更合适其它team,则会推荐我到其它team里再重新电话面试,周期可能会稍长。顺便了解了一下面试官所在的Team在做什么,他说是优化windows内核性能(听起来十分nice~)

 

 

另附代码题:

 

一个TXT文件,每一行代表一个树的节点,格式为:

“/Node1/Node2/Num3/.../NodeN”,其中NodeN的格式为{KeyN, ValueN},Key和Value都是32位十进制的整形数字。如/{0, 100}/{2, 200}/{4, 400}

写程序读取该文件,并建立树的数据结构。注意:

1.       要验证树是不是合法的。

2.       如没有时间按,文件读取函数可以省略,可以用getline。

 

表示各种看不懂...遂回了邮件去问...才得到以下答复(一来一去就占用了20分钟)

 

按照节点的Key1来建立树啊。比如:

{0,1}

{0,1}/{2,100}

{0,1}/{3,200}

{0,1}/{2,100}/{4,300}

建立的树就是

0

|_3

|_2

   |_4

 

    代码写的有点乱,还过了提交的时间,都没有debug就交上去了...不知道会不会被鄙视

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值