Java中级面试题记录(四)

一面面试题

1.Innodb的行数据存储模式

https://baijiahao.baidu.com/s?id=1775090633458928876&wfr=spider&for=pc

2.行数据包含哪些信息?

https://baijiahao.baidu.com/s?id=1775090633458928876&wfr=spider&for=pc

3.MySQL在进行存储VARCHAR的时候,如果存的长度和设计的长度不一致时,如何进行寻址的

在MySQL中,当你存储一个VARCHAR数据类型时,实际存储的长度是根据你实际存储的数据长度决定的,而不是根据你为该字段指定的最大长度。因此,当你存储长度小于最大长度的数据时,MySQL不会浪费空间来存储未使用的字节。
当你在查询数据时,MySQL会根据实际存储的数据长度来寻址。它会使用一个附加的字节来存储实际数据长度,这个字节位于VARCHAR值的前面。MySQL使用这个实际数据长度来定位到正确的字节位置,以便正确地读取和解析数据。
因此,即使你存储的字符串长度与你在表定义中指定的最大长度不一致,MySQL仍然能够正确地寻址和读取数据。

4.MySQL中行数据的null是如何存储的?

对于InnoDB存储引擎,NULL值在行数据中占用一个特殊的字节表示。这个字节被标记为“NULL”标志,以区别于其他类型的值。在查询数据时,MySQL会检查这个字节的状态,以确定该字段是否为NULL。

5.MySQL中null如何检索的?

在这里插入图片描述

6.MySQL中如何把null排在最前面?

在MySQL中,默认情况下,NULL值被视为最小值,即它们排在所有其他值的前面,也可以使用以下方法手动排序,
因为MySQL中不像Orcal支持nulls first和nulls last语法,因此可以改变写法实现指定Null的排序:

  • null排在前面: order by IF(ISNULL(my_field),0,1),my_field;
  • null排在后面: order by IF(ISNULL(my_field),1,0),my_field;

7.排序时,假如成绩表,对成绩排序,只想让80-90的排在最前面,怎么排?

方式一:
先将80-90分数的查询出来,然后使用UNION 关联剩余人员成绩
方式二:
排序时使用判断语句CASE ,给80-90分的设置一个最高的值 ,然后按照降序排列
方式三:
通过filed函数来进行指定排序

8.MySQL如何进行特定排序,比如将用户订单最多的排在最前面?如果客户和订单都比较多时排序?

先对订单表进行分组查询,统计出每个客户对应的订单数量并进行升序排列
然后在程序中补全客户信息

9.GROUP之后再进行排序,如何实现?

直接在SQL语句后边添加ORDER BY 语句

10.B+树的特别和B树的区别?

B+树的非叶子节点不会存储行数数据,B树的非叶子节点会存储行数据
B+的叶子节点是双向链表

11.组合索引查询数据的过程?

12.批量2000W条的数据弄到内存中处理,比如更新某一个字段的状态?

13.比如客户表2000W 订单表5000W ,要求10分钟内将客户的订单数量大于10的更新为1星客户?

14.慢查询SQL如何进行优化?单SQL就很慢,并且SQL已经没有优化空间了,该如何处理?

15.JAVA线程池的拒绝策略有几种?默认的是哪种?

16.线程池的阻塞队列类型有几种?

  • LinkedBlockingQueue
  • SynchronousQueue
  • ArrayBlockingQueue

17.我想先进来的任务最后执行?该用哪种类型的结构更合适?

LinkedBlockingDeque

18.线程之间的通讯(主线程和子线程)?

  • 用volatile变量修饰公共变量
  • 通过原子引用类的公共变量
  • 通过ITL或者TTL修饰的公共变量
  • 通过 Object类的 wait/notify 方法
  • 使用JUC包中的Condition的await方法让线程等待,使用signal方法唤醒线程
  • 使用LockSupport类中的park和unpark来实现

19.开启子线程的时候,想在子线程中获取主线程中结果?

  • 用volatile变量修饰公共变量
  • 通过原子引用类的公共变量
  • 通过ITL或者TTL修饰的公共变量

20.MQ除了RabbitMQ外还熟悉其它的MQ吗?

21.如何解决重复发送消息的问题?

每个消息都设置一个全局唯一标识,这样即使出现重复投递的现象,只要我们在消费端保证不重复消费就行

22.MyBatis的类型转换有没有做了解,项目中有用过吗?

地图字段、json类型字段

