收到百度上研实习的offer差不多有两个星期了,前段时间挺忙,这次算是抽点时间总结一下三次电面,顺便给大家当面经用吧~

   从投简历到第一次约面试差不多有两个星期吧,三月中投的,等了半个月都没消息,以为没戏了,清明回到家准备爽一番,结果正在dota中,先阿里来了个电话,后面没半个小时百度又来,当时一点没心情,怕弄砸了便约了隔几天一面。(阿里说后面会再来电话,结果毛线消息没有,魂淡 - -!)

   闲话不多说,一面如期而至,说实在话,第一次面试挺紧张的,所以在约好的时间提前到学校的楼下散步去了,希望环境能帮助自己调节一下~电话比预期的晚了半个小时,一上来简单的介绍后便进入正题,结果一上来就问我算法(心中我了个大擦啊,劳资算法最屎啊,这是要跪的节奏啊),第一个问了单链表如何检测有环,其实这题在之前看面经的时候好像还真瞄过。。可惜当时貌似没看答案,在面试官的提示下说出来了,第二个问的是两个有序数组的归并,这倒是真心简单,也没什么难点,我当时犯浑,说插入,其实意思倒是对的,就是说法有问题吧,好在面试官准备说了一点的时候,我后面接上了,解释了一下之前我的表达有误,第三个算法可能有点复杂吧,关于二叉树的,他说让我记下,我说在外面,不在实验室,不方便记,结果居然就过了。。不问我算法了!!!(各种窃喜的节奏)后面估计就是大家各种JAVA面试的常菜了,String,StringBuffer,StringBuilder的区别,应用场景,HashMap和HashTable的区别应该准备过面试的都能答出来的,说HashMap和HashTable的区别的时候我说到线程同步的问题,他又开始问对于线程同步的理解,如何让两个线程交替输出a,b,后面的话记得不是特别清楚了,应该问了一些项目方面的,感觉答的挺顺利的,还有让我写个sql,答错了 - -。一面差不多就这样了吧,当时结束感觉虽然算法和sql都答的不好,但总体关于基础方面都答的还行吧,主要的原则就是问我一个点,如果我知道里面原理的话,我就尽量把原理也说出来,比如内存的分配啊什么的,如果问的不知道的话,也尽量把自己的分析说出来,总之就是尽量的"秀"吧。其实面试官有时候不一定要你正确的答案,而看你的思路是不是正确。(一面40分钟)

   二面等了将近一个星期,本来以为跪了的节奏了。倒是万神各种怒砍offer,周围的人也开始各种讨论面试,心中自然着急的节奏。二面当时约的要在电脑旁边,说电面过程中会发一些题目过来,需要编码,我靠,传说中的远程桌面么。。实际证明就是邮件发题目过来而已。不同一面,二面一上来就问项目,换了个角度而已,问我中间遇到的挑战啊,如何解决啊,系统怎么调优的,插一段,说来之前有投过一个阿里的内推,虽然没有正式一面,但是当时学长先给了个电话问了我的情况,当时请教了学长关于项目的准备,他就重点提到了这些问题的准备,这里感谢一下~这些问题准备了的话,答得其实还是挺顺利的。然后面试官问我有没有写过servlet,虽然那是我最开始学JAVA的时候写的,基本没写多少,但此时怎能示弱~写过!他让我写个用户登录的servlet发给他,可能怕我写的慢吧,他发来一个,让我检查有什么问题,说来也巧,之前看线程安全的问题的时候,关于struts2的线程安全的问题让我困惑了,就各种google线程安全问题,看到说servlet线程不安全,所以一眼看出来那题的point了。然后让我写jdbc的连接,同样他发了一个demo过来,让我找问题,sql注入的问题不用多说,记得看微博的时候陈皓转过一个关于汽车故意将车牌写成一个语句的,说能让监控产生漏洞的,说来虽然是玩笑,道理是这么说通的。面试官虽然用的是PreparedStatement,参数却还是用拼的方式连接起来的。然后的问题是各种try,catch,finally的处理都没有,这个其实当时我只记得大概各种连接,结果集的关闭什么的要做异常处理的,具体的没有很清楚,但是很庆幸,我可以百度!秒度之,翻到最下,拷拷改改发去搞定~哦,忘了,中间还让我写了个标准的单例模式,这其实也在陈皓的酷壳上看过不止一次,面试前还特地在workspace中写过一个,写了个相对来说,考虑到线程安全的版本发给他,结果谁知道他居然要求更高,还是找了一点问题,其实也是,还是有可能出问题的,交流一番,可能觉得我表述的不好吧,让我重新写了一个给他,双重锁的,建议大家准备单例模式的话,可以看看陈皓那篇博客(福利:http://blog.csdn.net/haoel/article/details/4028232  )。最后两个问题让我挂了电话半个小时后发给他,一个是智力题,不难,几分钟搞定,另外一个是两个数组归并(没错,又是他...)要求是要一个性能最好的方法,当时20分钟的时间,我哪有时间想啊...写了个最普通的方法发过去了,备注了句"时间紧迫,未做其他思考..",感觉好窘迫 - -!  二面给我的感觉就是面试官比较注重细节,很多大家平时容易忽略的问题被拿出来问了,说运气好可能就是这部分吧,觉得这段时间看的一些资料啊博客啊之类的没有白看。(二面一个小时)

   三面很快,二面当天的晚上就约了隔天三面,挺开心的,这么快约三面说明希望大嘛?但也挺紧张,直接导致当天晚上各种睡不好。三面的问题比较零散,给我的感觉更注重解决问题的能力吧,直接问些知识的并不多,让我介绍项目的时候,很多的时候面试官会中断一下,然后设计一个场景,问如何去实现等等,比较综合。也会问一些关于技术学习,目标,长久规划的问题,这些大家有点想法的相信都不会是问题的。最后一个问题是道设计题,差不多是网上的博客的公共评论系统的设计,这里不赘述了,时间到的时候提了个想法上去,感觉还算不错吧。三面时间很长,一个半小时,不过当时也没有太深感觉,很多都是问题都是聊出来的,对于三面大家感觉不用可以准备什么,自己好好发挥,展现出来平时水平就Ok了。

   下午收到了北京的电话,说愿意给offer,不过后来因为入职时间的问题,调到上海去了....

   最后,我也只是只小菜鸟,相信大家的offer都在来的路上,祝大家好运~