面试微软工程院

来源:互联网 发布:开通淘宝直播要求 编辑:程序博客网 时间:2024/04/26 17:42

时间:2004年12月10日
地点:北京希格玛大厦

早想写些东西,虽然是一次失败的经历。但写出来,于别人于自己都是一件好事。

我是12月7日下午5点多接到电话的,来自北京的号(我当时人在绥中),听说是微软让我去面试时,我真的兴奋极了。3天后面试。

费话少说了。直接说面试内容吧。

每个面试者都会直接面到3面,吃一顿饭,然后走人。

1面(面试者的名字很有意思,舒适):
1、请画图说明堆排序算法,当我说已经忘了时,对方说,那就更好了,你就现在开始自己想,设计一下吧。半个小时,也没有说明白;
2、求两个矩形相交的部分。同样是没有戏!
3、“换还是不换”http://web.tpjh.tcc.edu.tw/~mathematics/funny/funny-20.htm 这道问题是笔试时考过的,当时我做错了。
4、用英语谈谈你的项目,及你的职务及成绩。

2面(很瘦小的,长得不能再普通了):
1、介绍你自己一下吧
2、C++中构造和析构函数可以是私有的么?可以是虚的么?
3、析构函数是虚的有什么用?虚继承是做什么用的?
4、多继承:孙子类的内存分配中,祖父类的成员变量有几份?
5、调用new时,系统做了些什么?你认为windows是如何管理内存分配的?
6、delete与delete[]有什么不同?如果new[],使用delete,会怎么样?你确信吗?
7、void TrimEx(char * pStrSource, char * pStrTrim);实现这个函数,也就是一个扩展的Trim函数,把两端的在pStrTrim中的字符从pStrSource删除。不允许使用字符函数。

3面(一见面就说自己出生在香港,在美国长大,很抱歉自己不太会说国语,问能不能用英语交谈):
1、感觉前2面怎么样?
2、介绍一下你感觉最好的一个项目。画出它的框图来。
3、已知a1,a2,....,a6;b1,b2,....,b6;两组数字都是1位数,它们可以这样组合:每单个数字可以独立成一个一位数,如a1等;每组中出一个数字可以组成一个两位数,如a1b3等;要求:每个Ai及Bi填一个一位数,要求所有组成的数字可以出现1至31中所有的数。

结果当然是被拒,我心服口服。感觉每个微软人很友善,很能感染人,而且感觉很亲切。就像是希格玛大厦的电梯里微软的广告:他为什么总能那么自信?

事后,有人问起:一定是你紧张了,否则一定会成功的。我从来没有这样想过,我当时很放松。我距离微软还差很远。

原创粉丝点击