23.请求接口的加解密有用过吗,我想所有请求的请求参数和响应参数都加密该如何处理?

24.Springboot的自动装配?

Springboot项目启动后会扫描所有jar包里面META-INF文件夹下面的spring.factories文件,从文件中获取需要进行自动装配的类,然后再根据项目pom文件中引入的starter和配置文件中的配置自动生成对应装配的bean到ioc容器中。

25.@Configuration和@ConfigurationProperties区别?

@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法返回的对象将被纳入到IOC容器中
@ConfigurationProperties的作用是将配置文件中的相关配置与类中的属性进行绑定,便于读取或修改配置。

26.@Configuration和@Compoment的区别?@Compoment的类下面定义@Bean可以被扫描到吗?

被@Compoment修饰的类将会被纳入到IOC容器中
可以

27.Java的接口中是否可以存在普通方法?

可以

28.两个接口中存在一模一样的方法,一个类同时实现这个2个接口,可以吗?

可以

二面面试题

1.说一下项目的技术栈?Nacos的版本

2.项目中你主要负责的哪个部分?

3. 1.X的Nacos中的服务关闭后,但是nacos会有缓存,如果此时数据打到该该服务上,你们如何解决这个问题的?

4.你们项目里面如何排查生产问题在哪个服务?

5.项目中seata主要是解决什么场景的?

6.seata是如何保证数据的一致性,seata的工作原理?

7.微服务的服务降级如何进行配置的,什么情况下会进入到fallback里面去?

8.如何区分上游服务调用时是调用超时 还是自定义的业务异常?

9.分布式锁是如何实现的,使用redisson和自己用Redis写的分布式的区别在哪儿?

10.setnx 命令实现分布式锁和使用lua脚本实现分布式锁的区别是什么?

11.生产上FULLGC太频繁了,该如何进行优化呢?

在这里插入图片描述

12.为什么幸存者区会有2个,而且都比较小?

13.线程池使用有没有什么经验?最大线程数的设置?

14.让你设计一个动态的可配置的数据权限,你会怎么设置?

15.MQ如何保证不丢失消息?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/173175.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python:使用Scikit-image对遥感影像进行尺度空间特征提取(scale-space)

作者:CSDN @ _养乐多_ 在本博客中,我们将介绍如何使用Scikit-Image来进行尺度空间特征提取,并且提供一个示例代码,演示了如何在单波段遥感图像上应用这些方法。 尺度空间特征提取是一种处理图像的方法,旨在检测不同尺度下的特征和结构。这对于处理遥感图像非常有用,因为…

Hexo + NexT 博客评论系统(Valine)配置小记

这几天刚配置了船新的 Hexo 博客,然后看到使用的 NexT 主题支持很多评论系统。我尝试配置了一下,发现里面坑太多了,真的挺费周章。于是想水一篇分享一下~ 1. 为什么不是…… NexT 主题一共支持如下的几个评论系统: 其中我觉得最…

2023年第四届MathorCup大数据竞赛(A题)|坑洼道路检测和识别|数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2021年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 希望这些想法对大家的做题有一定的启发和借鉴意义。 让我们来…

UE VaRest 从本地读取写入JSON(蓝图)

写入简单JSON到本地项目目录 写入位置:项目根目录 文件名:writjson.Json 写入内容:{“ke1”:“key1value”,“ke2”:“ke2value”} 从本地项目目录加载json 加载位置:项目根目录 文件名:writjson.Json 加载内容&…

React-快速搭建开发环境

1.安装 说明:react-excise-01是创建的文件名 npx create-react-app react-excise-01 2. 打开文件 说明:we suggest that you begin by typing:下面即是步骤。 cd react-excise-01 npm start 3.显示

python—openpyxl操作excel详解

前言 openpyxl属于第三方模块,在python中用来处理excel文件。 可以对excel进行的操作有:读写、修改、调整样式及插入图片等。 但只能用来处理【 .xlsx】 后缀的excel文件。 使用前需要先安装,安装方法: pip install openpyxl…

RabbitMQ (4)

RabbitMQ (4) 文章目录 1. 死信的概念2. 死信的来源3. 死信代码案例3.1 TTL 过期时间3.2 超过队列最大长度3.3 拒绝消息 前言   上文我们已经学习完 交换机 ,知道了几个交换机的使用 ,下面我们来学习一下 死信队列 1. 死信的概念 先从概念解释上搞清楚这…

