高频面试题(数据库
数据库基础知识
1、为什么要使用数据库
2、什么是SQL?
3、什么是MySQL?
4、数据库三大范式是什么
链接:https://www.nowcoder.com/discuss/796495?channel=-1&source_id=discuss_terminal_discuss_history_nctrack&ncTraceId=90bbfaf19e13434f9c33caece91f9e4e.157.16371084281647604
来源:牛客网
-
用B+树的好处是什么
-
红黑树什么时候要变色
-
作者:Kris_Centy
链接:https://www.nowcoder.com/discuss/792822?source_id=profile_create_nctrack&channel=-1
来源:牛客网
-
事务隔离级别有哪些 分别解决什么问题
-
RR级别下怎么解决不可重复读的问题
-
怎么理解MVCC
-
RR级别下读到的快照读是哪个版本的快照
-
RR级别下怎么解决幻读的问题
-
慢SQL语句怎么调优
-
索引的数据结构有哪些
-
为什么用B+树不用B树 区别是什么
-
主流引擎有哪些 有什么特点 展开讲讲
-
事务的特性有哪些
-
InnoDB默认事务隔离级别是什么
数据类型
1、mysql有哪些数据类型
引擎
1、MySQL存储引擎MyISAM与InnoDB区别
2、MyISAM索引与InnoDB索引的区别?
3、InnoDB引擎的4大特性
4、存储引擎选择
1、什么是索引?
2、索引有哪些优缺点?
3、索引使用场景(重点)
4、索引有哪几种类型?
5、索引的数据结构(b树,hash)
6、索引的基本原理
7、索引算法有哪些?
8、索引设计的原则?
9、创建索引的原则(重中之重)
10、创建索引的三种方式,删除索引
11、创建索引时需要注意什么?
12、使用索引查询一定能提高查询的性能吗?为什么
13、百万级别或以上的数据如何删除
14、前缀索引
15、什么是最左前缀原则?什么是最左匹配原则
16、B树和B+树的区别
17、使用B树的好处
18、使用B+树的好处
19、Hash索引和B+树所有有什么区别或者说优劣呢?
20、数据库为什么使用B+树而不是B树
21、B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,
22、什么是聚簇索引?何时使用聚簇索引与非聚簇索引
23、非聚簇索引一定会回表查询吗?
24、联合索引是什么?为什么需要注意联合索引中的顺序?
1、什么是索引?
2、索引有哪些优缺点?
3、索引使用场景(重点)
4、索引有哪几种类型?
5、索引的数据结构(b树,hash)
6、索引的基本原理
7、索引算法有哪些?
8、索引设计的原则?
9、创建索引的原则(重中之重)
10、创建索引的三种方式,删除索引
11、创建索引时需要注意什么?
12、使用索引查询一定能提高查询的性能吗?为什么
13、百万级别或以上的数据如何删除
14、前缀索引
15、什么是最左前缀原则?什么是最左匹配原则
16、B树和B+树的区别
17、使用B树的好处
18、使用B+树的好处
19、Hash索引和B+树所有有什么区别或者说优劣呢?
20、数据库为什么使用B+树而不是B树
21、B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,
22、什么是聚簇索引?何时使用聚簇索引与非聚簇索引
23、非聚簇索引一定会回表查询吗?
24、联合索引是什么?为什么需要注意联合索引中的顺序?
链接:https://www.nowcoder.com/discuss/796495?channel=-1&source_id=discuss_terminal_discuss_history_nctrack&ncTraceId=90bbfaf19e13434f9c33caece91f9e4e.157.16371084281647604
来源:牛客网
-
可重入锁的实现原理是什么作者:Kris_Centy
链接:https://www.nowcoder.com/discuss/792822?source_id=profile_create_nctrack&channel=-1
来源:牛客网 -
进程和线程
-
进程和线程的应用场景是什么 举个例子
-
进程通信有什么方式 展开讲讲
-
有名管道和无名管道的区别是什么
-
共享内存 这块内存位于哪里
-
进程间资源访问互斥使用什么方法
-
信号量和信号有什么区别
-
信号一定是物理的吗 信号是谁负责处理的
-
操作系统是怎么进行进程调度的
-
讲讲虚拟内存原理和好处
-
使用虚拟内存和直接使用内存的区别是什么
-
讲讲内存管理和虚拟内存管理
-
操作系统处理缺页中断的淘汰算法有哪些
-
为什么使用TCP/UDP 怎么考虑的 优缺点是什么
-
如果使用UDP进行设计,丢包了怎么考虑
-
如果使用TCP怎么考虑
(1)Qt中信号和槽底层原理?
(2)Qt对事件的响应是同步的还是异步的?
(3)Windows和Linux编程有什么不同?比如应用层和系统层
(4)对于跨平台,你是怎么考虑兼容性的?
3 C++方面内容
(1)有virtual及=0的类,可以实例化?
(2)构造函数和析构函数,基类和派生类的执行顺序?
(3)C++哪个关键字可以终止继承?
(4)执行顺序问题?(1)类中声明时定义(2)构造函数体内(3)初值列初始化
(5)class A a = b;调用的什么构造函数?
(6)讲下移动构造函数?
(7)vector的底层原理?删除一个元素底层会做什么事情?
(8)set和unordered_set的底层原理?
(9)set和unordered_set是否保证遍历顺序为insert插入顺序?
(10)讲下预编译会执行那些操作?