听听我的废话
渣本一枚,在杭州读的大学,本来以为毕业之后会在杭州,但是!!!我是一个不走寻常路的人,毕业之后就去了深圳打拼,对这个城市就是莫名其妙的向往,不过人算不如天算,刚毕业心气太高,最终还是去一家小厂,虽然是小厂,但是福利待遇真的好的没法说,也有可能是我比较容易满足,好景不长,在疫情期间,这家我很满意的小公司没撑住,最后又误打误撞进入了华为的外包公司,待了两年,时间应该是算长的吧,21年底我辞职了,在家过了一个很舒服的年,年后就开始着手准备面试,好像还没说我面试的是哪家公司,没错,是我读大学的城市杭州,面试的是阿里,回到原点,也提醒我自己勿忘初心,好了,现在进入正题
阿里面试真题(3轮技术面 + 1轮HR )
先晒一下我的offer,你们也沾沾喜气
一面(电话面+后期在线coding)
①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表?
②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到了,使用场景是什么?为什么要使用?
③spirng 源码。
④rocketMq 的设计理念,数据存储,设计思想等。
⑤ConcurrentHashMap的底层实现原理
⑥你线上问题解决经验是什么?遇到了什么问题?应该怎么去解决?
⑦在线编码: 两个有序链表,合并成一个链表,然后进行算法的时间复杂度,空间复杂度分析。
二面(电话面+后期在线coding)
①tcp协议和uDP 协议的区别是什么?
②3次握手和4次挥手的过程是什么样的?
③怎么保证接口的幂等性?
④mysql的存储引擎的数据结构是什么?相比其余的数据结构,有什么优缺点?
⑤说一下你对SprinGCloud,SpringBoot,Spring的理解
⑥java 在编译和运行过程中分别作了什么?
⑦在线编码: 给定一个字符串,单词之间以空格分隔,要求里面的单词倒装过来。
三面(电话面,技术交叉面)
①介绍一下sprinGCloud 的组件,各组件的作用,你们是怎么用,你的理解是什么?
②sprinGCloudbus 关联的消息中间有几种?支持哪几种?你觉的什么场景下,会用到sprinGCLoudBus?
③sprinGCloud里面的限流,限流是怎么内部实现的?怎么去挡住多余的请求,怎么实现限流的(线程池的工作原理)?
④什么时候该用mongoDB,什么时候使用mysql?该如何选择?
⑤你做过的项目数据量有多大呢?如果现在数据量特别大,或者一张表一种放不下了,应该怎么处理?分布分表应该怎么做?具体的某一张表怎么拆?(涉及到主键生成,各种主键生成策略对比,数据分片,以及关联数据的存储,主从复制)
⑥java 官方提供的创建的线程池的方式有几种?分别是什么?
⑦你们使用的java 版本是什么?java最新的版本是多少?你们为什么还在使用java8呢?
⑧你们的垃圾回收器是什么的? 为什么是使用CMS而不是G1? 你能介绍一下像CMS垃圾回收器,从对象创建,内存分配到垃圾回收整个过程吗?
⑨介绍一下策略模式,应该怎么用? 它能解决什么问题?从编码领域系统设计方,介绍一下我们怎么去实现一个策略模式?
我的面试总结(有需要本文面试题点击此处获取)
送大家一句话,也是我一直很喜欢的一句话
你的努力,终将成就你自己
面试之前我复习的资料,在我面试成功之后,我也有好好整理一遍,有需要的自取,我是分技术块整理的,这也马上四月份了,也算是在面试前好好的突击一下
总目录
- 23种设计模式
- Dubbo面试
- Linux面试
- Mybatis专题
- MySQL专题
- Netty面试专题
- 等等
23种设计模式
Dubbo面试
Linux面试
Mybatis专题
MySQL专题
Netty面试专题