自我介绍
本人三年开发,985 硕士,211 本科,专业都是软件工程,一直投的是 Java 后台开发,只投过一次网易的测试,技术不是太牛,但是比较努力。实验室没有项目,so 项目经验是 0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。
复习经历写在文末
关于复习最后悔的是 leetcode 没有刷,有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。
我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注一些技术群,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个 offer 都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。
排名按面试时间
蚂蚁金服(内推)
面了 3 面技术,面 hr (在池子中泡了 3 个多月,最后还是 gg 了)。
一面
这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么。。。
-
自我介绍(说的很乱)
-
序列化的底层怎么实现的
-
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.一来就手撕代码,给你三个 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.你有什么想问的
面试前我是如何“啃”书复习,刷题提升的
面试前一段时间我不断找资料学习,也通过很多渠道和朋友要到一份美团架构师写的 Java 面试宝典(284 篇)我把美团架构师给我的一份 Java 面试宝典啃完了,从而还找了 Java 后端以及一些大厂的面试场景和面试题不断刷题提高自己的眼界
Java 核心面试宝典复习知识
这本 Java 核心知识把每个知识点解析的很深,对大家应该很有帮助,它把大部分的 Java 知识集结在一起深入的解析出来(非常建议大伙看一看)
这本文档覆盖了 JVM、锁、并发、Java 反射、Spring 原理、微服务、Zookeeper、数据库、Redis、数据结构、算法、大数据等大量知识点。
Java 部分:Java 基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java 算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis 缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker
求来的大厂面试场景(为了学习提升可以没脸没皮,啊哈哈哈)
我针对这些大厂的面经场景也找了很多题刷,对自身的提升也是非常大(还特意要了份面试答案)
面试答案
既然是要面试,那么就少不了刷题,实际上面试前,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
根据自身面试经历整理以及不断收集的(珍藏版)
相关的电子书、底层源码
阿里巴巴面试必备知识想进大厂的朋友们可以获取看看(对面试进大厂帮助很大)
对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与 offer 失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。
以上内容中所有的学习资料、面试资料,均可以免费提供,点击此处无偿下载一份!希望面试顺利,拿下自己心仪的 offer!