1. 综述
工作总算是告一段落了,在找工作的过程中,也得到了很多人的帮助,看了很多大神的面经。抽点时间也整理下自己的面经,希望能对找工作的同学有所帮助!
1.1. 面试及offer概况
从今年三月份找实习到最近的校招找工作,笔者前前后后面试的公司不少于20家,这些公司有大型互联网公司,比如百度,腾讯,阿里巴巴,360,美团等,也有初创O2O公司,比如闪电购,微店,挖财等。
笔者参加的这些面试,都没有参加笔试,大多是现场面试或者电话面试。笔试这关,可能对于像我这样经常做项目的同学来说,是一大弱项,所幸参加的面试,都没有笔试!
算上实习和校招的offer,笔者拿到的offer如下:
- 360 云事业部 (实习)
- 阿里巴巴 大数据技术及产品部 (实习)
- 美团 外卖 (实习)
- 网易 互联网
- 闪电购
- 一号店
- 北京HZ
- 百度 地图
笔者参加的这些面试,多数都是与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. 一面
- 上来就是自我介绍。跟他聊了下自己的学习,兴趣(技术方面),项目等等
- 然后就是聊项目,让我挑了一个自己比较熟悉的项目来说。我就给他说了我自己做的一个开源项目,类似于MVC后台框架,然后给他讲自己的设计,架构,前端,后端工作,以及怎么保证可扩展性,重用性,性能等等
- 然后问了我这个项目中遇到的问题,以及怎么去解决……所以平时做项目的过程中应该多注意去总结
- 问了我maven是什么东东,平时项目中怎么用
- spring的IOC, AOP,以及项目中怎么用spring
- 数据库的存储引擎,以及区别
差不多就是这些,这次面试基本上还是围绕着Java相关的一些东西来问,重点是我给他讲的那个自己做的开源项目,可能是这点他觉得我还不错吧,一面就这样顺利的通过了。后来还让实验室的师兄(也是在360工作)打听了下,面试结果还不错^_^
2.2. 阿里巴巴
2.2.1. 概述
阿里巴巴今年实习生招聘的动作很大,招的人也很多。很多在阿里工作的师兄都在发内推消息,当时也是找了在阿里巴巴工作的同学内推了下,(备注,内推我的是我的大腿以及大恩人,陈俊安!后文还有他!)他给我内推的部门是大数据技术及产品部。阿里巴巴实习招聘期间,我正好在帮实验室导师做项目,当时也没有太多时间复习(项目实在是太忙了),接到面试电话的时候,自己还在写项目的代码。
2.2.2. 一面
一天下午,我在实验室写项目代码的时候,接到了来自杭州的电话,当时猜到应该是阿里巴巴的电话面试,于是赶紧找了个安静的地方接电话。
- 一上来也是自我介绍,还是跟他说了自己的学习,兴趣(技术方面),项目等等
- 问了下项目概括,然后就跟他说项目……
- 问我项目中遇到什么问题,我就跟他说了fastjson和hibernate结合产生的死循环问题,然后自己是怎么去解决的……
- 问了我spring注解的@Resource和@Autowire有什么区别……
- 问了数据库存储引擎,sql优化,索引等……
- 然后问我有什么问题,我就问了他部门做什么,他跟我说了部门的主打产品——生意参谋(很不错的产品,后面实习的时候就是参与到这个项目中的)
- 最后,他问我对加班怎么看(当时想,你们部门是有多忙,面试还要问加班怎么看,后面去实习的时候发现,要备战双十一,真的很忙!!),我跟他说会尽量在工作时间内把任务做完,如果做不完或者项目需要,加班也无所谓。
一面差不多就是这样,感觉面试官问的问题基本上还是答出来了的,后面就在等消息……等消息……等消息……
一直等了半个多月,二面才来……
2.2.3. 二面
二面的时候,比一面更惨,当时因为项目需要,还在外面出差,也是只能丢下手中的工作,找个地方接电话……
- 平时看哪些书,怎么学习
- MySQL的锁,事务隔离级别
- 一面回答情况如何
- 自己有什么规划,喜不喜欢数据产品
也差不多是这样,太多详细的记不清楚了,反正二面没问太多具体的技术细节,后来去实习才知道,面试我的是主管。二面面完没过多久,去官网查看状态也是通过了(阿里面试这点倒是做得挺好的,面试完了以后,可以查到自己的面试结果),然后就等HR面……等HR面……等HR面……
2.2.4. HR面
二面面完,又是等了一个多星期,一直到阿里内推截止的最后一天的晚上,才接到HR的电话面试,想想这次面试过程也是醉了,一直等,一直等,一直等……
- 自我介绍,兴趣,爱好
- 性格的优缺点
- 问了个实际的问题,项目中跟别人产品矛盾会怎么处理
- 家乡是哪里的,愿不愿意来杭州工作(当然愿意,阿里可是我理想中的工作)
- 有没有女朋友,(这个有),会不会影响到自己工作地点的选择,(这个果断说了不会)
差不多就这些,HR面的话,一般是不会有什么问题的
2.2.5. 总结
三面面完以后,顺利的拿到了阿里的实习offer,后面也因为这个认识了重邮很多IT小伙伴们,这也算是一大收获吧!!!
2.3. 美团
2.3.1. 概述
美团的面试,是直接把简历发给了面试官的邮箱的,一面的那个面试官,人特别好,不止是面试,还给我讲了很多,后面想想最后没有去美团实习,还是有点遗憾的……
2.3.2. 一面
- 首先就是自我介绍,跟他说了自己学习的一些东西,还有项目
- 上来的第一个问题就是集合,而且这块说了很多,问了下常见的集合类,我说了ArrayList,LinkedList,HashMap,HashTable,ConcurrentHashMap以及对应的内部源码,重点问了内部的数据结构,扩容方式,以及并发读写问题还问了TreeSet,TreeMap以及内部的实现原理
- GC:这个建议大家去看看周志明的《深入理解Java虚拟机》,看懂这个,应付面试的GC没有问题
- Java类加载机制,虚拟机这块,还问了一个问题是,怎么样分配内存,解决并发问题(不在队和方法区分配),这个我没有答上来
- 并发:问了常用的并发类,原子操作的那几个类AtomicInteger,还有volatile关键字是否能够解决并发问题
- 前面都是Java基础的问题,聊了很久,后面就是问了些web开发以及数据库的问题:servlet和jsp的区别,struts2的运行流程,平时写struts2的话,是怎么开发的
- 问了下springMVC,mybatis,我说这些只是了解,平时用的不多,他就没问了(感觉面试官还是挺好的,我说不太会的,他就没问了)
- 网络这块,问了tcp和udp的区别,Linux问了ln、grep、AWK,问了下这些命令的常见用法
- MySQL:问了下性能优化,然后我跟他说了下explain,然后他就问我explain之后的结构,以及每个字段的意义,问了下varchar底层占用的字节长度,还有 int 10这中,后面的10 是什么意义,还有myisam 以及innodb存储引擎的区别,底层索引的数据结构(没答好…)
- 最后问了下Activiti工作流引擎,http中post和get区别,cookie和session的区别,简单聊了下Hadoop(没问具体的技术细节)
基本上就这些了,感觉面试官还是挺好的,基本上是对着我的简历来问的,我说不太会的东西,他就说不问了,后面还问了下目前拿到的offer
总体感觉是,Java的基础知识要深厚,平时要多看看源码,回答问题的时候,自己多说点,多扩展,把自己的技能都秀出来,注意去引导面试官。
3. 校招面试分享
3.1. 写在前面
本来在阿里实习还是挺愉快的,前面说过阿里一直是自己理想中的“归宿”,所以一直想着,也不需要再去找工作了,就留阿里了!奈何今年阿里实习生遇到重大变故,部门实习生九死一生,我最后还是没有留下来,只好又重新来找工作!
3.2. 网易互联网
3.2.1. 概述
说实话,要不是因为女票,我肯定是要留网易的,网易还是挺不错的,虽然不如BAT那么霸气侧漏,但是网易工作相对比较轻松,福利也很好。可是……
回归正题,网易的面试也是找的内推,投的也是Java岗位。因为有阿里实习的缘故,再加上自己的也在复习,所以还是比较轻松的拿到了offer。
3.2.2. 初面
初面是电话面试,时间很短,十分钟都没到,感觉更像是做个提前的筛选。
- Java多线程有哪几种方式
- Java里面的transient关键字用处
- Java序列化
- 有什么问题问他
很简单的几个问题,更像是提前筛选
3.2.3. 一面
前面的电话面试没过多久,就接到电话说安去网易公司现场面
- 上来做了自我介绍
- 着重讲了项目,讲了设计,架构,解决的问题等……大概讲了半个小时
- 讲设计模式,让我现场画UML类图,装饰者模式的类图,(这个。。。我居然木有画出来。。伤心)
- HashMap源码,让我改进HashMap。。。(这个我说的答案他不是很满意。。。)
- ConcurrentHashMap,HashTable
- Java GC
差不多就是这样,一面没过多久就去二面了
3.2.4. 二面
- 上来也是自我介绍
- 集合什么的源码
- memcached,结构,一致性hash算法
- 分布式集群设计管理等
- 排序算法,快排,堆排等
- 有什么问题问他
二面完了以后,差不多就中午吃饭了,然后就去网易食堂吃了饭。整体来说,网易食堂的饭菜还是可以的,量很足,而且完全免费,后来听说网易一天管5顿饭,而且都是完全免费的,福利真好!
3.2.5. HR面
吃完午饭差不多就去HR面了,很诧异的是HR居然是个男的!
- 自我介绍。。。感觉最多的问题就是自我介绍,所以这个也要好好准备准备
- 兴趣爱好,关注哪些东西
- 用过网易哪些产品
- 平时会做哪些事情,我跟他说平时写些博客分享,然后他就问我分享的动机是什么。。。。
- 为什么会关注这个新闻,心里是怎么想的,还说我回答问题的时候有点罗嗦。。。。
网易的这个HR真的是。。。一直想探析我的心理活动,我也是醉了,为什么要关注这些新闻,心里是怎么想的,你的动机是什么~~我是来面试的,怎么感觉是进了警察局被审问了??
好吧,好在最后HR面也没有什么问题,拿到了网易互联网的offer
3.3. 闪电购
3.3.1. 概述
闪电购,一小时社区电商。
闪电购是一个线上便利店平台,其将各分区内的实体店接入,用户就可以基于LBS购买1公里范围的周边便利店商品,1小时免费送达。
闪电购也是自己十分喜欢的一家公司,CEO特别有魅力,虽然最后由于种种原因没有去成,这里还是给他们打个广告!有Android/IOS客户端,欢迎大家使用!方便买零食,水果什么的,一小时送达!
闪电购是在阿里缩招之后,专门针对“阿里宝宝”举行了专场招聘会,还是很有诚意的,现场还给了很多零食。面试也是当天下午搞定了。
3.3.2. 一面
- 自我介绍,项目什么的
- 并发集合,ConcurrentHashMap,CopyOnWriteList等
- 数据库的索引,优化
- 数据的锁
3.3.3. 二面
一面问了一些技术问题后,没一会就二面了,二面没有问技术问题,都是在说实习过程的一些事,没有什么好参考的,就不写了
3.3.4. 三面
没想到三面是CTO和HR的综合面,他们人都挺好的,嘿嘿^_^
- Java 的GC
- Java的类加载机制,这块我跟他说的比较多,详细的源码都跟他说了,所以平时还是多看看源码吧
- HR问现在有没有其他公司offer
- 期望的工资是多少。
关于这个问题,相信有很多人有疑问,说得高,担心因为这个拿不到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. 一面
- Java面向对象的三大特征(封装,继承,多态),就跟他扯了一堆的三大特征,举了例子跟他说明
- Java虚拟机的GC(这个扯淡起来就更多了。。。详细的可以看周志明的深入理解Java虚拟机)
- Java多线程的几种实现方式
- MySQL存储引擎,有哪几种,有什么区别
- MySQL的hash索引和btree索引
- MySQL什么时候会导致索引失效(我感觉就是问sql语句怎么写,导致MySQL不会用到索引)
- 问了个逻辑题,36匹马,6条跑道,没有计时器,怎么选出前三名
差不多就这些了,大概问了半小时,反正都是些很基础的东西,感觉没有问很深很难的问题
3.4.3. 二面
- 讲下阿里巴巴实习所做的事,得到的锻炼以及成长,实习过程中,遇到的问题,怎么解决
- 平时会怎么去学习,学习方法以及学习的东西
- 讲了一个项目,跟他讲了自己写的一个Java web后台,代码在github上。。
- 问了下成绩,还让我把成绩单给他发邮件
- 说了下自己技术上的优势和劣势,非技术方面的优势和劣势
- 倾向于做服务器后端还是前端还是移动客户端
二面也没有问具体的细节,都是些能扯的东西,不过虽然没有问具体的技术细节,还是比较考技术这块的综合实力的
3.4.4. 总结
百度也是我非常喜欢的一家公司,而且又是百度地图部门,允许我打个小广告。百度地图的导航,在岔路口的时候会有图片指导:
怎么样,是不是有图有真相,有了百度地图,以后再也不用担心走错路口了!!希望大家加入我们,把百度地图做的更好!百度地图,有你更精准!
4. 总结
花了一下午的时间,把自己还记得起来的面试经过总结了下来!在找工作的过程中,得到过很多人的帮助,尤其是重邮IT小伙伴群里面小伙伴们!
所以,也希望自己的这篇面经能够帮助到正在找工作或准备找工作的你!假使哪天你因为看到这篇博客而对你的找工作有了帮助,那就是我的荣幸了!
最后送给同学们一句话,技术成就梦想,做一个有梦想的程序猿!
我是王贤稳,我在百度地图等你!