Wpf 使用 Prism 实战开发Day01

一.开发环境准备 1. VisualStudio 2022 2. .NET SDK 7.0 3. Prism 版本 8.1.97 以上环境,如有新的版本,可自行选择安装新的版本为主 二.创建Wpf项目 1.项目的名称:MyToDo 项目名称:这里只是记录学习,所以随便命名都无所谓,只要觉得合理就…

数据清洗与规范化详解

数据处理流程,也称数据处理管道,是将原始数据转化为有意义的信息和知识的一系列操作步骤。它包括数据采集、清洗、转换、分析和可视化等环节,旨在提供有用的见解和决策支持。在数据可视化中数据处理是可视化展示前非常重要的一步,…

CN考研真题知识点二轮归纳(1)

本轮开始更新真题中涉及过的知识点,总共不到20年的真题,大致会出5-10期,尽可能详细的讲解并罗列不重复的知识点~ 目录 1.三类IP地址网络号的取值范围 2.Socket的内容 3.邮件系统中向服务器获取邮件所用到的协议 4.RIP 5.DNS 6.CSMA/CD…

python随手小练8(南农作业题)

题目1: 输入3 门课程 a,b,c 的成绩,求 3 门成绩的总和平均值(整数,四舍五人)以及最高和最低值。如果3门课程考试成绩分别以权重 0.50.3 和0.2计人总评成绩(整数先求总和再四舍五入),则最终总评成绩是多少? 具体操作: a float(input("a:")) b float(in…

Element 多个Form表单 同时验证

一、背景 在一个页面中需要实现两个Form表单,并在页面提交时需要对两个Form表单进行校验,两个表单都校验成功时才能提交 所用技术栈:Vue2Element UI 二、实现效果 三、多个表单验证 注意项: 两个form表单,每个表单上…

2017年亚太杯APMCM数学建模大赛B题喷雾轨迹规划问题求解全过程文档及程序

2017年亚太杯APMCM数学建模大赛 B题 喷雾轨迹规划问题 原题再现 喷釉工艺用喷釉枪或喷釉机在压缩空气下将釉喷入雾中,使釉附着在泥体上。这是陶瓷生产过程中一个容易实现自动化的过程。由于不均匀的釉料在烧制过程中会产生裂纹,导致工件报废&#xff0…

https下载图片

OpenSSL用法示例 OpenSSL源码安装 对于ubuntu,懒得编译源码可以直接安装 sudo apt-get install libssl–dev /usr/include/openssl/ssl.h CMakeLists中添加 link_libraries(ssl crypto) apt-get安装不需要再制定libssl.a, libcrypto.a的路径了, 就像用libc标…

【算法|动态规划 | 01背包问题No.1】AcWing 426. 开心的金明

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程&a…

node模块导出引入两种方式和npm包管理

模块化的好处 在 Node.js 中每个文件都被当做是一个独立的模块,模块内定义的变量和函数都是独立作用域的,因为 Node.js 在执行模块代码时,将使用如下所示的函数封装器对其进行封装 (function(exports,require,module,__filename,_dirname){//…

C# | Chaikin算法 —— 计算折线对应的平滑曲线坐标点

Chaikin算法——计算折线对应的平滑曲线坐标点 本文将介绍一种计算折线对应的平滑曲线坐标点的算法。该算法使用Chaikin曲线平滑处理的方法,通过控制张力因子和迭代次数来调整曲线的平滑程度和精度。通过对原始点集合进行切割和插值操作,得到平滑的曲线坐…

CNN 网络结构简介

本文通过整理李宏毅老师的机器学习教程的内容,介绍 CNN(卷积神经网络)的网络结构。 CNN 网络结构, 李宏毅 CNN 主要应用在图像识别(image classification, 图像分类)领域。 通常,输入的图片大小相同&am…

【开源】基于SpringBoot的计算机机房作业管理系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登录注册模块2.2 课程管理模块2.3 课时管理模块2.4 学生作业模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程表3.2.2 课时表3.2.3 学生作业表 四、系统展示五、核心代码5.1 查询课程数据5.2 新增课时5.3 提交作…

Jupyter Notebook还有魔术命令?太好使了

在Jupyter Notebooks中,Magic commands(以下简称魔术命令)是一组便捷的功能,旨在解决数据分析中的一些常见问题,可以使用%lsmagic 命令查看所有可用的魔术命令 插播,更多文字总结指南实用工具科技前沿动态…