当前位置: 首页 > news >正文

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

相关文章:

Java中级面试题记录(三)

1.职业规划? 2.每家公司离职原因? 3.SpringCloud用到了哪些组件? GateWayNacosOpenFeignSeataHystrix 4.PG和Mysql的区别? 5.两种数据库的存储区别? 6.MySQL索引了解的内容? 一口气搞定索引的所有知识…...

spring高级源码50讲-1-8(spring容器与bean)

文章目录 容器与 bean1) 容器接口演示1 - BeanFactory 与 ApplicationContext 的区别关键代码参考 收获💡演示2 - 国际化 2) 容器实现演示1 - DefaultListableBeanFactory代码参考 收获💡演示2 - 常见 ApplicationContext 实现代码参考 收获&#x1f4a1…...

微服务06-Dockerfile自定义镜像+DockerCompose部署多个镜像

常见的镜像在DockerHub能找到,但是我们自己写项目得自己构造镜像 1 镜像结构 作用:提高复用性,当应用需要更新时,不再是整个系统重装进行更新 ,而是对需要更新的部分进行更新,其他地方不动——>这就是分…...

2023高教社杯 国赛数学建模A题思路 - 定日镜场的优化设计

1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统, 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…...

Qt +VTK+Cmake 编译和环境配置(第二篇,中级篇, 重新编译)

1.下载VTK和Cmake 这里不介绍了。我的VTK 8.2.0 cmake 3.27.4 就是不服这编译器了。重新来一次 打开Cmake,把VTK源文件路径和目标路径设置一下(目标路径自己设置,随意) 点击Configure:。 点击下一步 选择好 Qt的gcc…...

图的学习,深度和广度遍历

一、什么是图 表示“多对多”的关系 包括&#xff1a; 一组顶点&#xff1a;通常用V&#xff08;Vertex&#xff09;表示顶点集合一组边&#xff1a;通常用E&#xff08;Edge&#xff09;表示边的集合 边是顶点对&#xff1a;(v, w)∈E&#xff0c;其中v,w∈V有向边<v, w&…...

ChatGPT驱动下,网站AI客服该如何进步和创新

在ChatGPT这个AI智能的驱动下&#xff0c;网站AI客服在进步和创新方面有很多潜力。由于GPT模型的强大语言处理能力和智能对话技巧&#xff0c;使得网站AI客服能够更准确和流畅地与用户交互。looklook今天总结了一些网站AI客服智能的进步和创新方向&#xff0c;以供大家参考。 网…...

Linux系统中实现便捷运维管理和远程访问的1Panel部署方法解析

文章目录 前言 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、文件管理、数据库管理、容器管理等下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理…...

数学建模黄河水沙监测数据分析

数学建模黄河水沙监测数据分析 问题&#xff1a; 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变化和人民生活的影响&#xff0c;以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾等方面都具有重要的理论指导意义。 解题思…...

Unity ProBuilder(自己创建斜面、拐角)

目录 基础操作 下载 打开面板 新增对象 材质保存 1.斜面实例 2.拐角实例 3.切割实例 4.单独面赋值 基础操作 下载 打开面板 新增对象 选中想创建的块体后&#xff0c;在编辑器见面拉出块体 材质保存 打开材质编辑器后&#xff0c;将材质赋值&#xff0c;之后&am…...

以气象行业为例,浅谈在ToB/ToG行业中如何做好UI设计

商业气象公司是典型的TOB/TOG性质的公司&#xff0c;客户包括农业、能源、航空航天、交通运输、建筑工程等行业&#xff0c;它们需要准确的气象数据、预报和分析来支持业务决策和运营管理。商业气象公司通常会提供各种气象服务&#xff0c;如气象数据采集与分析、预报产品、风险…...

shiny根据数据的长度设置多个色板

shiny根据数据的长度设置多个色板 library(shiny) library(colourpicker) ui <- fluidPage(# 添加一个选择颜色的下拉菜单uiOutput("color_dropdown") )server <- function(input, output) {# 数据长度data_length <- reactive({length(c("数据1"…...

2023高教社杯 国赛数学建模D题思路 - 圈养湖羊的空间利用率

1 赛题 D 题 圈养湖羊的空间利用率 规模化的圈养养殖场通常根据牲畜的性别和生长阶段分群饲养&#xff0c; 适应不同种类、不同阶段 的牲畜对空间的不同要求&#xff0c;以保障牲畜安全和健康&#xff1b;与此同时&#xff0c;也要尽量减少空间闲置所造成 的资源浪费。在实际…...

网络是如何进行通信

网络是如何进行通信的 简介 在现代社会中&#xff0c;网络已经成为我们生活中不可或缺的一部分。从上网搜索信息、在线购物到远程工作和社交媒体&#xff0c;我们几乎无时无刻不与网络保持着联系。但是&#xff0c;网络究竟是个什么玩意&#xff0c;它是如何工作的呢&#xf…...

vue3 watch watchEffect

watch & watchEffect 函数都是监听器, 用于监视数据的变化; watch 有惰性&#xff0c;watchEffect 无惰性&#xff1b;watch 需要指定具体的监视属性&#xff0c;watchEffect 不需要指定具体的监视属性和配置参数&#xff0c;会自动感知代码依赖&#xff1b;watch 能获取到…...

lintcode 1410 · 矩阵注水【BFS 中等 vip】

题目链接&#xff0c;描述 https://www.lintcode.com/problem/1410 给一个二维矩阵&#xff0c;每个grid的值代表地势的高度。水流只会沿上下左右流动&#xff0c;且必须从地势高的地方流向地势低的地方。视为矩阵四面环水&#xff0c;现在从(R,C)处注水&#xff0c;问水能否…...

软件架构设计(十) 架构评估(复审)-方法论

我们上一节讲到了为什么么要进行架构的评估, 以及架构评估有哪些质量属性,本节正式来学习架构评估的一些方法论。 再讲到架构评估之前,还需要了解几个概念,也就是风险点,非风险点,敏感点,权衡点等。 风险点:系统架构风险是指架构设计中潜在的,存在问题的架构策略所带…...

SQL注入案例

目录 一、简介 二、案例 1.发现注入点 2.寻找注入类型 3.寻找字段数 4.将传参值设为超出数据量的大值&#xff0c;联合查询找到回显位置 5.找到数据库 6.寻找库中的表 7.寻找表中列 8.查看表中数据 附&#xff1a;SQLMap注入 1.输入指令查数据库 2.输入指令查表 3…...

lv3 嵌入式开发-5 linux shell命令(进程管理、用户管理)

目录 1 进程处理相关命令 1.1 进程的概念 1.2 查看进程的命令 1.3 发送信号命令 2 用户管理相关命令 2.1 用户管理相关文件介绍 2.2 用户管理相关命令介绍 1 进程处理相关命令 1.1 进程的概念 进程的概念主要有两点&#xff1a; 进程是一个实体。每一个进程都有它自己…...

学习Bootstrap 5的第六天

目录 信息警告框 警告框 实例 警告框链接 实例 关闭警告框 实例 警告框动画 实例 按钮 按钮样式 实例 按钮轮廓 实例 ​编辑按钮尺寸 实例 块级按钮 实例 实例 活动/禁用按钮 实例 加载器按钮 实例 扩展小知识 按钮组 按钮组 实例 实例 垂直按钮组…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...