回头看面试

来源:互联网 发布:网络球机控制线接线图 编辑:程序博客网 时间:2024/04/29 15:22

前段时间都在忙于找实习,在这里回顾一下自己这几个月来面试和实习的一些感悟,一方面mark一下这份人生重要的经历,总结一下自己的不足和今后的着重点,另一方面也希望能够以自己的亲身经历和体会给即将准备面试的朋友们一些启发和思考。


这里先强调一下本篇博客的目的并不是教小白如何一步一步地准备面试,更不是以一个过来人的身份装B传授什么面经,所以如果读者是想找一篇准备面试的教科书的话,建议还是放过本篇博客,看看《《程序员面试宝典》》神马的吧

  • 简单的自我介绍
    本人现是一枚大四狗(当时面试找实习时还是大三的),学校属于985,211的垫底学校,软件学院,专业是软件工程(我才不会告诉你们我还是日语强化的。。。),在学校主攻android,其他也有所涉猎,从3月份开始准备实习,到3月末通过学长和老师的内推投了阿里和腾讯,后来阿里面了4轮,腾讯面了3轮,大概在4月中旬的时候拿了两家的实习offer。因为还有一些同学也过了阿里所以6月份先去的阿里实习,最近因为阿里的拥抱变化,提出了离职,马上就要再踏入鹅厂继续做实习狗了,希望这家目前中国最受尊敬的互联网公司不会让我失望~~~

  • 面试准备
    面试大概准备了半个月,从3月中旬开始,开始复习之前学过的基础知识,我的复习顺序是先挑自己比较熟悉的学科,然后主攻
    薄弱科目,最后再刷一下题,过一遍复习的知识点,总结一下之前做过的项目,接着就是调整好心态迎接面试了。
    大致列一下自己当初的复习计划,还是要知道自己哪里强哪里弱,然后有针对地复习才会事半功倍,以下仅供参考:

    复习项 主要内容 网络 tcp与udp的概念和异同,三次握手及中间涉及的状态转换,http协议头、get和post的区别,DNS查询原理 数据库 基本操作,索引实现,连接查询,事务,锁同步,常用的关系型和非关系型数据库,与其他存储方式相比的优缺点 操作系统 同步互斥原理,死锁原因、预防,分页和分段的异同 数据结构与算法 常用的数据结构实现,链表相关操作(翻转,插入删除之类),线性存储和随机存储的异同,树相关操作,图的存储、遍历(DFS和BFS)等操作常用算法(DP,贪心等) 网络安全 对称加密和非对称加密的概念和大致过程 java 集合类库(最好看下源码实现),反射,并发,锁同步,网络通信,虚拟机内存,GC机制 Android 四大组件,动画,单线程模型,手势操作,IM、多进程通信,AIDL,开源库源码(UIL、ButterKnife、Volley等) 设计模式 设计模式的好处、分类、常用设计模式的优缺点,在项目中如何运用 项目 熟悉拿得出手的项目,技术细节,遇到的问题及解决方式,项目思考与总结

    注:

    1. 因为自己打算从事的岗位是Android开发,所以对Java和Android有所侧重,其他语言和平台开发也有复习,但没有太侧重,所以上表中没有涉及,打算从事其他岗位的要根据意向岗位准备这些偏上层的知识
    2. 毕竟复习也是之前一段时间的事了,上表列出的知识点肯定有所遗漏,不过上述列出来的基础学科的知识点还是希望都能掌握的,肯定是重中之重
    3. 单独再说下算法这块,本人平常没有怎么注重算法的练习,做项目确实也没怎么遇到,但是面试的时候算法还是很重要的,所以建议像我这样算法小白的朋友们在打好数据结构和常用算法的基础上,还是要多刷下题,推荐网站:www.leetcode.com,难度比较接近面试
  • 面试经过
    就像上面说的,自己的面试经验远远不够丰富,甚至连校招、笔试都没有参加过,所以这篇博客也确实不是小白面经,只是和大家分享一下面试经历和面试、实习过程中得到的一些心得。
    • 阿里
      1. 一面:一开始是自我介绍,主要说一下自己的擅长领域和曾经做过的能拿得出手的项目,然后面试官说先问一些本科的基础知识,接着就是udp和tcp的异同、图的存储、广度遍历以及实现时所需的数据结构、平衡二叉树和红黑树的特点,后来还问了一个关于多叉树的算法题(具体就不说了,没答出来,后来看了解法觉得也是蛮难的),然后就是问的java的知识,主要有反射原理、虚拟机的内存分配、栈和堆的不同之处、GC回收机制,再后来就问的是Android,四大组件、Service和线程的关系、Intent的实现原理、动画,然后就是根据自己的一个项目问了一些问题,后来还谈了对我们项目的建议,最后问我这边还有没有问题。
        总体还说还是比较轻松,面了1个小时,对自己说比较熟悉的知识点还是问的比较深入的,也没有故意去问一些不怎么了解的东西,基础知识也不偏,一面还是比较注重在某方面的深度
      2. 二面:和一面差不多,一开始自我介绍,后来问了一些数据结构的知识,链表翻转、中间删除节点,完全二叉树,网安的问了对称加密和非对称加密的异同和大概的流程,Java的也是问了虚拟机GC和一些集合类,Android的问了图片捏合手势的实现,aidl的概念和基本实现方法,jni基础,UIL的图片加载原理,后来让自己说下熟悉的设计模式,大概就这样。
        二面和一面有很多重复的地方,时间也是1个小时,不过可能因为二面的面试官一般都是leader级别的了,所以问的技术的深度不是很深,而是更侧重于广度
      3. 三面:本来说三面要视频的,后来又改成电话面试了,害得我还把自己洗干净,白白紧张了好几天。。。一开始还是自我介绍,然后就是说了一个自己觉得做的比较好的项目,说完以后面试官也问了一些问题,为什么没有如何如何做,那个地方是如何做的等等,然后他主动问了我简历上写的一个商业项目,问大概是做什么的,UV、PV多少,当我说我们那个项目最后其实并没有上线后,面试官好像有点失望,然后问了一下自己就业还是保研的意愿,现在在研究的方向,问研究到了什么程度有了什么成果(这点感觉没有答好,毕竟自己当时也确实没有研究什么高科技的东西),以上。
        三面和前两面就有比较大的差别了,不怎么谈论具体技术,而是看重项目经验,商业思维和大体的技术解决方案,另外就是比较注重个人的发展规划,看自己有没有要吃透某一门技术的决心,这一面面了40分钟,自己也感觉没有答好,所以下一面直接就是HR面了
      4. HR面:这其实就没有什么说的了,不涉及技术(不过我的同学里还真的有遇上问技术的hr的,还是不能大意),主要问一些家庭情况,个人爱好和大学期间的活动,自我评价等等。
        千万不要小瞧HR面,尤其是阿里的HR,要知道阿里的HR可是有一票否决权的,千万不要觉得自己面到hr就说明已经拿到offer而得意忘形,把自己当初通宵打游戏翘课什么的都吐出来,不然后悔莫及啊!!!总体来说HR还是比较注重个人的人品和上进心、勤奋度什么的,就算问到技术也是一带而过
    • 腾讯
      1. 一面:自我介绍,然后是根据自己做的一个通讯项目问了好多,我们做的是一个利用Wifi热点实现了无需联网就能玩的联机游戏,面试官大概比较懂这方面的问的还是很深入细致的,比如 为什么要用wifi热点实现、通信协议的制定和格式、如何确定服务器和客户端角色、如何判断发送数据的时机、如何检测掉线、如何判断两个包不是一个包(因为我们用的是tcp协议,socket流传输),如何判断发送的包已经被收到若未收到如何处理等等,非常详细,现在想想要不是自己做的肯定被问死了,后来又问了UIL的图片加载原理(因为简历上有写研读过UIL源码),还问了自己对移动端UI设计的一些想法,最后问了一个算法题,不太难,不过自己当时只想出一种方法来。
        一面大概40分钟,问项目问的很深入,不知道这是腾讯的风格还是面试官自己的风格,一定要把自己的项目弄熟悉,每个重要的技术点都要掌握牢固,这样不管是对自己的技术提升还是面试表现都有很大的帮助
      2. 二面:自我介绍,接着也是问了数据结构,顺序存储(比如数组)和随机存储(比如链表)的优缺点,平衡二叉树的概念,然后问了数据库的左连接查询,左边属性没有、右边属性没有、两边都没有情况下的结果,网络问了tcp和udp的区别和联系、三次握手的流程,然后又问了android的布局优化、内存分析和mat的使用、硬件加速(后来才知道面试官是智能平台部门的,所以才对硬件加速这块有所涉及),上面说过的通讯项目的联机实现原理,wifi热点和wifi direct的优缺点
        大概也是40分钟,也是注重知识范围的广度和项目,面试官很幽默,还会开些玩笑,聊的比较不错
  • 大致总结
    1. 面试官都很nice的,所以一定不要有心理压力,一定要自信,说话不要吞吞吐吐,小声小气
    2. 基础知识是根本 ,基础知识是根本,基础知识是根本 ,重要事情说三遍也不够,实习的时候和师兄们聊过,他们都觉得对于我们本科生,其实项目不是很必要,有比较牛的项目当然是可以加分的,但基础知识一定是最最基本也是非常重要的,所以就跟平常考试一样,70%的基础知识+20%的中等难度+10%的拔高题,只要基础打牢,面试时正常发挥,一般就没什么问题的
    3. 事先要了解所投部门的重要技术点,适当补充加强一下对应的知识,你要去面阿里云的话linux进程通信,内核相关的什么都不懂还怎么面
    4. 聪明的面试者都会引导面试官去问自己的强项,避开自己的弱项,这是大方向上的面试技巧,具体怎么做就看自己了
    5. 面试官一方面看重我们现在的技术,另一方面就是看我们对技术的热情、钻研的潜力和学习的态度,所以面试时一定要表现的积极热情,当然也不要过分地吹嘘自己,面试官都是老油条,面试需要吹点牛,装点B,但是玩大了你也就跪了
      ……

以上就是自己前一阶段的面试经历和感悟,后续会和认识的同学们多交流,再补充以上未提及的面试细节和他们的感悟,也希望大家都能多多探讨,分享自己当年的面试心得,利人利己,何乐不为

1 0
原创粉丝点击