Java中级面试题记录(三)

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

相关推荐
一点媛艺42 分钟前
Kotlin函数由易到难
开发语言·python·kotlin
姑苏风1 小时前
《Kotlin实战》-附录
android·开发语言·kotlin
奋斗的小花生2 小时前
c++ 多态性
开发语言·c++
魔道不误砍柴功2 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2342 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨2 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程2 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk3 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*3 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue3 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang