2020java面试总结

博主背景:92年生,渣本毕业,java岗,经验接近6年,base上海

本文宗旨:本文旨在将博主最近的面试经历分享给大家,并作些总结,尽量为在准备面试的同学缩小面试准备的范围,或者至少让同学们知道现在企业都问些啥,以及一些面试的注意事项,希望对你有参考作用

本次面试情况:2020年7月中开始,持续3周多时间,面了13家,2家没过,1家意外,10家通过,如下:

1)拍拍贷,业务岗资深技术专家+基础架构部资深技术专家,技术五面(这家经历比较特殊,两个岗位都通过了,所以技术面了5轮)

2)平安普惠金融,职级C2,技术三面(通过)

3)微众银行,技术两面(通过),是博主现在的东家…(最近东家在扩张,请允许我发两个招聘链接,内推呦)
社招链接:http://webanknew.cheng95.com/position/searchbole_id=1392781&channel=1
校招链接:http://webanknew.cheng95.com/position/searchbole_id=1392781&channel=2

4)北京什么值得买,架构师岗(一面没过)

5)soul,高级java,技术三面(通过)

6)多点small,技术三面(通过)

7)萨摩耶数科,技术三面(通过)

8)中国电信,云计算部门,技术三面(挂在技术三面)

9)哈罗单车,技术两面(通过)

10)蚂蚁金服,国际事业群(就是出了意外的那家…技术一面+做题,当场面试官反馈通过,第二天出了幺蛾子,说是我们公司算他们资方,不能招,我当然认为是扯淡,后续跟猎头了解到,蚂蚁对资方企业的员工简历有几个月的冷冻期,非常遗憾,没见识到蚂蚁面试官的厉害…)

11)饿了么,风控部门,职级P7(饿了么P7只能对标阿里P6,P6+),技术三面(通过)

12)2345,架构师岗,技术三面(通过)

13)普洛斯,技术二面(通过)

我从面试题风格的角度出发,把面过的公司分分类,同时会附上遇到的技术题,大部分问题会附上一些线索,如果你感兴趣,希望可以自行去寻找答案。我会标注出一些高频题,这种题都是博主面试过程中多次遇到的,希望引起你的重视。另外,我会根据面试主题推荐一些相关的书籍、视频、专栏等资料,都是我看过并觉得不错的、并且对面试直接有用的学习资料,你可以根据自己的兴趣选择

文章最后,会给出一些技术题之外的注意事项,也很重要呦…

上面试题

>>问题有点刁钻的:2345一面

一面面试官的开场白是这样的:我们正在招一个高P的,实力够硬的架构师,来做我们中台的建设

说实话,博主自认达不到"高P"的水平,当时心里还是有点虚的,没办法只能硬着头皮上了,问题如下:

1.什么情况下hashMap会导致oom(除了一直put的情况):呃…这是什么套路,问问1.7和1.8的区别不是挺好吗,我已经背好了啊(呃…是理解),这才是第一题呀,为什么这么不友好

这题跳过,后面也懒得去查了,忘了它!

2.解释下DDD聚合根、聚合的含义:这是唯一一家问了DDD(领域驱动设计)的公司,博主对DDD的了解也仅限于理论的学习,当时给出的答案只能算勉强。国内使用DDD的公司并不多,可能是学习成本比较高的缘故,并且要想推行DDD,对团队成员要求都比较高,一旦碰到了使用DDD的公司,说明他们的技术要求挺高。如果你想学习DDD,不要上来就啃**《领域驱动设计》《实现领域驱动设计》这两本书,内容过于抽象,助眠效果甚好…可以先看看极客时间的《DDD实战课》**,通了后再考虑要不要去啃那两本书,关于DDD的学习,我得引用下王争老师在极客时间的专栏《设计模式之美》第11讲中的一段话:不过,我个人觉得,领域驱动设计有点儿类似敏捷开发、SOA、PAAS等概念,听起来很高大上,但实际上只值"五分钱。做好领域驱动设计的关键是看你对自己所做业务的熟悉程度,而不是你对领域驱动设计这个概念本身的掌握程度,即便你对领域驱动搞得再清楚,但是对业务不熟悉,也并不一定能做出合理的领域设计",所以不要花太多时间去研究它,但注意不是不研究,DDD作为一种架构设计方法论,比之于传统的架构设计方法还是有很大不同的,你需要去了解这种新的思路,最起码面试问到了,正好你又会这一块内容,你就比较有优势

3.mysql的binlog redolog undolog含义,如何配合保证一致性:这个在丁奇的**《mysql实战45讲》**中有详细说明,无论是DBA还是开发人员,这本"书"绝对不容错过,因为是专栏形式,每篇文章后都有答疑,你会发现有些答疑甚至比正文还要精彩,作者非常耐心的对每个提问作了回复,引导读者去思考,可谓谆谆善诱

4.mvcc存在的意义,事务中mvcc如何协调读和写的:**高频题!**这个在我的博文"隔离级别与mvcc的那些事"中有详细说明

5.ConcurrentHashMap如何做到在foreach时的线程安全

6.tcp的四次挥手过程,TIME_WAIT状态的意义、带来的问题、TCP的哪几个参数可以解决TIME_WAIT状态带来的问题:**高频题!**tcp的问题中,四次挥手比三次握手高频很多,问到四次挥手,TIME_WAIT肯定少不了;tcp常见的面试题不是很多,大概分为这几块:TCP四元组,三次握手、四次握手到底是在干啥、tcp如何保证可靠性、流控怎么做的,TIME_WAIT状态的含义及解决方案

7.netty的FastThreadLocal为啥比jdk的ThreadLocal快:因为技术栈里写了熟悉netty源码,所以问到,答案是数据结构不一样,前者为数组,后者为使用线性探测法的hashMap,感兴趣的童鞋可以看下源码

8.zk的一致性级别

9.redis cluster集群新增节点后,集群如何将slot迁移到新的节点,描述下这个过程:这个在**《redis设计与实现》的17.4节中有说明,由于看书时间过去了很久,答得不太好;《redis设计与实现》加上《redis深度历险》,这两本redis经典书籍**,即使你现在没时间看,后面也最好抽时间看看,看完再遇到redis面试题,

你可能感兴趣的:(面试,学习路线,阿里巴巴,android,前端,后端)