2018 秋招 java 后台妹子面经
作者:倾听潮汐
1
、关于我
...................................................................... 2
1.1
自我介绍
............................................................. 2
1.2
复习过程
............................................................. 2
2
、面经
--
排名按面试时间
............................................ 4
3
、
知识点
.................................................................... 9
3.1.
问到过的问题(包含答案)
.............................. 9
3.2
没问到过的问题(包含答案)
........................ 64
4
、后记
...................................................................... 100
1
、关于我
1.1
自我介绍
本人妹子,985 硕士,211 本科,专业都是软件工程,一直投的是 java 后台开发,只投
过一次网易的测试,技术不是大牛,但是比较努力。实验室没有项目,so 项目经验是 0,在
去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。最开始先看的
java 基础,看的毕向东的视频,后面就看框架视频,后来也看过尚硅谷的视频,都是在网上
找的免费的。《剑指 offer》刷了一遍,有些重点的题一定要滚瓜烂熟。《大话设计模式》
《mysql 必知必会》《程序员面试金典》《java 并发编程实战》《计算机操作系统第三版》
《计算机网络》都看了一遍,《深入理解 java 虚拟机》看了两遍。《java 编程思想》《Java
数据结构和算法中文第二版》《Spring 技术内幕:深入解析 Spring 架构与设计原理(第 2 版)》
《Struts2 in action 中文版》《tcp 详解卷一》挑的重点看。现在觉得最后悔的是 leetcode 没
有刷,有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没
有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会
用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。我主
要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司
有几十家,我认为多面几家公司可以多增加一点面经。多关注自己学校的 bbs,有很多内推
信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个 offer 都是内推的(美团
和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是
建议还投的时候还是都投,先拿一个心里有底。
1.2
复习过程
说明:全部自学,没有项目经验,没有实习经历。
研二的时候看见师兄他们找工作很困难,在研二的时候,差不多 5、6 月份就把 java
基础视频看了一遍,在牛客网上刷了一点题,后来要写论文,java 复习就不了了之了。正
式复习是从今年 4、5 月份开始的,还是先看 java 的基础视频,把视频的所有东西都挨着敲
了一遍,当然看到后面的时候就会发现前面的也忘得差不多了,这是肯定的,解决办法就是
再看。看了基础视频之后就开始刷《剑指 offer》,他是 c++写的,然后在牛客网上也可以
刷,可以用 java 写了,检查编译什么的,我就在上面把所有题都刷了一遍。在刷这个的时
候,也开始看 spring 和 springMVC 的视频,我都是在尚硅谷上下的免费的。然后看了《深
入理解 Java 虚拟机:JVM 高级特性与最佳实践(最新第二版)》,每一章都要认真看,每
一章都是重点。Jvm 调优的那部分,我只是看了,没有自己实践,关于 OOM,我自己实验
了一次,面试的时候被问到过 2、3 次。然后看了《java 程序员面试宝典》。在看这些的过
程中,也一直在牛客网上刷题,我刷的主要都是和 java 相关的题目,目的是加深记忆。有
时间一定要刷刷 LeetCode 的题,感觉刷了和没刷差别真的很大,刷了之后笔试通过率会高
很多。然后上篇面经中提到的其他书都挨着挨着看。
关于
项目
,我是在慕课网上找的,我跟着视频都敲了一遍。面试的时候会问到很多自
己从来没有考虑过的问题,每次问到不会的问题之后,就记下来,下来查好了,可能下次还
会问。慕课网上其他视频也还不错,有时间都可以看看。
关于
投递简历
,我是从 7 月份开始关注河畔的就业信息栏的,里面有很多的信息,几
乎每天早上来实验室第一件事就是刷河畔,看有没有招聘信息,我是不论公司大小,不论公
司在哪里,我都投。投内推一定要抓紧,我投了成都美团内推之后的 2、3 天,我的室友想
投,然后就被告知美团成都已经满了,只有其他城市的,所以时机还是很重要。给别人邮箱
发邮件的时候,一定要写好你的基本信息,包括姓名、电话、意向岗位、性别、意向城市等。
校招的时候填简历真的很恶心,东西很多,几乎每个公司都要填。我建议可以拿一个本子或
者自己做一个 Excel 来记录投的公司和流程,这样心里有数一些。
关于
面试
,一般内推都是电话面试,只遇到过一次视频面试。开始还是很紧张,后来
面多了就好了。我内推的时候电话面试没有被要求过写代码的,但是快排说了很多次,都是
问的基础,问的很深。有些面试官,比如阿里的就是不把你问到你说不出话来,他是不会停
的。有的面试官感觉有一个问问题的单子,然后他就照着那个单子在问。每一次面试都是一
个查漏的机会,都会出现很多自己不会的问题,包括一些你认为你会的问题,面试官问深了,
你还是不会。每次面试完,我都把问题记下来,把不会的都查一遍。
关于
其他计算机基础
,网络,3 次握手,4 次分手的图一定要会。https 的过程,tcp/ip,
http 相关问题被问的也很多。操作系统,问过计算机的缓存,其他的没有什么映像了。数据
结构,排序是基础,要滚瓜烂熟,推荐一个网址
http://blog.csdn.net/hguisu/article/details/7776068/,链表相关(判断有没有环之类的问
题),二叉树(B+,B*,B-,平衡二叉树),图(深度遍历,广度遍历)都要会。算法里
面贪心和动态规划要会,感觉很多代码题都涉及这些,这个只有多刷题,多写代码,木有其
他捷径。推荐一个左神的书《程序员代码面试指南—IT 名企算法与数据结构题目最优解》,
我没有买这本书,主要是我都是很晚才知道左神的,听了他的几次课,感觉受益匪浅,如果
我很早就知道,我应该会买他的书看的。关于 java 底层,多看
jdk 源码
。
复习是一个很乏味的过程,贵在坚持!!
关于找工作,自己的实力当然很重要,但我觉得心态和运气也很重要。当你被某个公
司拒了之后,也不用灰心,很多面试都是玄学,我觉得题目都回答上了,然而还是被刷了。
保持好的心态,在加上好好复习,再来点运气,完美!!好的 offer 会有的!!
分割线------------------------------------------------------------------------------------------
2
、面经
--
排名按面试时间
只记得这些公司了
蚂蚁金服-内推的,面了 3 面技术,1 面 hr(在池子中泡了 3 个多月,最后还是
gg 了)
一面
这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说
什么
1.自我介绍(说的很乱)
2.序列化的底层怎么实现的
3.synchronized 的底层怎么实现的
4.tomcat 集群怎么保证同步
5.了解 nosql 吗?redis?
6.怎么解决项目中超卖的问题
7.int 的范围
8.有什么想问的?我问对于没有实现经验和实际项目经验的,阿里会考虑吗?面
试官说对于应届生,阿里还是最看重基础。我:你们平时怎么学习技术?面试官:
从实际项目中学习。。。
面完之后,面试官说我基础可以,给我过,我能走多远就不知道了,反正很谢谢
这位面试官,给我的秋招增加了很多信心,毕竟是阿里的面试官说我基础可以。
偷笑.jpg
二面
清楚的记得二面是在晚上 7 点左右,刚走到教研室楼下,看见是杭州的电话,顿
时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到 5 楼,然后
喘着粗气进行自我介绍。。尴尬
1.问了项目中超卖的问题怎么解决
2.你熟悉什么数据结构
3.说说快排,我说了快排实现的过程,相当于口述代码,然后问了复杂度
4.int 的范围,我说的是 2 的-31 次方到 2 的 31 次方-1,面试官说具体点,我就
不知道了,后来查到是-2147483648~2147483647
5.乐观锁 vs 悲观锁
6.gc
7.concurrenthashmap 分段锁的细节
8.设计模式怎么分类,每一类都有哪些
9.并发包里了解哪些
10.b 树,b+树,b*树
11.字节与字符的区别
三面
一二面只隔了 2,3 天,三面和二面隔了 2 周,当时一直以为自己挂掉了,接到电
话也很突然
1.自我介绍
2.项目
3.知道哪些服务器?答:JBoss,Apache,weblogic。问:区别?
4.java 有什么后端技术
5.springIOC 优点
6.jdk 动态代理 vscglib 动态代理,他们底层分别怎么实现的
7.synchronizedMap 知道吗?他和 concurrenthashmap 分别使用于什么场景?
8.https 过程?公钥能用公钥解吗?在客户端抓包,看到的是加密的还是没加密
的?当时乱猜的加密,面试官说不对,是没加密的
9.描述一下 java 线程池。
10.怎么保证 redis 和 db 中的数据一致
11.设计模式怎么用到项目中?
12.类加载
hr 面
不记得 3 面和 hr 面之间间隔多久了,也是晚上 6,7 点收到的电话
1.自我介绍
2.有什么优点?
3.有什么缺点?
4.项目中遇到的困难?怎么解决
5.意向城市
时间已经过去太久了,只记得这么多,可能有些问题不是阿里面试官问的,但都
是在面试过程中遇到的,希望能帮到更多的人。
携程(offer)内推-只有一次视频面
1.链表的定义
2.怎么实现链表翻转
3.怎么判断链表是否有环
4.二叉平衡树,怎么用一维数组存储
5.讲讲 jvm 分区
6.讲讲 jvm gc
7.怎么求数组的最大子序列和
8.final 关键字 4 种用法
9.sleep 用法
10.await 关键字
11.线程池
12.spring ioc,aop 以及其优点
13.栈和堆的定义
现在记得的只有这么多了。
美团成都提前批(收到 offer)
在河畔上看到的内推消息,然后就发了邮件,3、4 天后,收到邮件让去公司面试,在
天府三街附近。