BAT等互联网公司面试分享

1. 综述

工作总算是告一段落了,在找工作的过程中,也得到了很多人的帮助,看了很多大神的面经。抽点时间也整理下自己的面经,希望能对找工作的同学有所帮助!

1.1. 面试及offer概况

从今年三月份找实习到最近的校招找工作,笔者前前后后面试的公司不少于20家,这些公司有大型互联网公司,比如百度,腾讯,阿里巴巴,360,美团等,也有初创O2O公司,比如闪电购,微店,挖财等。

笔者参加的这些面试,都没有参加笔试,大多是现场面试或者电话面试。笔试这关,可能对于像我这样经常做项目的同学来说,是一大弱项,所幸参加的面试,都没有笔试!

算上实习和校招的offer,笔者拿到的offer如下:

  1. 360 云事业部 (实习)
  2. 阿里巴巴 大数据技术及产品部 (实习)
  3. 美团 外卖 (实习)
  4. 网易 互联网
  5. 闪电购
  6. 一号店
  7. 北京HZ
  8. 百度 地图

笔者参加的这些面试,多数都是与Java相关的岗位。Java这块,也是从大四到现在(研三)一直在学习,也做了很多Java web相关的一些项目。

1.2. offer选择

实习时,笔者选择的是阿里巴巴的offer,因为阿里巴巴一直是我理想中的工作的地方!从大四学Java开始,就希望毕业后能够去阿里巴巴工作,去见见心中的偶像马云!能够去实习,当时非常高兴,感觉自己的梦想就要实现!
奈何阿里巴巴今年发生大的变故,实习最后,还是没有能够留在阿里巴巴。关于阿里巴巴实习的故事,笔者会在另外一篇博客中专门细说!

被阿里巴巴“扫地出门”后,那时自己很慌乱,好多实习的同学也都很混乱,然后我们平时交流的实习群就变为了“阿里巴巴实习生下家群”,群里面也有很多HR在发招聘信息,大家集体抱团取暖找工作!后面的那些面试就是从这开始的!

笔者本身并不想去当北漂,所以一直比较倾向于选择网易互联网(杭州),奈何女票只有美团(北京)的offer,无奈还是要去北漂!不过想想毕竟BAT,毕竟百度地图,也还挺好的,最后选择了百度地图!

2. 实习面试分享

2.1. 360

2.1.1. 概述

360的面试还是比较轻松的。当时是因为我们实验室跟360有项目合作,360那边希望我们实验室派一个过去实习,所以当时试了下。他们的主要方向也是Java web,正好跟我的学习的方向比较接近。这次面试,总共只有一面技术面,通过以后就是后面HR跟我联系了。

2.1.2. 一面

  1. 上来就是自我介绍。跟他聊了下自己的学习,兴趣(技术方面),项目等等
  2. 然后就是聊项目,让我挑了一个自己比较熟悉的项目来说。我就给他说了我自己做的一个开源项目,类似于MVC后台框架,然后给他讲自己的设计,架构,前端,后端工作,以及怎么保证可扩展性,重用性,性能等等
  3. 然后问了我这个项目中遇到的问题,以及怎么去解决……所以平时做项目的过程中应该多注意去总结
  4. 问了我maven是什么东东,平时项目中怎么用
  5. spring的IOC, AOP,以及项目中怎么用spring
  6. 数据库的存储引擎,以及区别

差不多就是这些,这次面试基本上还是围绕着Java相关的一些东西来问,重点是我给他讲的那个自己做的开源项目,可能是这点他觉得我还不错吧,一面就这样顺利的通过了。后来还让实验室的师兄(也是在360工作)打听了下,面试结果还不错^_^

2.2. 阿里巴巴

2.2.1. 概述

阿里巴巴今年实习生招聘的动作很大,招的人也很多。很多在阿里工作的师兄都在发内推消息,当时也是找了在阿里巴巴工作的同学内推了下,(备注,内推我的是我的大腿以及大恩人,陈俊安!后文还有他!)他给我内推的部门是大数据技术及产品部。阿里巴巴实习招聘期间,我正好在帮实验室导师做项目,当时也没有太多时间复习(项目实在是太忙了),接到面试电话的时候,自己还在写项目的代码。

2.2.2. 一面

