百度校园招聘回想
去年的秋招已过去很久了,这几天完成了毕业设计的论文。感觉全部人轻松了很多,趁着这段空闲的日子,回想1下我参加的几次的招聘的情况吧。由于秋招错过了阿里巴巴的笔试,去霸面没有给机会,腾讯基本不招java岗位,所以没有投简历。所以也就参加了4个面试。先来讲说第1个,百度的面试吧。
我在川大望江校区参加的百度成都的笔试,当时很多教室全都坐的满满的。我边上的同学还是专程从云南跑到了成都来参加的笔试。顿时感觉到了就业的深深的压力。
百度校招的题目还是比较偏向基础。先是简答题,总共3个小题,第1题是简述TCP/IP连接时的3次握手和断开时的4次握手。第2题是内存管理淘汰算法,我写了4种,FIFO先进先出、OPT最好淘汰算法、LRU最近最少使用算法、 LFU最少访问页面算法。第3个题目是数据库设计的范式,就是1NF,2NF,3NF,BCNF。然后是算法题,也有3个小题。第1题是找到1个单项链表的中项。第2题是在1个集合S中找出最大元素C使得C=A+B,其中A,B均属于集合S。分析复杂度。第3题是使用栈先进后出来摹拟队列先进先出的结构,实现函数:enqueue(入队),dequeue(出队),isEmpty(是不是为空)的判断。最后是1个系统设计题,是1个大题。题目大概是设计1个云真个手机推送服务的设计。整体感觉百度的校招笔试题目难度还是比较大的。我做的不算太好。
笔试后的第2天晚上,接到了面试的通知电话。通知后天上午去1面。百度的面试安排的非常好,也是我感觉全部校园招聘中感觉最好的。在酒店里,1对1的面试。1面的面试官看上去很年轻,说话也很和蔼。首先是让我花几分钟自我介绍1下。顺便说1下,这也是我参加的所有的面试的第1个问题。然后开始问我问题,这里想吐槽1下。百度的招聘1面会问1些脑筋急转弯1样的题目,比如问了我赛马的问题,就是有9匹马,怎样通过最少的次数找出跑的最快的马。当时由于想的太复杂,以为要考算法。居然想到了归并排序,1直在回想归并排序的算法,后来才发现是个很简答的问题。结果浪费了1些时间,最后委曲说了出来。所以提示1下大家,面试时不要把问题想的太复杂,也不要太紧张,正常发挥就好。然后又问了上台阶的问题。就是总过有n阶的台阶,每步可以上1级,也能够上2级,问共有多少种不同的走法。后来才知道这个题是网上流传很广的1道题,惋惜我没有看到过,不过我想到了递归,然后花了1点时间,答了出来。考完了脑筋急转弯,就开始考察简历上的知识了。由于我面的java,所以就问了我1些基础的java的问题,感觉没有甚么难度。然后又看到我简历上说,熟习linux使用,就问我知道tail命令吗?我说就是查看1个文件的末尾几行,然后他就让我写个方法实现这个命令。我的方法是把1个文件所有的行存到1个ArrayList<String>中,然后输出要求的最后几行。他问我还有无更加好的方法,想了1会,就说没有。然后又问了java的多线程的1些简单的API,比如run和start方法的区分。我就说看过jdk的1些源代码,start方法是native的,所以1定是调用底层操作系统启动线程的,run方法里面是线程履行的任务代码。然后又问了我join,yield方法。最后问我了volatile关键字有甚么作用,我说了,又问我它能实现原子性吗?我说不能,说了些缘由。又问我知道volatile实现可见性的底层原理吗?我当时没有看的那末深入,就说不是很清楚。最后,他看到我简历上写的hadoop,hbase,就问了我1些关于hbase的问题。由于我当时正在看那方面的书,所以感觉答的还不错。最后就问我有无甚么问题要问的。我就随意问了几个问题,然后又问他我答的不是很好的问题的解决方法。这是1个学长教我的,可以显示出你的好学。然后大概面了1个小时左右。面试进程中,面试官1直在打字,听说是在反馈面试结果。
然后下午的时候接到了1个电话,通知后天上午去参见2面。2面的面试官是我遇到的最非主流的面试官。进到房间的时候,他好像刚起来的模样。鞋都没有穿,翘着2郎腿,首先介绍了下自己。然后我说我善于java,他长叹了1口气说,终究来了1个会java的,他也是比较熟习java,说最近遇到的都是面c++的。然后就开始问,先问我1些jvm的知识,比如jvm的内存模型,类加载的1些问题。又问了我1些java的垃圾回收算法,又问我怎样设置参数,选择甚么垃圾搜集器。我没有答上来,然后他就说这些都是实践,你们比较缺少实践,理论方面看很多。他又看到我简历上写的浏览过部份jdk的源码,就开始问我HashMap的实现原理,由于我之前重点浏览了HashMap的源码,所以没有甚么难度。然后又问我知道ConcurrentHashMap吗,我简单说了1下,然后又问我知道实现原理吗?我之前在1个博客大概看过,就说了它是通过分段,加写锁实现的并发,等等。然后他又问我了java5并发包的1些API,比如Callable与Runnable的区分,Future,当时也正在看java并发编程那本书,所以也基本都答出来了。接着又看到我简历上写的熟习基本的java设计模式,就让我写1下单例模式,由于在纸上,写了两次才正确。然后又说,你熟习linux吧,说说经常使用的shell命令。我当时头脑抽了,随口说,知道的太多了,说不完。然后他就说,那你写1下,在1个目录下找出所有的文件名为xxx的第1行有xxx内容的文件,然后根据大小排列,输出文件名。我当时就蒙了,果然祸从口出,早知道就随意说几个命令不就行啦。所以大家以后面试的时候1定要谨慎,谦虚。由于当时忘了find命令的参数,写了给他,说不对。然后我就说用awk加管道可能可以,但是我忘了参数了。然后就问我平时上甚么网站,看甚么书学习。我就说了几个,比如csdn,cnblogs,等等国内的1些论坛。然后我又说,还会用百度查资料,他顿时很鄙视的眼神看着我说,我要是你,就用google了。然后我就为难的笑了笑,拍马屁拍到了马腿上。然后就让我问问题,我就说百度好像出了1个百度眼镜,怎样样?他又是1副鄙视的表情,说,百度的算甚么眼镜,后面那末大1坨东西。根本就不算是眼镜,那末重,说会戴。然后又说人家google眼镜把东西都做在镜框里,大大的赞美了1番。然后我也笑了,我都有点怀疑他是google的卧底了。然后我就说,感觉您是1个比较有个性的人。然后又问了几个问题,就结束了,面了大概40分钟左右,感觉难度比1面要大1点。2面的面试官在面试进程中也在不停的打字。
下午的时候又接到了电话,通知明天下午去3面。3面的面试官是个年龄稍大1点的大叔,后来知道应当是lbs部门的1个总监级别的人。给我映像最深的是非常有礼貌。我进了房间马上站起来和我握手,感觉有点受宠若惊。然后又介绍,完了问了我几个c++的比较细节的问题。由于对C++不是太熟,回答的不是很好。然后就开始问项目。我说大2的时候曾做过1个人机对战的5子棋的游戏,他就问我实现机器人下棋的算法。然后我又说之前做过1个超市的主页系统,可以预定商品等等,类似于1个电商网站,他就问我的项目怎样实现的权限管理,前真个代码如何增加效力。最后又问我如果我的系统要实现类似于淘宝双11的高并发的抢购功能的实现,应当怎样设计。我就简短的说了1下,反正答得肯定不怎样样。由于百度的3面面试官也有hr面的作用,就没有问太多的技术问题,又问了我1些其他的问题,比如拿了多少offer,参加了甚么面试。我说华为,他就问我怎样看华为的军事化管理,高强度的加班,我是后来才知道百度是狼厂,以为百度加班应当正常。所以就说华为的制度多么多么的不好,不人性化。现在想一想,当时还是太年轻了!然后问起怎样适应互联网行业的高强度,高压环境。问我怎样看bat,说说各自的区分。问我知不知道lbs,有无用过团购的产品,由于我们新校区比较偏僻,我还真的没有用过。最后又问了其他的1些问题,比如怎样看待保研,工作,考研,等等。然后就让我问了几个问题。面试了大概1个多小时。最后又把我送到了电梯口,给我握手。就这样百度的招聘就告1段落。
百度的招聘延续了1个多星期,虽然组织的比较有条理,但是感觉效力太低,速度太慢。今天就先写到这里,过几天有空了,再写写面去哪儿网的经历。
下一篇 线段树