听听我的废话

渣本一枚,在杭州读的大学,本来以为毕业之后会在杭州,但是!!!我是一个不走寻常路的人,毕业之后就去了深圳打拼,对这个城市就是莫名其妙的向往,不过人算不如天算,刚毕业心气太高,最终还是去一家小厂,虽然是小厂,但是福利待遇真的好的没法说,也有可能是我比较容易满足,好景不长,在疫情期间,这家我很满意的小公司没撑住,最后又误打误撞进入了华为的外包公司,待了两年,时间应该是算长的吧,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面试专题