一天下午,我在实验室写项目代码的时候,接到了来自杭州的电话,当时猜到应该是阿里巴巴的电话面试,于是赶紧找了个安静的地方接电话。

  1. 一上来也是自我介绍,还是跟他说了自己的学习,兴趣(技术方面),项目等等
  2. 问了下项目概括,然后就跟他说项目……
  3. 问我项目中遇到什么问题,我就跟他说了fastjson和hibernate结合产生的死循环问题,然后自己是怎么去解决的……
  4. 问了我spring注解的@Resource和@Autowire有什么区别……
  5. 问了数据库存储引擎,sql优化,索引等……
  6. 然后问我有什么问题,我就问了他部门做什么,他跟我说了部门的主打产品——生意参谋(很不错的产品,后面实习的时候就是参与到这个项目中的)
  7. 最后,他问我对加班怎么看(当时想,你们部门是有多忙,面试还要问加班怎么看,后面去实习的时候发现,要备战双十一,真的很忙!!),我跟他说会尽量在工作时间内把任务做完,如果做不完或者项目需要,加班也无所谓。

一面差不多就是这样,感觉面试官问的问题基本上还是答出来了的,后面就在等消息……等消息……等消息……
一直等了半个多月,二面才来……

2.2.3. 二面

二面的时候,比一面更惨,当时因为项目需要,还在外面出差,也是只能丢下手中的工作,找个地方接电话……

  1. 平时看哪些书,怎么学习
  2. MySQL的锁,事务隔离级别
  3. 一面回答情况如何
  4. 自己有什么规划,喜不喜欢数据产品

也差不多是这样,太多详细的记不清楚了,反正二面没问太多具体的技术细节,后来去实习才知道,面试我的是主管。二面面完没过多久,去官网查看状态也是通过了(阿里面试这点倒是做得挺好的,面试完了以后,可以查到自己的面试结果),然后就等HR面……等HR面……等HR面……

2.2.4. HR面

二面面完,又是等了一个多星期,一直到阿里内推截止的最后一天的晚上,才接到HR的电话面试,想想这次面试过程也是醉了,一直等,一直等,一直等……

  1. 自我介绍,兴趣,爱好
  2. 性格的优缺点
  3. 问了个实际的问题,项目中跟别人产品矛盾会怎么处理
  4. 家乡是哪里的,愿不愿意来杭州工作(当然愿意,阿里可是我理想中的工作)
  5. 有没有女朋友,(这个有),会不会影响到自己工作地点的选择,(这个果断说了不会)

差不多就这些,HR面的话,一般是不会有什么问题的

2.2.5. 总结

三面面完以后,顺利的拿到了阿里的实习offer,后面也因为这个认识了重邮很多IT小伙伴们,这也算是一大收获吧!!!

2.3. 美团

2.3.1. 概述

美团的面试,是直接把简历发给了面试官的邮箱的,一面的那个面试官,人特别好,不止是面试,还给我讲了很多,后面想想最后没有去美团实习,还是有点遗憾的……

2.3.2. 一面

  1. 首先就是自我介绍,跟他说了自己学习的一些东西,还有项目
  2. 上来的第一个问题就是集合,而且这块说了很多,问了下常见的集合类,我说了ArrayList,LinkedList,HashMap,HashTable,ConcurrentHashMap以及对应的内部源码,重点问了内部的数据结构,扩容方式,以及并发读写问题还问了TreeSet,TreeMap以及内部的实现原理
  3. GC:这个建议大家去看看周志明的《深入理解Java虚拟机》,看懂这个,应付面试的GC没有问题
  4. Java类加载机制,虚拟机这块,还问了一个问题是,怎么样分配内存,解决并发问题(不在队和方法区分配),这个我没有答上来
  5. 并发:问了常用的并发类,原子操作的那几个类AtomicInteger,还有volatile关键字是否能够解决并发问题
  6. 前面都是Java基础的问题,聊了很久,后面就是问了些web开发以及数据库的问题:servlet和jsp的区别,struts2的运行流程,平时写struts2的话,是怎么开发的
  7. 问了下springMVC,mybatis,我说这些只是了解,平时用的不多,他就没问了(感觉面试官还是挺好的,我说不太会的,他就没问了)
  8. 网络这块,问了tcp和udp的区别,Linux问了ln、grep、AWK,问了下这些命令的常见用法
  9. MySQL:问了下性能优化,然后我跟他说了下explain,然后他就问我explain之后的结构,以及每个字段的意义,问了下varchar底层占用的字节长度,还有 int 10这中,后面的10 是什么意义,还有myisam 以及innodb存储引擎的区别,底层索引的数据结构(没答好…)
  10. 最后问了下Activiti工作流引擎,http中post和get区别,cookie和session的区别,简单聊了下Hadoop(没问具体的技术细节)

