毕业后就是程序员——我的阿里、金山、中华、腾讯、360、网易面试总结(二)

2019-07-13 07:31发布

      这篇详细的写写笔试面试的经验,还是接上篇说法,那四点不要忘,要相信。开头就像每次写嵌入式的博文先介绍环境一样,我先介绍个人实际情况。
      专业:计算机软件与理论      学历:硕士  
      项目:一年多的物联网相关,主要是嵌入式Linux和ZigBee、WiFi等;一年多的Android相关。 可以坦诚的讲,了解得足够,深入有限,但对于一般的技术预研或提供部分解决方案应该还是可以的。(原因很简单,没有成熟的产品支撑,都是Demo。) 
      时间:2012年8月底9月初开始准备基础
      实际情况:专业基础知识没有系统复习过,都是本科时期的;没有实习经历或者完整的找实习经历;平时没有算法练习(比如做ACM、POJ上的题,只是听过);参加过一两次程序设计比赛,都是晋级奖、优秀奖;最后可怜的是不常看技术书籍,都是项目需要了现学现用,因此除了几篇博客外几乎没有技术积累。我的情况基本上是一穷二白,大家对比可以确定自己的优势(貌似没有比我还劣势的了吧!)。
    统说
      进正题,说说我的经验。总的来说,先系统的复习专业基础,其中《数据结构》(严蔚敏)是重中之重,其它的可以总结常见的笔试面试题中抓重点复习;抽空看技术书籍,要针对自己的方向选择;最后针对公司多搜集笔经面经中的常见题;如果有必要还有看看行测,特别是智力题。
      锻炼纸上写代码的能力
      表达要有条理,分点细说;可以的话对一些问题思考一二十秒,慢慢说出;不要像我又急于回答,说话又太快。
      心里上要镇静,即使表面上看起来稳重。我是一直没有做到,所以有机会了适当的锻炼。
    细说
      先推荐书籍:
    《数据结构》(严蔚敏):这本必须搞定,纸上没事写个冒泡、选择的吧,最好KMP、快排也写下;然后轻松得处理链表操作,插入、删除、反转;9种排序对比,找人多说说,用自己的话表达出来;其实可以系统的复述其中的重点,我就不一一列举了。其它的如操作系统、网络、组成原理可以抓重点,建议看本考研综合复习的书。如果兼职考研复习辅导,那么恭喜你,找工作一半已经是个体力活了。
    《程序员面试宝典》(第三版),居然强调第三版,是因为虽然大体内容一样,但是第二版还是有不少错误和解释不清的地方,对于不太思考的人要慎重。这本当然是笔试、面试必备之书了,如果实在没有复习时间,那么就捧着它吧,能帮你挡掉不少。
      后面的是根据自己互联网公司C++、Java方向等来看待了
    《编程之美》,比较有意思,其中常考的也只有几个,下面给出;然后是《编程珠玑》的前两章
    《大话设计模式》或HeadFirst的《设计模式》,没有实践经验的只能粗略的了解,常见的单例模式要会写。三类:创建型、结构型、行为型,要能去理解划分,当然不用真的每种模式都非常清楚,但要有能说得上来的几种,而且最好能有实际结合,或者知道Java语言里I/O类的装饰者模式等;最后就是常见的开放—封闭原则、聚合复用等等。
    《Java编程思想》,需要好好的多读几遍,之前我也大略读了,还写了博文,O(∩_∩)O~那写得简直垃圾啊,后面再读,做笔记,真的会发现理解有变化啊。其中的Java内存管理、字符串、内部类、容器不得不看啊,而虚拟机的理解可以看看《深入java虚拟机》,对了将内存回收的可以看看《Java SE 6.0编程指南》中的相关节。
    《C++ Primer》,我主要是看的Java,这本只是部分阅读;但是《深度探索C++对象模型》是看了几次,不管C++还是Java都值得去了解一下,而《C++沉思录》我功力不够,依个人情况吧。
    《TCP/IP详解 卷一》,这个适合没有时间复习原来课本的同学,特别是里面的TCP,一定要细读,能画它的状态迁移图当然好啦;分析分析与UDP的区别。
    《UNIX环境高级编程》、《算法导论》前者写Linux下的程序时是非常好的工具书,而后者据说有些点被问到过,当然有时间平时能浏览最好了。
    《UNIX网络编程》两卷,《深入理解计算机系统》据说都是非常必要看的,只是我个人还没有耐心的品味完,可能我还没有发现到吧。
      没想到,光写推荐的书籍就列了这么长的文字,我推荐的确实是我看到的,你认真的阅读绝不会亏的;如果一开始有些不适应,多实践些,再细细看,细细想,坚持下来,不要书到用时方恨少。下一篇写具体的题的经验吧。