985、211 毕业一年,面试八家大厂,四面拿美团 offe
自我介绍
本人三年开发,985 硕士,211 本科,专业都是软件工程,一直投的是 Java 后台开发,只投过一次网易的测试,技术不是太牛,但是比较努力。实验室没有项目,so 项目经验是 0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。
复习经历写在文末
***********************有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。
我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注一些技术群,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个 offer 都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。
排名按面试时间
蚂蚁金服(内推)
一面
这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么。。。
-
自我介绍(说的很乱)
-
序列化的底层怎么实现的
-
synchronized 的底层怎么实现的
-
tomcat 集群怎么保证同步
-
了解 nosql 吗?redis?
-
怎么解决项目中超卖的问题
-
int 的范围
-
有什么想问的?
二面
清楚的记得二面是在晚上 7 点左右,刚走到教研室楼下,看见是杭州的电话,顿时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到 5 楼,然后喘着粗气进行自我介绍。。尴尬
-
问了项目中超卖的问题怎么解决
-
你熟悉什么数据结构
-
说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度
-
int 的范围,我说的是 2 的-31 次方到 2 的 31 次方-1,面试官说具体点,我就不知道了
-
乐观锁 vs 悲观锁
-
gc
-
concurrenthashmap 分段锁的细节
-
设计模式怎么分类,每一类都有哪些
-
并发包里了解哪些
-
b 树,b+树,b*树
-
字节与字符的区别
三面
一二面只隔了 2,3 天,三面和二面隔了 2 周,当时一直以为自己挂掉了,接到电话也很突然。
-
自我介绍
-
项目
-
知道哪些服务器?答:JBoss,Apache,weblogic。问:区别?
-
Java 有什么后端技术
-
springIOC 优点
-
jdk 动态代理 vs cglib 动态代理,他们底层分别怎么实现的
-
synchronizedMap 知道吗?他和 concurrenthashmap 分别使用于什么场景?
-
https 过程?公钥能用公钥解吗?在客户端抓包,看到的是加密的还是没加密的?当时乱猜的加密,面试官说不对,是没加密的
-
描述一下 java 线程池。
-
怎么保证 redis 和 db 中的数据一致
-
设计模式怎么用到项目中?
-
类加载
hr 面
不记得 3 面和 hr 面之间间隔多久了,也是晚上 6,7 点收到的电话。
-
自我介绍
-
有什么优点?
-
有什么缺点?
-
项目中遇到的困难?怎么解决
-
意向城市 时间已经过去太久了,只记得这么多,可能有些问题不是阿里面试官问的,但都是在面试过程中遇到的,希望能帮到更多的人。
携程(offer)
内推-只有一次视频面。
-
链表的定义
-
怎么实现链表翻转
-
怎么判断链表是否有环
-
二叉平衡树,怎么用一维数组存储
-
讲讲 jvm 分区
-
讲讲 jvm gc
-
怎么求数组的最大子序列和
-
final 关键字 4 种用法
-
sleep 用法
-
await 关键字
-
线程池
-
spring ioc,aop 以及其优点
-
栈和堆的定义
现在记得的只有这么多了。
美团
成都提前批(收到 offer)。
在河畔上看到的内推消息,然后就发了邮件,3、4 天后,收到邮件让去公司面试,在天府三街附近。
一面
先给了一个 A4 纸,上面写满了题,然后就做题。做完题就自我介绍,说项目,问项目里的东西(自己一定要对项目里用的东西很熟,还要明白底层原理,我用了 redis,面试官就问了 redis 怎么实现),然后就问 java 基础,面了 40 分钟吧,然后就让我在外面等,过了一会,二面面试官来了。
试卷题目,只记得部分
一、简答题
1.浏览器访问一个网址的时候都有哪些过程(还要了解 DNS 查找的过程)
2.tcp 三次握手,四次分手
3.线程池
4.你了解的设计模式(面试官说什么单例模式就不用说了)
二、编程题
1.二分查找
2.树的中序遍历
三、智力题
给你一个 5L 和 3L 桶,水无限多,怎么到出 4L
二面
面试官问我觉得一面面的怎么样,我。。。。然后就看我做的试卷,我竟然连二分查找都写错,面试官说不对,然后我改了改就好了,然后面试官就问还有什么可以优化的地方吗?我只说出来一个。。然后又是自我介绍,说项目,问项目,问基础。差不多也是 40 分钟。
三面
过了几天,收到 3 面邮,应该是部门 boss,也是自我介绍,然后出了两个题。
1)一个 n*n 的矩阵,按副对角线打印
2)4 个瓶盖换 1 瓶酒,要和 150 瓶酒,他自己最少多少瓶?然后问了职业规划。感觉有 1 个小时。
hr 面
北京的电面,就随便聊聊。
58 现场面试(offer)
两面技术,一面 hr,然后就让我回来了。
技术一面
1.自我介绍
2.根据 58 笔试题,看着问的 服务器之间怎么通信,写了一个链表反转,项目中 nginx 怎么配置的,什么硬件条件可以实现多线程,什么情况下多线程才能发挥作用,mysql 索引底层是什么,b 树和 hash 应用场景 技术二面 讲项目,什么是乐观锁,以后的规划。
hr 面
1.项目流程
2.项目中遇到的问题,怎么解决
3.自己最大的缺点
4.喜欢和什么样的人合作,不喜欢和什么样的人合作
5.了解 58 吗
6.找工作有区域限制吗?家人支持吗
7.讲了讲学生活动,一个活动怎么组织的
8.有其他公司 offer 吗?
中兴(一面挂)
所有人在一个大厅里面,很多面试官,每个人两个面试官。
1.自我介绍
2.手撕代码 1)怎么写多线程 2)1,2,3,4 组成的不重复三位数,都用代码写出来
3 数据库会不会,我说可以,他问会什么,我说索引,然后让写 sql,让我建一个表,我说这种我都是百度的,然后让我写了两个查询
4.问项目
5.会 linux 吗?答不怎么用,会常用命令
6.愿不愿意转测试,答不愿意,问看不起测试吗?答不是,只是自己喜欢研发
7.意向城市,答成都,只有成都吗?答,嗯
滴滴(二面挂,现场面)
一面
1.一来就手撕代码,给你三个 string s1,s2 和 s3,判断 s3 能不能由 s1 和 s2 组成,s1 和 s2 内部元素相对位置不能变,比如 a 和 bc,可以组成的有 abc bac bca,我写的暴力的,在面试官的指导下改为了动态规划,不过最后还有不对的地方
2.自我介绍
3.hashcode 和 equals 区别
4.实现一个类,要求要放在 hashset 里
5.你了解哪些设计模式?我说了一些,然后让写了一个单例,我用枚举写了一个,感觉面试官不懂,说再写一个,然后写了一个双重检查的
6.你还有什么要问的?
二面
1.说项目,被批的很惨
2.写了四次分手的图,然后问若客户端和服务器之间,1s 会发生 5000 到 6000 次短链接,会发生什么问题
3.手撕代码,不断优化,最后应该是对了
4.你有什么问的吗?
招银网络(offer,现场面)
一面
-
自我介绍
-
问项目
-
用过 log4j 吗?把他输出到数据库用过吗?
-
一致性 hash,怎么解决 hash 冲突
-
除了写代码,有什么爱好
-
怎么保证写的代码出错少
-
写自己项目中类的函数声明
-
有没有遇到什么有印象的 bug
二面
项目,没什么好说的,反正问的很深,被怼死了。
hr 面
自我介绍;得过哪些奖;家是哪里;选公司的标准;抗压的能力;父母是做什么的,具体一点;父母对于你找工作的意见。
对开发工作的要求,我本来说的不想做 android,后来我问他们公司业务时,听 hr 的意思就是,如果一个项目用 c 写,你就用 c,如果用 c#,你就用 c#,如果是 ios,你又用 iso,具体用什么语言都不确定的,然后我就说我什么都愿意做。。。。就酱。
华为(offer,现场面)
一面
1.自我介绍
2.自己实现一个链表,写了以后也不说对不对
3.说项目,问了很多,还让画框架图
4.写生产者消费者代码,我用的阻塞队列
5.说我不适合研发,让转测试或资料
6.说发的论文的算法
二面
1.自我介绍
2.平时怎么提高自己的编程能力,我说刷题,他问频率,我说不忙的时候一天一次,然后他说既然刷那么多次,怎么笔试成绩还这么低。。。感觉自己给自己挖了一个坑
3.意向城市
4.自己的缺点,怎么改进
5.项目中遇到的最大的困难
6.在课题中遇到的最大困难
7.你们 4 人合作项目是怎么分工的
8.你有什么想问的
贝贝网
一面
1.自我介绍
2.java 同步机制有哪些
3.equals 和 hashcode 区别和联系
4.进程和线程讲讲
5.equals 和==区别
5.代码题,没让写,只说了思路,有 n 个长方形,每个的长宽为 x,y,从下往上堆,要求上面的长宽小于下面的长宽,求最多可以堆几层
6.在浏览器输入一个网址到得到页面的过程,越详细越好
二面
1.自我介绍
2.问项目,问的很深,还有什么可以改进的
3.同 1 面的 6 题
4.进程 vs 线程
5.平时怎么学习
6.写 sql
hr 面
hr 和二面在一起,先二面然后 hr 面
1.你本来不是杭州人,愿意来杭州工作吗?为什么
2.有关注杭州其他企业吗
3.周末平时干什么
4.还有什么问题