基本上就这些了,感觉面试官还是挺好的,基本上是对着我的简历来问的,我说不太会的东西,他就说不问了,后面还问了下目前拿到的offer
总体感觉是,Java的基础知识要深厚,平时要多看看源码,回答问题的时候,自己多说点,多扩展,把自己的技能都秀出来,注意去引导面试官。

3. 校招面试分享

3.1. 写在前面

本来在阿里实习还是挺愉快的,前面说过阿里一直是自己理想中的“归宿”,所以一直想着,也不需要再去找工作了,就留阿里了!奈何今年阿里实习生遇到重大变故,部门实习生九死一生,我最后还是没有留下来,只好又重新来找工作!

3.2. 网易互联网

3.2.1. 概述

说实话,要不是因为女票,我肯定是要留网易的,网易还是挺不错的,虽然不如BAT那么霸气侧漏,但是网易工作相对比较轻松,福利也很好。可是……
回归正题,网易的面试也是找的内推,投的也是Java岗位。因为有阿里实习的缘故,再加上自己的也在复习,所以还是比较轻松的拿到了offer。

3.2.2. 初面

初面是电话面试,时间很短,十分钟都没到,感觉更像是做个提前的筛选。

  1. Java多线程有哪几种方式
  2. Java里面的transient关键字用处
  3. Java序列化
  4. 有什么问题问他

很简单的几个问题,更像是提前筛选

3.2.3. 一面

前面的电话面试没过多久,就接到电话说安去网易公司现场面

  1. 上来做了自我介绍
  2. 着重讲了项目,讲了设计,架构,解决的问题等……大概讲了半个小时
  3. 讲设计模式,让我现场画UML类图,装饰者模式的类图,(这个。。。我居然木有画出来。。伤心)
  4. HashMap源码,让我改进HashMap。。。(这个我说的答案他不是很满意。。。)
  5. ConcurrentHashMap,HashTable
  6. Java GC

差不多就是这样,一面没过多久就去二面了

3.2.4. 二面

  1. 上来也是自我介绍
  2. 集合什么的源码
  3. memcached,结构,一致性hash算法
  4. 分布式集群设计管理等
  5. 排序算法,快排,堆排等
  6. 有什么问题问他

二面完了以后,差不多就中午吃饭了,然后就去网易食堂吃了饭。整体来说,网易食堂的饭菜还是可以的,量很足,而且完全免费,后来听说网易一天管5顿饭,而且都是完全免费的,福利真好!

3.2.5. HR面

吃完午饭差不多就去HR面了,很诧异的是HR居然是个男的!

  1. 自我介绍。。。感觉最多的问题就是自我介绍,所以这个也要好好准备准备
  2. 兴趣爱好,关注哪些东西
  3. 用过网易哪些产品
  4. 平时会做哪些事情,我跟他说平时写些博客分享,然后他就问我分享的动机是什么。。。。
  5. 为什么会关注这个新闻,心里是怎么想的,还说我回答问题的时候有点罗嗦。。。。

网易的这个HR真的是。。。一直想探析我的心理活动,我也是醉了,为什么要关注这些新闻,心里是怎么想的,你的动机是什么~~我是来面试的,怎么感觉是进了警察局被审问了??
好吧,好在最后HR面也没有什么问题,拿到了网易互联网的offer

3.3. 闪电购

3.3.1. 概述

闪电购,一小时社区电商。

闪电购是一个线上便利店平台,其将各分区内的实体店接入,用户就可以基于LBS购买1公里范围的周边便利店商品,1小时免费送达。

闪电购也是自己十分喜欢的一家公司,CEO特别有魅力,虽然最后由于种种原因没有去成,这里还是给他们打个广告!有Android/IOS客户端,欢迎大家使用!方便买零食,水果什么的,一小时送达!

闪电购是在阿里缩招之后,专门针对“阿里宝宝”举行了专场招聘会,还是很有诚意的,现场还给了很多零食。面试也是当天下午搞定了。

3.3.2. 一面

  1. 自我介绍,项目什么的
  2. 并发集合,ConcurrentHashMap,CopyOnWriteList等
  3. 数据库的索引,优化
  4. 数据的锁

3.3.3. 二面

