阿里,腾讯 面试经验

 从2月份开始准备到现在5月份尘埃落定,各种网申、笔试、电面、现场面从“兵荒马乱大混战”到最后“短兵相接单对单”,楼主也算是杀出了一片天。在这里留下一篇面试经历分享,感谢所有帮助我的人,与我并肩作战的人,同时也希望能帮到即将或者正在找工作的同学。          

       首先说一下结果:楼主最后拿到了腾讯和阿里巴巴的实习Offer,如果是非技术岗和其它技术方向文章的帮助可能打些折扣。
       

       下面就是兵荒马乱的经历了:          

        一.初步申请——如果好好写简历的话一般不会挂网申;内推看起来规格很高,但是规矩是死的人是活的,不管符不符合投就是了。


       1.按照时间顺序:内推腾讯(TST)——内推百度——内推美团网——网申大众点评——网申豌豆荚——网申网易游戏(...这个明显求鄙视的..)          

       2.最后的结果: 

      1)腾讯内推成功,拿到了TST的电话1面。(这里要超级感谢枕套同学!)

      2)被百度无情了刷了3次简历....其中包括两次内推。(这里的感受是公司的业务重点和技术方向决定了它的需求,需求少难度就水涨船高) 

      3)美团、点评全都没消息(美团HR貌似来过我们团队,但是错过了 = =..)         

      4) 豌豆荚效率非常高,当天投第二天电话1面         

      5)网易游戏,简历已处理了1个月(传说中的“现在完成进行时”?)       

      6)阿里内推的学长当晚直接电话聊了一次,给我提简历修改的意见,个人技术进步的方向。之所以后来的面试过程很顺利,都是因为在整个面试过程中和他经常交流。这位学长是西电的,能认识完全机缘巧合。只能说贵人相助了,这也是我最后选择阿里的原因之一。

     3.初步申请总结:           

     1)一份好简历很重要(如同800块和600块的开局,你懂的): 

        从形式上:推荐Latex的moderncv模板,改一改就可以很轻松做一份简洁大方的简历。但是无论用什么做,最后要用PDF呈现(word打开耗时,版本差异导致排版差异…so on…总之真的别用word...)         

        从内容上:让HR看起来有B格,让工程师看起来有干货。奖项同类写最高的,不同项(比如竞赛性质的奖、完整产品性质的奖)要从明确明显地区别开。一旦被认为同类就被看的人自动合并了。成绩很高就写吧,中等就别占地方了。证书自己斟酌一下。
        这里附上阿里学长的话:       

       “通常面试官只会关注最闪亮的一个点,它可以代表你在这个领域是否有深入理解,项目不在于多,而在于精。同时,基础知识是很重要的,毕竟应届生不要求一定有项目经验,但一定要求基础知识。技术人员的外在表现在项目,而内在表现在对细节、效率、安全等方面的追求“

       2)搜集所有可能的信息(主动包鸡包眼的孩子总是很幸运..)

       当时知道阿里、腾讯的内推是在人人上的一个老乡+好友发了他们学校学长提供的内推机会(这里不得不说一下西电,前人给后人帮助远远多于华科。当然也许我科没什么人找工作...)后来在各个高校的论坛(这里说一下北邮人,比白云黄鹤有价值的信息多很多很多)上又看到了很多内推渠道。最后,关注一个个人博客和并发编程网的时候也都能拿到阿里的内推。   

       总之内推很多很多,但是前提是”去——找“
       

       二.笔试+1面       之所以写到一起是因为他们考核的点十分相近。

 
       A.笔试如下:   

      1.基础知识的牢固程度:计算机网络+数据结构+操作系统   

      2.基础编程思想及代码理解:面向对象、面向过程等等相关   

      3.逻辑思维:一些变种的用代码呈现的数学题     

      B.面试如下:     

      去面试的时候楼主主要准备了6份东西:

  • 个人简历彩印版(更好的纸质,同时带了醒目的效果)
  • 一份产品设计文档彩印版(之前做了一个上架的App,其中特意附了AppStore的截图)
  • 上述产品文档对应的App,安装在手机里
  • 一个彩印版的Android异步实现——”Handler,Looper“源码学习小结
  • 一个多任务,多线程协同,断点续存的Android下载器的系统框架图
  • 一个实现网络缓存和异步加载的AsyncListView Demo,安装在手机里      

     

       1.自我介绍:大概3分钟。考察对自我技术理解,自我方向是否明确,语言表达,逻辑性。(告诉面试官该问自己什么方面的问题) 记得面腾讯最后写一道算法题的时候面试官面了我科一个硕士,问为什么投移动开发岗。先开始说是因为自己之前做WPF相关,Android也是用xml写界面。感觉开发模式很像所以投了。但是面了一会儿又说自己是投错了。最后面了10分钟就悲剧了...  楼主这里主要是展现给面试官呈现了一个从大一到大三的学习曲线(学习基础内容——动手做完整产品——某个技术点的深入挖掘和突破)。

      2.聊项目:面试官希望听到你是项目负责人,如果是大牛自然好办:”哥一个人做的...“。楼主的做法是找到一个自己全权负责且十分深入的模块来聊。一个很小的点的深入挖掘的加分远远大于整个项目的泛泛而谈。       

      3.技术问答:     

      这里当然是引导面试官到自己熟悉的技术领域,但是最好对自己想被问的领域做一个提前量的预判。以楼主为例,核心准备的东西是Java并发编程,Android性能调优。那自己就该预想到,面试官除了基础问题会向哪里延伸?对于Android而言Handler、Looper在Framework层的实现源码就很有说头;同时可能会侧面问你Hashmap和Hashtable有什么区别(一个非线程安全、一个线程安全);也许会问你除了对象锁synchronized实现同步还有没有更灵活的方式(JDK1.5中加入的java.util.concurrent有很多更针对于不用场景的线程同步的工具类)。 

      如果你能在面试官问你第一个问题的时候就预判到第二、第三个追问的方向,那你肯定能够把握住整个问答的节奏。到时候往自己擅长的地方引导,就直接拿下了。这里要说的是,切忌找刁钻的技术角度(自己以为面试官可能不”熟悉“)show off,无论这个点面试官是否真的熟悉,都不会带来任何加分。比较聪明的做法是”卖个破绽“。你知道ABC三个问题或者知识点是环环相扣的,但是主动说的时候就是偏偏只说AB不说C,这时候面试官有很大概率来问你C相关的东西,到时候还不是直接到碗里来了。只要能给面试官一种,他问什么你都能答的很全面、很深入的感觉,那么这次面试就十拿九稳了。
 

        三.终面/Boss面+自己提问   

       到了最后的真正和高手过招的时候就不重点考基础和内功了。大家可以回想一下一般武侠小说里,草根主角遇到大Boss(最后成功拜师神马)的情节,这里主要考一个”巧“字。看你怎么四两拨千斤。 

       四两就是上文提到的很多知识和技术点,千斤就是Boss提出的真实的场景。这时候就考验你怎么主动的转化自己有限的基础去解决实际问题。既然是”拨“这里就不是真的完美完备的解决问题,只要答出自己的思维即可,要敢想敢说。

       阿里终面的时候,面试官提到本地和服务器的缓存目录校对。当时的回答是说有两个.xml文件去维护,1个去维护本地和服务器文件是否修改的整体校对,另一个维护缓存文件列表,当然列表中会做分块。这样每次校验时,服务器不用遍历所有文件去检查,只需要先很快校对第一个全局文件。如果有改变再去第二个文件的列表中寻找真正改变的文件并替换。 

       实际上这样做可不可以呢?鬼才知道。 

       但是这样回答让他感受到你的思考是关注效率的,你的构思是严谨的。这样就够了。

       再比如问到一些安全问题,这里提到了系统是如何监控并信任第三方输入法的问题。同时探讨了支付宝自己附带一个安全输入键盘的意义等等。

       总结起来,就是让面试官看到你在平时是不是个爱思考的人,还有你技术的”巧“劲。
     

       对于自己提问的环节,这正是一个让表现你是如何了解应聘部门的机会。楼主当时关注华黎、子柳大神的微博知乎博客神马的也有一段时日了。就他们博客中提到的一些日常工作和部门职能问题做了一些提问。问题虽然很简单,但是无形中拉近了你和面试官的距离,让他觉得你是个有心人。

      对于自己提问的环节,这正是一个让表现你是如何了解应聘部门的机会。楼主当时关注华黎、子柳大神的微博知乎博客神马的也有一段时日了。就他们博客中提到的一些日常工作和部门职能问题做了一些提问。问题虽然很简单,但是无形中拉近了你和面试官的距离,让他觉得你是个有心人。

       

      参考学习资料:

      1.对于Java基础甚至是初步进阶《Thinking in Java》这本书绝对够了。它会很自然的解释那些我们总是死记硬背还老答不出的知识点,解释它们为什么是那样。五星推荐。

      2.java并发编程的起步可以从并发编程网开始(1中也有讲),进阶可以看《java currency in practice》这本书,很多搜来搜去都是错误答案的问题在原版书中都有权威的答案。

      3.Android性能调优,强推http://www.trinea.cn/android/ @Trinea的博客(其中还有很多别的宝藏)。如果有人在GitHub关注过一个Android开源项目大集合就知道他了(作者)。

      4.如果是复习Android基础知识推荐《Android程序员高薪之路》(名字很挫,但是书很好)

      5.最后推荐讲解面试的书《剑指Offer》

======================================================================

      面经拖了好久好久好久省略号好久....今天终于写完了。

      最近第一批招聘公司的Offer陆续发完了,有很多人说自己的同学好像不怎么样啊怎么拿到了,或是自己的同学很厉害啊却没拿到。

      这里引用一个清华大硕博客里的一句话(为3面咨询他还给我回了好长的邮件,最后去了网易游戏 = =)

      “面试不是为了寻找一个完美的人,而是寻找一个能和大家一起高效工作的人”

      等待Offer是难熬的,但是拿到Offer又觉得也就just so so..就好像你一路蝴蝶大炮加圣剑推了别人老家,可是下一盘又是新的开始,不知道是不是能800开局,是不是能控到第一个F,是不是会匹配到更强的对手.....

      下一局,又是新的开始。

      

       想感谢很多很多帮助过我的人,但是他们貌似都不玩人人 = =....希望我的经验也能帮到更多的人!

转自:http://blog.csdn.net/u011843634/article/details/25710305

你可能感兴趣的:(阿里,腾讯 面试经验)