数据库这块应该和我们常用的应用框架spring / mybatis一样,都是伴随着程序员一直在使用的技术。所以在面试的时候,数据库的面试也是比较常见的领域。
目前市面上比较主流的开源关系型数据库应该是Mysql,其次是一些偏传统类业务(政企、电信、银行)会使用oracle比较多。但是不管是mysql还是oracle,
他们都遵循国际SQL的统一标准规范,所以除了数据库本身的一些特性之外,在使用层面来说本质上都差不多,特别是对于程序员来说,日常打交道最多的应该是DDL/DML。
其次是一些表的设计;像触发器、存储过程这些在传统类业务的公司会用得较多一些。最后应该就是日常优化类的操作,比如索引、查询优化、表结构优化、事务等。基本上来对于
程序员来说,数据库在面试的过程中应该不会是一个特别难的领域。
[0.数据库范式有哪些?分别对应什么场景?哪些范式我们可以不遵守]
[2.varchar和char的区别以及分别在什么场景中使用]
[3.视图是什么?为什么需要视图?视图能够提升查询效率吗?]
[4.count(*)、count(1)、count(column)有什么区别?]
[5.什么是索引?mysql中提供了哪些索引? 你是如何创建索引的? 哪些字段适合创建索引?]
[8.Mysql数据库默认的事务隔离级别是什么?以及它有哪些事务隔离级别]