一面问了一些技术问题后,没一会就二面了,二面没有问技术问题,都是在说实习过程的一些事,没有什么好参考的,就不写了

3.3.4. 三面

没想到三面是CTO和HR的综合面,他们人都挺好的,嘿嘿^_^

  1. Java 的GC
  2. Java的类加载机制,这块我跟他说的比较多,详细的源码都跟他说了,所以平时还是多看看源码吧
  3. HR问现在有没有其他公司offer
  4. 期望的工资是多少。

关于这个问题,相信有很多人有疑问,说得高,担心因为这个拿不到offer;说的低,又担心如果签了是不是就按照这个低工资来发……
大家的担心都是有道理的,这里我说下自己的意见:98%的情况下,不会因为你期望的工资高而不给你offer,所以,按照自己的实际来。
如果真的觉得自己很牛,那就大胆的说出你内心期望的工资;
如果实力一般或者担心因为工资问题而拿不到offer,这里我教大家一招,“工资这块,我没有太多的想法,参照公司给应届生的平均待遇吧”
一般这样说后,HR不会多问了,万一HR就一定想知道具体数额,那你就大声的说出自己的想法,我说过,98%的情况下,不会因为你期望的工资高而不给你offer
我当时给HR的回答是,我期望能有BAT的待遇,不知道您们公司能给多少。

3.3.5. 总结

总体来说,闪电购还是很好的,拿到offer后,还专门组织我们开了个见面会,公司的创始人等,跟我们一起坐在圆桌上聊天,氛围还是挺好的!
最终因为个人原因没能去成!

3.4. 百度

3.4.1. 概述

说起百度的面试,就不得不提到我大腿以及恩人陈俊安!!!能拿到百度地图的offer,完全是因为他帮我内推,直接把简历给力他们老大。前面实习的时候,是他帮我内推,然后拿到了阿里的实习offer,后来他去了百度,又帮我内推百度地图,帮我拿到了百度offer,真是人生中的贵人啊!
百度的面试,整体还是比较轻松的,也许是因为直推的缘故,没有问题太多的技术细节问题,可能是阿里实习的经历帮了忙吧!

3.4.2. 一面

  1. Java面向对象的三大特征(封装,继承,多态),就跟他扯了一堆的三大特征,举了例子跟他说明
  2. Java虚拟机的GC(这个扯淡起来就更多了。。。详细的可以看周志明的深入理解Java虚拟机)
  3. Java多线程的几种实现方式
  4. MySQL存储引擎,有哪几种,有什么区别
  5. MySQL的hash索引和btree索引
  6. MySQL什么时候会导致索引失效(我感觉就是问sql语句怎么写,导致MySQL不会用到索引)
  7. 问了个逻辑题,36匹马,6条跑道,没有计时器,怎么选出前三名

差不多就这些了,大概问了半小时,反正都是些很基础的东西,感觉没有问很深很难的问题

3.4.3. 二面

  1. 讲下阿里巴巴实习所做的事,得到的锻炼以及成长,实习过程中,遇到的问题,怎么解决
  2. 平时会怎么去学习,学习方法以及学习的东西
  3. 讲了一个项目,跟他讲了自己写的一个Java web后台,代码在github上。。
  4. 问了下成绩,还让我把成绩单给他发邮件
  5. 说了下自己技术上的优势和劣势,非技术方面的优势和劣势
  6. 倾向于做服务器后端还是前端还是移动客户端

二面也没有问具体的细节,都是些能扯的东西,不过虽然没有问具体的技术细节,还是比较考技术这块的综合实力的

3.4.4. 总结

百度也是我非常喜欢的一家公司,而且又是百度地图部门,允许我打个小广告。百度地图的导航,在岔路口的时候会有图片指导:
百度地图图片导航

怎么样,是不是有图有真相,有了百度地图,以后再也不用担心走错路口了!!希望大家加入我们,把百度地图做的更好!百度地图,有你更精准!

4. 总结

花了一下午的时间,把自己还记得起来的面试经过总结了下来!在找工作的过程中,得到过很多人的帮助,尤其是重邮IT小伙伴群里面小伙伴们!
所以,也希望自己的这篇面经能够帮助到正在找工作或准备找工作的你!假使哪天你因为看到这篇博客而对你的找工作有了帮助,那就是我的荣幸了!

最后送给同学们一句话,技术成就梦想,做一个有梦想的程序猿!

我是王贤稳,我在百度地图等你!