搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Monodyee
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
度学习pytorch实战六:ResNet50网络图像分类篇自建花数据集图像分类(5类)超详细代码_resnet图像分类
2
【数据结构】(c语言)链式串的实现
3
直方图尖峰python_直方图、密度图、散点图,python数据可视化方法,你要的都在这里...
4
win10下 docker 配置python pytorch深度学习环境_win10创建docker python
5
OpenAI惊天100小时,事件全记录
6
MBTI与团队合作:如何根据性格类型打造高效团队?(包含开源免费的API)
7
扫雷游戏实现超详细讲解——C语言_扫雷展开规则实现
8
hive正则匹配总结_hive正则表达式匹配字符串
9
Linux spring boot项目远程部署 遇到的问题以及解决_linux 发布springboot项目,用域名无法访问
10
QWidget/QToolBar::addAction的设计真是绝妙_qwidget addaction
当前位置:
article
> 正文
面试高频问题----2
作者:Monodyee | 2024-06-05 15:30:04
赞
踩
面试高频问题----2
一、Mysql底层数据结构是什么?
MySQL 默认的存储引擎 InnoDB 采用的是 B+ 作为索引的数据结构,原因有:
B+ 树的非叶子节点不存放实际的记录数据,仅存放索引,因此数据量相同的情况下,相比存储即存索引又存记录的 B 树,B+树的非叶子节点可以存放更多的索引,因此 B+ 树可以比 B 树更「矮胖」,查询底层节点的磁盘 I/O次数会更少。
B+ 树有大量的冗余节点(所有非叶子节点都是冗余索引),这些冗余索引让 B+ 树在插入、删除的效率都更高,比如删除根节点的时候,不会像 B 树那样会发生复杂的树的变化;
B+ 树叶子节点之间用链表连接了起来,有利于范围查询,而 B 树要实现范围查询,因此只能通过树的遍历来完成范围查询,这会涉及多个节点的磁盘 I/O 操作,范围查询效率不如 B+ 树。
二、线程池参数有哪些?
1.核心线程数:线程池中保持存活的最小线程数,即使它们处于空闲状态也不会被销毁
2.最大线程数:线程池中允许的最大线程数。如果任务量超过核心线程数且队列已满,则线程池会创建线程直到达到这个最大值
3.空闲线程的存活时间:当线程池中的线程数量超过核心线程数时,多余的空闲线程在终止之前等待新任务的最长时间。
4.时间单位:用于指定keepAliveTime参数的时间单位,可以是TimeUnit枚举中的任意值
5.工作队列:用于存储等待执行的任务的队列
6.线程工厂:用于创建新线程的工厂,可以自定义线程的创建方式,比如设置线程名称,线程优先级
三、进程、线程和协程的区别:
进程:1.进程是操作系统分配资源的基本单位
2.每个进程都有自己独立的内存空间和系统资源
3.进程间通信(通过管道、信号、消息队列、共享内存等)通常涉及内核级别操作,相对较慢;
4.进程是操作系统级别的并发实体,通常由操作系统调度和管理
线程:1.线程是操作系统调度的基本单位,但它是进程内的执行流
2.同一进程内的多个线程共享该进程的内存空间和系统资源
3.线程间通信通常比进程间通信更快,因为它们共享相同的内存空间
4.线程切换的开销比进程的开销小,因为操作系统只需要保存和加载线程的上下文,而不需要保存和加载整个进程的上下文
协程:1.协程是一种用户态的轻量级线程,由程序员在代码中显示地管理和调度
2.协程可以在单线程内实现非阻塞或异步I/O操作,从而提高程序的并发性能
3.协程的切换和调度完全由用户程序控制,不需要操作系统接入,因此切换开销小
4.协程实现方式有多种:生成器/异步I/O库和第三方库
四、为什么要三次握手?
1.确认双方的发送和接收能力
2.防止已失效的连接请求报文对后续正常连接的影响
3.同步双方的初始序列号值
4.防止重复连接
五、Mysql如何定位慢查询?
1.开启慢查询日志
2.设置慢查询阈值:默认情况下,超过10s的查询被记录为慢查询
3.指定慢查询日志文件的路径
4.查看慢查询日志
5.分析慢查询日志
6.排序和分析
7.定期轮转和清理慢查询日志
六、优化慢查询语句
1.避免使用SELECT***,只选择需要的字段,而不是使用SELECT
2.避免在WHERE子句中使用函数或运算
3.优化数据类型;使用合适的数据类型可以减少存储空间来提高查询性能
4.分区表:对于非常大的表,可以考虑使用分区来提高查询性能
5.调整缓存大小;调整日志设置如:关闭不必要的日志等
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Monodyee/article/detail/677073
推荐阅读
article
C++
设计
模式
-
策略
模式
,
AI
角色动态
选择
行为...
C++
设计
模式
-
策略
模式
C++
设计
模式
-
策略
模式
,
AI
角色动态
选择
行为 ...
赞
踩
article
FreeRTOS
——
keil
配置环境
_
keil
freertos
...
新建
FreeRTOS
工程—软件仿真在开始新建工程之前,我们先在本地电脑端新建一个文件夹用于存放工程。文件夹名字我们取...
赞
踩
article
spring
suite
gitlab
使用手册...
GitLab是一个功能丰富的开源代码管理平台,基于Git进行版本控制,并提供了一系列用于团队协作、项目管理、持续集成/持...
赞
踩
article
STM32F103RCT6
-- 软
中断
_
stm32
软
中断
...
定时器,软
中断
,异常,硬件
中断
,
中断
,异常,调用该函数就会进入
中断
svc 0 // 0是软
中断
号(异常号),可以自定义s...
赞
踩
article
PTA
数据结构
与算法分析 36-7-36
社交
网络图
中
结点
的
“
重要性
”
计算
(30 分)_pta
社交
...
7-36
社交
网络图
中
结点
的
“
重要性
”
计算
(30 分)在
社交
网络
中
,个人或单位(
结点
)之间通过某些关系(边)联系起来。...
赞
踩
article
设计
模式
之
观察者
模式
(
C++
)_qt
观察者
模式
...
介绍设计
模式
之
观察者
模式
_qt
观察者
模式
qt
观察者
模式
作者:翟天保Steven 版权声明:...
赞
踩
article
前端
面试
被问到
网络
安全
怎么办?7 种
前端
安全
攻击
大解析!_
前端
面试
预防
安全
问题
...
最近有个同学
面试
的时候被问到了特别多相关的
问题
:对于我们很多开发者来说,写代码一般都会只考虑业务,对于
安全
方面的
问题
确实...
赞
踩
article
【
LeetCode
】132.
分割
回文
串
II_
字符
串
s
,
请你将
s
分割
成一些子
串
,
使每个子
串
都...
给定一个
字符
串
s
,将
s
分割
成一些子
串
,使每个子
串
都是
回文
串
。返回符合要求的最少
分割
次数。示例:输入:"aab"输出...
赞
踩
article
【
UnityRPG
游戏制作】
NPC
交互逻辑、
动
玩法_
unity
设置接近
npc
触发
动
画
...
NPC
逻辑相关_
unity
设置接近
npc
触发
动
画
unity
设置接近
npc
触发
动
画
...
赞
踩
article
Springboot搭配
PageHelper
实现
分页
查询_
springboot
pagehelp
...
最近遇到个需要将前端页面展示数据进行
分页
处理;最开始想的是从controller中返回所有数据到前端thymleaf页面...
赞
踩
article
软件测试
学习
路线
,
我
的
软件测试
学习
晋级之路......_
软件测试
学习
路径...
这里没有用例设计
,
没有测试分析
,
没有性能测试
,
没有自动化
,
更没有单元测试和接口测试
,
仅仅从测试—>发现bug
的
过程中看看...
赞
踩
article
跨境
人必读:X(原
Twitter
)
和
Facebook
区别
是
什么?...
了解
Twitter
和
Facebook
的区别
是
制定有效社交媒体策略的关键。
跨境
电商卖家应该根据自身的产品特性、目标市场
和
营...
赞
踩
article
从
0
到
1
学习
FreeRTOS
:
FreeRTOS
内核应用开发:(四)
FreeRTOS
的
启动
流程
_
讲...
从
0
到
1
学习
FreeRTOS
:
FreeRTOS
内核应用开发:(四)
FreeRTOS
的
启动
流程
1
、未到主函数之前: 我...
赞
踩
article
大数据最全【
Verilog
HDL】
FPGA
-
test
bench
基础知识
(1)_
fpga
基础入门 ...
define 标识符 字符串 //注意句末无分号对于上述led闪烁模块,需要产生一个时钟信号给它,为了方便进行全文的修改...
赞
踩
article
解决Module
not
found
: Error: Can‘t
resolve
‘
sass
-loa...
解决Module
not
found
: Error: Can't
resolve
'
sass
-
loade
r
' in '*...
赞
踩
article
HTML
转义字符
对照表(部分)_
xe683
;
...
使用方法,在html中以 " 举例实体: &
;
quot
;
十进制: &
;
#34
;
十六进制: &
;
#x...
赞
踩
article
社交
革命
的
引领者
:探索
Facebook
的
创新策略...
随着数字技术
的
不断演进和
社交
媒体行业
的
不断发展,
Facebook
将继续发挥
引领者
的
作用,推动
社交
媒体行业
的
进步和发展。作...
赞
踩
article
android
仿
微信
demo
————
微信
消息
界面
实现(服务端
,
2024年最新
kotlin
桌面程序...
总而言之
,
Android开发行业变化太快
,
作为技术人员就要保持终生学习的态度
,
让学习力成为核心竞争力
,
所谓“活到老学到老...
赞
踩
article
【愚公系列】
软考
中级-
软件
设计师 051-
面向对象
技术(
设计
模式
-
结构型
)_24年
软考
中级原题
代理
...
设计
模式
是在
软件
设计领域中,为解决常见问题而被反复使用、被广泛认可的一种设计思想。它是一种经过实践验证的,被认为是最佳解...
赞
踩
article
7
-36
社交
网络图
中
结点
的“
重要性
”
计算
(30 分)_
7
-12
社交
网络图
中
结点
的“
重要性
”
计算
...
#include
#include
#include
#includ...
赞
踩
相关标签
c++
设计模式
策略模式
算法
游戏
stm32
学习
嵌入式硬件
gitlab
单片机
mcu
iot
观察者模式
安全
前端
面试
unity
游戏引擎
PrueMVC
mvc
java
idea
spring boot
javascript