1.职业规划?
2.每家公司离职原因?
3.SpringCloud用到了哪些组件?
- GateWay
- Nacos
- OpenFeign
- Seata
- Hystrix
4.PG和Mysql的区别?
5.两种数据库的存储区别?
6.MySQL索引了解的内容?
一口气搞定索引的所有知识
7.MySQL索引为什么采用B+树?
8.MySQL写多读少的时候采用哪种结构?
9.非关系型数据库用的多吗?
Redis用的多、MongoDb使用过但是使用不多
10.MongoDb存储的是什么结构?
MongoDB是一个基于文档的数据库,将数据存储为JSON格式的文档。每个文档都是一组键值对,类似于JSON对象。MongoDB文档类似于JSON的BSON格式,可以存储复杂的数据结构。MongoDB支持查询语言,语法类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,还支持对数据建立索引
11.MongoDb的存储引擎?
12.注册中心为什么使用Nacos?
因为Nacos比Eurka更好用
13.Feign你们有做单独的配置吗?
- Feign中配置了httpclient连接池
- Feign中配置GZIP压缩参数
- Feign中配置了客户端的建立连接超时时间和读取资源超时时间等等
- Feign中自定义了异常解码器
- 修改了Feign中的日志级别
- 调用Feign的Decoder、Encoder配置自定义转换器 支持Geometry的序列化和反序列化
14.@FeignClient中有个configuration属性有使用过吗?
@FeignClient中的configuration属性用于指定Feign客户端的配置类,这个配置类可以提供各种参数和方法,以提供给该客户端使用。我们项目中是使用配置文件统一进行客户端属性设置的!
15.Feign的使用中有没有遇到什么问题?
项目中同事引入Feign后自己重新定义了轮询的负载均衡策略,导致测试环境中Feign偶尔出现找不到服务异常,删除对应的负载均衡策略配置后就正常了。
16.你对XX-job的二次开发做了哪些操作?
已经从简历里面删除了,不太熟悉
17.分布式锁为什么使用Redisson?
- 使用简单、只需要考虑加锁、解锁、不需要考虑锁的超时等问题
- Redisson不仅仅可以当作分布式锁还可以用作其它功能
18.Redisson使用分布式锁的缺点?
19.Zookeeper挂了之后提供者和服务者是否还可以通信?
可以,因为有本地缓存
20.项目中线程池为什么采用ThreadPoolTaskExecut?为什么不适用jdk提供的?
原则上来说都是可以使用的,不过ThreadPoolTaskExecut线程池是由Spring提供的,是对jdk中的线程池的扩展,提供了更加丰富的API,还可以给线程池对应的线程设置统一前缀名称,因为项目中肯定是离不开Spring的,因此我们肯定优先使用Spring提供的线程池了。
21.线程池的参数配置需要注意什么?自己有没有测试过?实践出真知!
最大线程数配置:
IO密集型:CPU核数/(1-阻塞系数)
CPU密集型:CPU核数*2
22.生产中部署使用的是k8s吗?对k8s熟悉吗?
了解一些
23.消息中间件除了RabbitMQ还是用过其它的吗?
用过mosquitto 对接设备时用过
24.RabbitMQ的死信队列有使用过吗?
消费者在消费生产者生产的消息时发生了某些特殊情况,导致消息无法被正常消费,存放这些未被消费的消息的队列即为死信队列
25.项目过程中哪些技术栈比较熟悉,有心得?对相关技术的原理有没有做了解?
26.分布式的任务调度框架,是如何做到分布式调度的?
27.分布式的任务调度框架使用时需要注意的点、可能会遇到哪些问题?
28.ORM框架比较熟悉哪些?JPA有使用过吗?
Mybatis、Mybatis-Plus
29.Mybatis的一级缓存和二级缓存有了解过吗?
30.单表多条件的查询,用Mybatis有哪些方法来实现?
31.数据库除了MySQL还有用到其它的吗?
PG
32.MySQL数据库哪些场景下不适合建立索引?
- 字段值区分不大
- 频繁更新的字段
- 查询条件用不到的字段
- 表的数据量太小
- 字段值无序的(比如UUID)
33.对GIS相关的值有做处理吗?
使用PG数据库中提供的函数计算坐标的距离
34.SpringCloud体系下面哪些组件在你们项目中有使用到呢?
- GateWay
- Nacos
- OpenFeign
- Seata
- Hystrix
35.日志采集你们项目用到哪些框架呢?
36.项目中的日志框架是什么呢?log打印出来的日志有没有进行汇总呢?
log4j2
37.对条件注入有了解吗?对具体的原理有做了解吗?有使用过哪个注解吗?
38.jdk的作用域的修饰符分别有哪些?各自的范围是什么?protect的作用域的是什么?默认的作用域是什么?
- private: 本类
- public: 所有类
- protect: 本类、同包类、其他包子类
- 默认:本类、同包类
39.接口里面可以有方法的实现吗?
可以,可以有默认方法、java8之后还可以有私有方法
40.抽象工厂模式熟悉吗?
JAVA设计模式(五)——抽象工厂模式
41.项目中使用过设计模式吗?使用场景是什么?
策略模式
42.针对上面的场景,使用策略模式有哪些关键的点?如何根据不同的策略执行不同的流程?
43.在多线程内,线程和线程之间进行数据交换,有哪些方法?
- 通过构造方法传递数据
- 通过ITL
- 通过变量和方法传递数据
- 通过回调函数传递数据
Java多线程:向线程传递参数的三种方法
44.DDD有做过了解吗?
领域模型设计
45.你了解哪些通信协议?Https协议熟悉吗?
- TCP
- UDP
- HTTP
- HTTPS
- MQTT
46.对于服务安全这一块,你了解哪些?
- 防注入
- 横向越权
- 纵向越权
- 越权访问
47.RestFul熟悉吗?说下你的理解?
什么是Restful风格?与传统的访问风格有什么不同?
48.docker的容器编排使用的是什么?
docker-compose