RSS
热门关键字:  2007  下载  web  Windows XP  Windows+XP
当前位置 :| 首页 >>网络生活 >>职场指南 >>

10月13日拿到ATC Offer面经

来源:vclover 作者: 时间:2007-03-29 Tag: 点击:

  刚刚拿到了ATC的Offer,把我整个的过程写出来供大家参考,特别是工作过的朋友参考。

  先介绍一下本人情况,本人北京某大学读的本科和硕士,都是电子工程。毕业后在一国内软件公司做开发4年多。从本科4年级开始一直从事Windows/Linux方面的开发,一直用的都是C++,对于Windows平台上面的各种开发都比较清楚,特别是对于C++有比较深刻的认识,工作过程中对于工程化的各种问题包括一些设计也比较了解,有两年的项目管理经验。

  我是9月份决定换份工作的,正好有一家外资猎头公司找到我,说是为微软找人,因此给了他们一份简历。大约两三天后,9月22日,猎头告诉我可能会安排电话面试(informal interview)。9月23日微软的一位先生给我打电话约定电话面试的时间,约定第二天下午。9月24日,对方打电话来,先开始先是让我介绍一下个人经历,然后针对项目的一些细节问了些问题,由于做过项目比较多,这部分花的时间比较多。然后对方出了一道字符串相关的编程题,让我给出思路,比较简单,轻松搞定。最后出了一道准确的说是概率相关的数学题,当时比较蒙,因为确实很久没有接触过类似的东西了,虽然蒙对了答案,但是推理不太清楚,由于已经一个多小时了,对方让我下去考虑考虑,把解答发给他,要求用OOD的设计方法设计程序来验证。

  下来后很快想清楚了,由于觉得无需验证,从理论上即可验证,因此只把详细的推理发给了面试官,对方很快回信,要求还是要给出验证程序,花了一个多小时写了一段程序,设计上也花了一点心思,发给了对方。当天晚上(看来还在工作)对方回信说已经通知了招聘部门给我安排formal interview。

  这之后就长来这个板了,了解相关的面试知识。由于觉得自己的算法方面是弱项,数据结构忘的也差不多了,而C++,Windows编程,一些设计,架构方面非常熟悉,因此为了面试重点复习了数据结构和算法方面的东西。

  估计微软方面忙着改大家面试卷子,10.1前我一直没有收到面试通知,和第一个面试官联系后,他说应该在10.8号以后了。整个10.1期间也没有过好,每天都拿出一点时间来看书,而且对于各种算法和数据结构的问题也实际写了代码加深印象。比如10多种排序方法写了代码并且比较了实际性能。

  10.10号收到面试通知,说是12日早上9点面试,还是有点紧张。

  由于早就听说微软的面试比较漫长,因此12日早上起来后吃的比较饱(事实证明这点很明智)。大约8点55到了西格码,然后等待,9点过一点的时候一位年轻的面试官领我进去开始面试。

  第一关开始。先仍将是个人背景介绍,然后项目细节,然后开始出题,又是链表和字符串相关的题,有一定难度,而且自己也比较紧张,总之在规定时间内没有写好,脑子比较乱,看得出来考官也不太满意。之后考官针对代码问了些问题,比如思路啊,优化得方法啊。这关我自己很不满意。考官结束后,让我在休息的地方等待,等下一个考官。

  第二关开始。第二关是考官一开始就是英文。我开始不太流畅,后来越来越流畅,基本对话没有问题,因为技术相关得英文不是问题。针对简历上得问题问了MFC,C++,编译器得一些问题,基本都在我知识范围内,答得还不错。然后开始编程题,是一个缓冲区操作得题目,几分钟搞定,结束,整个过程都是英文,中间还讨论了不少项目管理的问题。大约1个多小时。

  第三关开始。由于前面时间花的比较多,第三关已经是午饭时间了,进入lunch interview,就在西格码地下的餐厅吃饭,吃饭过程中讨论了项目管理的一些问题,一些大的技术方向,还有非常具体的算法和数据结构要求给出解决的思路。由于毕竟是在面试中,放不开,而且同时还要考虑问题,因此只吃了一小碗米饭,这时候早上的饱就显示出好处了。基本上技术相关的问题回答的还可以。

  第四关开始。开始仍是介绍个人情况,然后针对项目中的一些问题进行了询问。然后讨论了一些C++发展方向上的问题和设计框架上的问题。最后是编程,一道字符串相关的题目,比较简单,也是几分钟搞定。

  第五关开始,开始还是个人项目情况的询问,然后迅速进入技术问题,问了大约3道题目,基本都是数据结构和算法,特别是一些具体的时间复杂度问题,由于事先功课做的比较充分,因此回答的还是比较顺利。

  第六关开始,是一位高级经理了。开始仍旧是项目问题,然后讨论了一些项目管理上面的问题。然后是出了一道设计题目,给定应用,要求设计架构,考虑难点在哪里。然后是一道设计题目,要求给出相关的部分代码,我用C++写了两个主要的类的声明,然后说了具体的实现思路。

  漫长的面试终于结束了,走出西格码的时候,已经是下午5点10分了,天都快黑了。总体感觉除了第一关表现不佳外,后面还是可以的。

  13日,猎头说拿到offer基本没有问题,然后猎头替我去谈待遇问题,谈妥后我说没有问题,请他们发正式offer吧。

  今天通知我去签offer。

  一些经验和大家分享:

  01 对于你写在简历的项目的东西一定要比较清楚,因为肯定会有人问你项目的问题。
  02 数据结构和算法多下些功夫,特别是一些经典问题,自己实际动手写写代码。
  03 要谦虚,坦诚。
  04 早饭吃饱,这样的面试,既考智力也考体力。
  05 自己带一瓶水,方便,而且显得比较细心。
  06 一般来说面试过程的编程题都不是很难,仔细想想都是可以解决的。关键是写的代码要健壮,高效,清晰。而这些在我们日常工作中经常被忽略。具体来说比如,传入的参数要检查,调用函数的返回值要检查;比如分配内存这样昂贵的操作要慎重使用;不要把一大堆代码搅在一个函数里面,有些可以拿出去的就分到别的函数里面去,这样的代码比较干净。

  就这些,祝大家找工作顺利。


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册