上周搞了个活动(来分享面试求职经历吧,我请你喝星巴克),让大家来分享自己的面试经历,在后台收到了很多留言和邮件,我从中选了一篇成功拿到百度offer的同学的投稿,今天分享给大家。内容基本是投稿内容,我只是做了一些细微的调整,另外原作者不想公开姓名,所以本文作者还是用我的姓名。
百度科技园果然很大气,可惜面试,只到了K2大厅和之后面试的休息区。我应聘的是开发岗,一直听说百度的技术很牛,所以对技术面还是挺担心的,不知道会问到什么样的深度,但最后三面面下来,感觉还不错。下面详细介绍一下三面的过程。
一面是技术面,面试官给人感觉很友善。在一开始,面试官一边看我的简历,一边让我自我介绍。虽然我没有刻意的准备过要怎么自我介绍,但因为在来百度面试之前,我已经参加了大大小小的面试有十几个了,所以在自我介绍部份我说的非常得心应手。按照简历里写的项目和实习经历,把做的事情都介绍了一下。这一部份感觉面试官对我在实习中做的事情比较感兴趣,在我介绍完之后又详细问了一下实习中项目的细节。
接下来开始问了很多技术问题:
数据库相关: mysql里myisam和innodb的区别;SQL语句里和关键字的执行顺序。这一题还好我数据库学的扎实,说了个八九不离十,回来查了一下,Join, on和where这三个条件的顺序还是说错了。
算法:让我现场手写了一个快速排序算法的代码,语言不限,用最熟悉的就好。另外还考了一个求链表倒数第K个数的程序,也是让直接写出关键代码。(这个可以点击阅读原文,看看我的博客,里面有一篇专门写面试中链表的文章)
海量数据处理:考了一个从50亿个URL中找出重复次数最多的URL,这题完全是我提前准备好的,所以轻松无压力
(这个我在旧文中也有提过:海量数据处理问题汇总)
另外还有一些脚本语言使用上的细节问题,因为脚本语言我只是简单的用过,可能因为我都没有答出来,面试官就没有继续问了。
二面还是技术面,是个很年轻的面试官,但依然非常友善。一开始,还是一样,让我先自我介绍。但二面的面试官没有太多的问我简历里的项目,而是直接开始问一些技术问题。因为二面的面试官之前是有和一面的面试官沟通过的,所以两面基本没有重复的问题。
这一面的技术问题记的不太全了,大概如下:
算法: 求二叉树两个叶子节点间的路径,也是要求写出代码;还写了一个链表转置的代码。还好这题之前在别处面试时就没写出来,回去之后有查过,这次果断写出来了。
操作系统:这一面问了很多操作系统相关的问题,可能也是因为一开始自己说大了。从进程线程差别,多线程的适用场景是什么,为啥要用多线程,linux下如何修改进程优先级等等。这块只能说答上来一多半吧,还有一多半真心不知道。
海量数据处理:这一面又问了这方面的题目,这次是在大量数据中找出中位数,也是准备过的,所以答上来了。
其它就是还问了一下关于逻辑思维方面的问题了,自我感觉答的还不错。
可能因为前两面感觉答的还可以,让我稍等一下,等第三面,据说第三面是经理面。二面的面试官说可能需要等5分钟,还给我倒了杯水,瞬间对他的感觉好了很多。
三面的面试官明显感觉年纪会大一些,一开始简单和我聊了一下简历里的项目,问了一下我在项目里充当的角色。聊了一些开发的习惯。让我印象最深的,是问了我一个开放性的题目,问我可以从什么角度来衡量一个互联网产品的好坏,我觉的互联网产品的范围实在太广了,不知道从何说起,所以面试官让我用最熟悉的一个领域来说,于是我选了游戏产品。感觉这里是想考察我看这问题的全面程度,而不是仅仅局限在技术的范畴里。我也是想到什么就全说出来,说了很多。从面试官的反馈来看,还比较满意。
接着又问了我使用过什么技术框架,有没有看过框架源码。我也是如实说了,只用过php开发网站的框架。这块感觉面试官并不是很满意。
之后又问了我设计模式的问题,虽然我没怎么用过设计模式,但是设计模式的书我可以仔细的读过,我一上来介绍说用过单例模式和观察者模式,于是面试官问了很多观察者模式的问题,主动推送的模式还是让观察者自己获取通知之类的,都答上来了。
最后还问了一下我手上有没有其它的offer。感觉这一面,特别在意我的逻辑思维能力,问题都是比较开放的,导致我最后也搞不清楚自己回答的是好是坏。
总结下来,或许因为是校招,感觉这三面都比较重视基础算法的掌握和代码能力,无论是什么方向,问题都问到知识非常底层的细节。整个面试过程中,虽然有很多问题没答上来,但总体还是不错的,很幸运最后也拿到了offer。
从这位同学的面试分享里,你有学到什么技巧和准备的方法吗?欢迎大家来分享,对于自己在之前的面试中有不知道怎么回答的问题,也可以列出来,BAT这样的公司,大多我都能找到相关方向有经验的同学来给你个参考答案的。
还是之前这个活动,长期有效哦!
如果你想学习Java工程化、高性能及分布式、高性能、深入浅出。性能调优、Spring,MyBatis,Netty源码分析和大数据等知识点可以来找我。而现在我就有一个平台可以提供给你们学习,你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,群号为:668395460
注:加群要求
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。
5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
6.小号加群一律不给过,谢谢。
有什么其它问题也欢迎留言讨论!