大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

百度研发实习生的面试经历

   it技术总是更迭不穷,这是一片大海,
   你可以发现新大陆,也可以走前人的路,
   无论哪一种,努力了最终会到达彼岸。

关于申请

大二暑假就决心在做完当时学校的项目之后,必须去自己钟爱的互联网行业去实习一番,这几个月也来这俩项目对我技术的提炼有相当大的帮助,真正意义上让我从单机系统的demoer进展到了distributed。当然所有的技术掌握都离不开你自己的不断的实践与总结。
笔者自己是电子信息类的专业,做工科的不太喜欢这个专业,平时就一直在钻研java以及分布式系统架构。在我眼里自己能从事着自己喜欢的行业做自己喜欢的是那是无比舒服的一件事,当然学校的课程也是要自己解决的,做一名只图60分飘过的boy^},我的目标很明确就是要去大型互联网公司,去了百度的招聘门户投了实习生的岗位。(作死投了一个比较高端的职位)

一面 得分90+

1.hashmap与hashtable的区别
2.hashtable为什么是线程安全的
3.说下collection 下sorted()的实现
4.实现一个算法:找出一个数组中的众数
ps第一次我告诉面试官我 基于三向快速排序 实现众数 面试官和我聊了聊我这个算法的时间复杂度和空间复杂度之后,靠说是实现一个时间复杂度为O(n)的算法,于是乎想带了map,md这最终得到了每个元素的出现次数,但是在迭代下map 这还怎么玩,所以卡了 这个问题
5.tcp 与 udp 的区别
6.高并发场景下设计
7.AtomicInteger实现原理
8.数据库共享锁以及排他锁
9.redis实现分布式锁

电话面试结束后,就收到了hr二面邀请的电话
...

二面 70分

二面过程中,真是能够体会到百度的高级工程师素养蛮高的 刚一开始就聊了聊我的项目,直接忘我谈我眼中我这个项目的亮点,说了两处两点之后,并聊了聊其中分布式的一些知识,面试官又问了我还有什么亮点,我就说了自己在这个过程中第一次接触maven,git,dubbo,zookeeper,redis等等,面试官觉得这个是亮点_,接着聊了聊分布式锁,还好自己实践过好几次,对这块儿还是蛮自信的。结下了聊聊了数据库,问了问我在整个项目中自己发现了那些问题,又是如何解决的,我就说了数据库索引的重新认识以及理解。项目聊完了,接着开始聊基础知识,说了arraylist与linkedlist。接着比较惨的事情发生了,直接奔到了实际场景,而且聊了好久好久,我根本就没有大型项目上线的经验,直接导致我走向了失败。他问了我现在有个项目正式发布了,几天后用户反应使用起来比较卡,问我有什么排查方案,我聊了聊监控中心查看api调用量以及QPS,然后又说到了查看系统运行日志,面试官又加了个前提假设没有出现异常qps正常,kao,我心凉了,就是想不到啊,他索性就直接提示我了,查看系统的cpu以及内存的使用情况,后来他也看出我没有相关的项目上线经验,所以就没再为难我,接着就奔到了linux,我说我接触了一段时间。然后就问了查看系统运行信息,cpu,内存使用情况等等。可是这些东西对于没有高并发项目上线经验的大三菜鸟来说怎么会用到。哈哈,这时候我知道我gg了,后来聊了聊什么情况下会发生full gc,当然这个问题对我来说没有任何的难度。后来聊了聊可以实习的时间和常规问题就面试结束了。

写在后面

个人认为java基础以及高级开发的技术没有什么大的问题,至少面试不会碰壁,这次完全败在了自己的作死上面,投的百度最核心的部门并且还是与系统架构搭建和核心代码的撰写有关。
放一张自己的身材照,加油吧,目标定的高大,我定会实现的。


明年必将征服.jpg
明年必将征服.jpg