微软亚洲工程院(ATC)的几个面试题目

     听说微软招收暑期的intern,于是投了一份resume给微软工程院,然后经历了一次笔试和两次面试,一次面试在广州的中信大厦66层,微软办事处。还有一次是电话面试,电话是从北京直接打过来的。面试的题目其实还是比较基本的,考察基础知识为主。下面根据我的记忆说说其中的部分题目:

     首先是C++的基础,问题包括:

      1. 说说你对C++有什么认识?

     2. C语言里面的static和C++里面的static有什么区别。

     3. 为什么C++中基类的析构函数(destructor)一般采用虚函数(virtual)。

     这些问题我都回答的不好,看来C++的基础还是太差,唉。

     然后是关于数据结构和STL(Standard Template Library)的问题:

     4. 如果一个序列需要频繁插入和删除,应该如何实现?

     5. 如果要你实现STL里面的set,你会采用什么数据结构实现的?

     前一个我说用链表实现,后一个就郁闷了,确实没有认真研究过STL,就随口说了一大堆,什么hash,binary heap都吹了一下。这个答案显然不能令面试官满意,他告诉我set是用排序树实现的。

     看来我不光语言基础差,STL也很烂,平时只知道使用,不知道深入研究,果然随便问问就击中我的软肋。

     最后是写程序的题目,要求半个钟写完发到面试官的邮箱里。题目都是比较经典的算法题。开始要求我写一个求最大子段和的程序,我当时说这不就是一个O(n)的动态规划嘛,我写过很多次了(大言不惭,汗)。

      面试官马上说,那就换一个题目吧,把一个7进制的数转换成3进制的数,7进制的数用string存储。

      进制转换其实不难,我开始随便交了一个,只能处理整数(int),不能处理大数的转换。后来面试官说不满意,我就又写了一个能够处理大数的程序。其实也不能说完全是当场写的,因为我借用了我例程库里面的一个高精度运算的类,不过总算是写出来了。

     感觉ATC的工作态度非常认真,人力资源的mm连续给了我几个电话确定笔试和面试的时间,面试官也不错。无论我最后能不能去ATC实习,这些面试的机会都非常难得,给了我不少有益的启示。

     最后说点无关的话题,中信大厦66层的景色非常好,可以看到整个天河区,看到广州东站的广场。当我站在微软的会议室里鸟瞰天河区那栋栋高楼和来来往往的车流的时候,我觉得广州非常非常美丽。真希望以后有机会能够再去一次。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值