高频面试题,自己码住(数据库

作者:牛客483402811号
链接:https://www.nowcoder.com/discuss/381351?type=all&order=time&pos=&page=1&ncTraceId=&channel=-1&source_id=search_all_nctrack
来源:牛客网

数据库基础知识
1、为什么要使用数据库
2、什么是SQL?
3、什么是MySQL?
4、数据库三大范式是什么
5、mysql有关权限的表都有哪几个

6、MySQL的binlog有有几种录入格式?分别有什么区别?

1、Mysql索引类型
2、为什么要用b+树而不是红黑树或者b树
3、事务的隔离级别 解决了什么问题
4、讲讲MVCC MVCC在Mysql里 能彻底解决幻读吗
5、最左索引原则 联合索引是一棵b+树还是多颗
  1. 用B+树的好处是什么

  2. 二叉树平衡二叉树红黑树的性质和特点是什么

  3. 红黑树什么时候要变色
  4. 事务隔离级别有哪些 分别解决什么问题

  5. RR级别下怎么解决不可重复读的问题

  6. 怎么理解MVCC

  7. RR级别下读到的快照读是哪个版本的快照

  8. RR级别下怎么解决幻读的问题

  9. 慢SQL语句怎么调优

  10. 索引的数据结构有哪些

  11. 为什么用B+树不用B树 区别是什么

    1. 主流引擎有哪些 有什么特点 展开讲讲

    2. 事务的特性有哪些

    3. 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、事物的四大特性(ACID)介绍一下?
3、什么是脏读?幻读?不可重复读?
4、什么是事务的隔离级别?MySQL的默认隔离级别是什么?


1、对MySQL的锁了解吗
2、隔离级别与锁的关系
3、按照锁的粒度分数据库锁有哪些?锁机制与InnoDB锁算法
4、从锁的类别上分MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了
5、MySQL中InnoDB引擎的行锁是怎么实现的?
6、InnoDB存储引擎的锁的算法有三种
7、什么是死锁?怎么解决?
8、数据库的乐观锁和悲观锁是什么?怎么实现的?

视图
1、为什么要使用视图?什么是视图?
2、视图有哪些特点?
3、视图的使用场景有哪些?
4、视图的优点
5、视图的缺点
6、什么是游标?

存储过程与函数
1、什么是存储过程?有哪些优缺点?

触发器
1、什么是触发器?触发器的使用场景有哪些?
2、MySQL中都有哪些触发器?

常用SQL语句
1、SQL语句主要分为哪几类
2、超键、候选键、主键、外键分别是什么?
3、SQL 约束有哪几种?
4、六种关联查询
5、什么是子查询
6、子查询的三种情况
7、mysql中 in 和 exists 区别
8、varchar与char的区别
9、varchar(50)中50的涵义
10、int(20)中20的涵义
11、mysql为什么这么设计
12、mysql中int(10)和char(10)以及varchar(10)的区别
13、FLOAT和DOUBLE的区别是什么?
14、drop、delete与truncate的区别
15、UNION与UNION ALL的区别?

SQL优化
1、如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
2、SQL的生命周期?
3、大表数据查询,怎么优化
4、超大分页怎么处理?
5、mysql 分页
6、慢查询日志
7、关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
8、为什么要尽量设定一个主键?
9、主键使用自增ID还是UUID?
10、字段为什么要求定义为not null?
11、如果要存储用户的密码散列,应该使用什么字段进行存储?
12、优化查询过程中的数据访问
13、优化长难的查询语句
14、优化特定类型的查询语句
15、优化关联查询
16、优化子查询
17、优化LIMIT分页
18、优化UNION查询
19、优化WHERE子句

数据库优化
1、为什么要优化
2、数据库结构优化
3、MySQL数据库cpu飙升到500%的话他怎么处理?
4、大表怎么优化?某个表有近千万数据,CRUD比较慢,如何优化?分库分表了是怎么做的?分表分库了有什么问题?有用到中间件么?他们的原理知道么?
垂直分表
适用场景
缺点
水平分表:
适用场景
水平切分的缺点
5、MySQL的复制原理以及流程
6、读写分离有哪些解决方案?

7、备份计划,mysqldump以及xtranbackup的实现原理
8、数据表损坏的修复方式有哪些?


分布式
1.分布式锁怎么用的
2.讲讲redis的持久化吧 说说AOF 是先记录指令还是先存数据 如果中间发生断网怎么避免数据遗失
3.redis用作缓存时,如何解决缓存与数据库值不一致问题

操作系统:
程序向操作系统申请一块新内存空间的过程;
  1. 可重入锁的实现原理是什么作者:Kris_Centy
    链接:https://www.nowcoder.com/discuss/792822?source_id=profile_create_nctrack&channel=-1
    来源:牛客网

  2. 进程和线程

  3. 进程和线程的应用场景是什么 举个例子

  4. 进程通信有什么方式 展开讲讲

  5. 有名管道和无名管道的区别是什么

  6. 共享内存 这块内存位于哪里

  7. 进程间资源访问互斥使用什么方法

  8. 信号量和信号有什么区别

  9. 信号一定是物理的吗 信号是谁负责处理的

  10. 操作系统是怎么进行进程调度的

  11. 讲讲虚拟内存原理和好处

  12. 使用虚拟内存和直接使用内存的区别是什么

  13. 讲讲内存管理和虚拟内存管理

  14. 操作系统处理缺页中断的淘汰算法有哪些



数据结构
map和unordered_map的区别,使用场景;

计算机网络
  1. 为什么使用TCP/UDP 怎么考虑的 优缺点是什么

  2. 如果使用UDP进行设计,丢包了怎么考虑

  3. 如果使用TCP怎么考虑

TCP 和 UDP 这两个工作在哪一层
TCP怎么保证可靠传输
如果丢包了 发送方怎么知道丢包了
一个完整的报文传输过来了怎么验证这报文有没有问题
讲讲TCP拆包的方式
HTTPS相比HTTP多了什么 
SSL工作原理
HTTPS本质上是个什么形式的加密算法
双方怎么保证非对称加密的公钥安全
CA证书上有什么内容
客户端拿到公钥之后要做的事情是什么
对称密钥是谁生成的



(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)讲下预编译会执行那些操作?




参考链接:


#学习路径#
全部评论

相关推荐

10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
评论
3
49
分享
牛客网
牛客企业服务