1、自我介绍
2、介绍一下项目(可以选择一个介绍)
3、问为啥使用规则引擎判断(我就开始介绍抽奖流程)
4、问这个规则树具体的实现方式,怎么进行判断的
5、问这个规则引擎这个判断是动态的还是写死的(我说在数据库中),有没有了解什么动态实现的方式
6、你说你不是写死的,你不是有个用户大于多少积分就在某个范围内抽奖,如果我想添加一个用户小于某个积分怎么动态的加在里边(我说在责任链中添加一个这样的逻辑判断)
7、在责任链里边添加怎么动态对外提供服务,或者说如果想要判断用户抽到的奖品只能在某个时间段内才行,这要怎么做
8、然后我说了一堆,后来扯到服务框架层面上了,问我是RPC对外提供的服务吗?
9、Redis消息队列和mq延迟队列怎么实现的,具体说说,mq延迟队列的实现方式都有什么?
10、然后问第二个项目,minio分布式文件系统中断点续传怎么做的?
11、问我minio中分布式文件是怎么存储的?按照文件名还是怎么回事
12、如果按照文件名的话,我传入相同的两个文件不会报异常吗?(我说不会,本来就是通过检测之前的文件是不是已经存在了,然后在上传另一部分)
13、继续追问,她说的两个相同的文件不是这个意思,是如果之前a文件上传一半不上传了,下次上传的也是a文件,但是只是命名相同,但不是之前的文件了,应该怎么办(我说,文件最终上传完之后会进行合并,合并之后会和原本需要上传的文件进行md5检验,如果最终检验通过才可以)
14、然后继续问,这个断点续传分块是怎么实现的
15、看我使用了线程池,问线程池的工作机制,然后问我使用的是什么线程池
16、问我线程池的工作队列都有什么?阻塞队列和普通的队列区别在哪里?
17、看我简历写了单例模式,让我介绍一下单例模式的具体应用场景?
18、手写单例模式的双锁模式,然后对我写的里边的代码的每行说一下为啥要这样写?写的原因是怎样的,举个例子说明,问我写的单例模式还会有什么问题?
19、问计算机网络,第三次握手失败会怎样?
20、写算法题:数组中重复的数字
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。找出重复数字。
21、我用HashSet实现的,问时间和空间复杂度,让我优化