Java后端985硕士的面试总结(美团+阿里+携程+招银+华为+附笔记)

前言

本人985硕士,211本科,专业都是软件工程,一直投的是java后台开发,只投过一次网易的测试,技术不是大牛,但是比较努力。实验室没有项目,so项目经验是0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。

我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注一些技术群,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个offer都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。

而金三银四马上就到了,很多工程师朋友准备跳槽,那么现在就可以开始多看看面试题啦,我去年面试后整理了两份比较有全的面试题,除此之外还有大厂面试全解。

如果对本次分享的这些面试+笔记+书籍感兴趣,可以转发+私信 “笔记” 免费获取,小编会一一回复!

排名按面试时间。

蚂蚁金服(内推)

面了3面技术,面hr (在池子中泡了3个多月,最后还是gg了)。

一面

这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么。。。

自我介绍(说的很乱)序列化的底层怎么实现的synchronized的底层怎么实现的tomcat集群怎么保证同步了解nosql吗?redis?怎么解决项目中超卖的问题int的范围有什么想问的?我问对于没有实现经验和实际项目经验的,阿里会考虑吗?面试官说对于应届生,阿里还是最看重基础。我:你们平时怎么学习技术?面试官:从实际项目中学习。。。面完之后,面试官说我基础可以,给我过,我能走多远就不知道了,反正很谢谢这位面试官,给我的秋招增加了很多信心,毕竟是阿里的面试官说我基础可以。

二面

清楚的记得二面是在晚上7点左右,刚走到教研室楼下,看见是杭州的电话,顿时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到5楼,然后喘着粗气进行自我介绍。。尴尬

问了项目中超卖的问题怎么解决你熟悉什么数据结构说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度int的范围,我说的是2的-31次方到2的31次方-1,面试官说具体点,我就不知道了乐观锁vs悲观锁gcconcurrenthashmap分段锁的细节设计模式怎么分类,每一类都有哪些并发包里了解哪些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面

北京的电面,就随便聊聊。

招银网络(offer,现场面)

一面

自我介绍问项目用过log4j吗?把他输出到数据库用过吗?一致性hash,怎么解决hash冲突除了写代码,有什么爱好怎么保证写的代码出错少写自己项目中类的函数声明有没有遇到什么有印象的bug

二面

项目,没什么好说的,反正问的很深,被怼死了。

hr面

自我介绍;得过哪些奖;家是哪里;选公司的标准;抗压的能力;父母是做什么的,具体一点;父母对于你找工作的意见。

对开发工作的要求,我本来说的不想做android,后来我问他们公司业务时,听hr的意思就是,如果一个项目用c写,你就用c,如果用c#,你就用c#,如果是ios,你又用iso,具体用什么语言都不确定的,然后我就说我什么都愿意做。。。。就酱。

滴滴(二面挂,现场面)

一面

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,现场面)

一面

1.自我介绍

2.自己实现一个链表,写了以后也不说对不对

3.说项目,问了很多,还让画框架图

4.写生产者消费者代码,我用的阻塞队列

5.说我不适合研发,让转测试或资料

6.说发的论文的算法

二面

1.自我介绍

2.平时怎么提高自己的编程能力,我说刷题,他问频率,我说不忙的时候一天一次,然后他说既然刷那么多次,怎么笔试成绩还这么低。。。感觉自己给自己挖了一个坑

3.意向城市

4.自己的缺点,怎么改进

5.项目中遇到的最大的困难

6.在课题中遇到的最大困难

7.你们4人合作项目是怎么分工的

8.你有什么想问的


以上就是参加的所有面试总结,总而言之,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,高效的时间支配能让你变得更加优秀。

----------

无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上,而忽略了人事部分,实际上人事面试也会影响到最终的结果,把每一个环节做好,最终的结果自然不会差。在这总结一些java面试中常问的面试问题,由于过多答案文字已总结成文档

如果对本次分享的这些面试+笔记+书籍感兴趣,可以转发+私信 “笔记” 免费获取,小编会一一回复!