首页 > PayPal数据库工程师社招面经分享
头像
蚊子见一只打一只
发布于 2021-08-15 22:59
+ 关注

PayPal数据库工程师社招面经分享

1.请简洁描述MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

SQL标准定义的四个隔离级别为:

read uncommited:读到未提交数据

read committed:脏读,不可重复读

repeatable read:可重读

serializable:串行事物

2.在MySQL中ENUM的用法是什么?

ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。

SQL语法如下:

Create table size(name ENUM('Smail,'Medium','Large'); 3. CHAR和VARCHAR的区别?

CHAR和VARCHAR类型在存储和检索方面有所不同。

CHAR列长度固定为创建表时声明的长度,长度值范围是1到255。

当CHAR值被存储时,它们被用空格填充到特定长度,检索CHAR值时需删除尾随

空格。

4.列的字符串类型可以是什么?

字符串类型是:

SET

BLOB

ENUM

CHAR

TEXT

VARCHAR

5. MySQL中使用什么存储引擎?

存储引擎称为表类型,数据使用各种技术存储在文件中。

技术涉及:

Storage mechanism

Locking levels

Indexing

Capabilities and functions.

6. TIMESTAMP在UPDATE CURRENT_TIMESTAMP数据类型上做什么?

创建表时TIMESTAMP列用Zero更新。只要表中的其他字段发生更改,UPDATE

CURRENT_TIMESTAMP修饰符就将时间戳字段更新为当前时间。

7.主键和候选键有什么区别?

表格的每一行都由主键唯一标识,一个表只有一个主键。

主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引

用。

8. MySQL数据库服务器性能分析的方法命令有哪些?

Show status一些值得监控的变量值:Bytes received和Bytes sent和服务器之间

来往的流量。Com服务器正在执行的命令。Created在查询执行期限间创建的临时

表和文件。Handler存储引擎操作。Select不同类型的联接执行计划。Sort_*几

种排序信息。Show session status like ‘Select’; Show profiles SET

profiling=1; Show profiles\G Show profile;

9. LIKE和REGEXP操作有什么区别?

LIKE和REGEXP运算符用于表示^和%。

SELECT * FROM <tablename> WHERE * REGEXP "^b"; SELECT * FROM <tablename> WHERE * LIKE "%b";  10. BLOB和TEXT有什么区别?

BLOB

BLOB是一个二进制对象,可以容纳可变数量的数据。有四种类型的BLOB

· TINYBLOB

· BLOB

· MEDIUMBLOB和

· LONGBLOB

它们只能在所能容纳价值的最大长度上有所不同。

TEXT

TEXT是一个不区分大小写的BLOB。四种TEXT类型

· TINYTEXT

· TEXT

· MEDIUMTEXT和

· LONGTEXT

它们对应于四种BLOB类型,并具有相同的最大长度和存储要求。

BLOB和TEXT类型之间的唯一区别在于对BLOB值进行排序和比较时区分大小

写,对TEXT值不区分大小写。

11.数据库的三范式?

第一范式:数据库表的每一个字段都是不可分割的。

第二范式:数据库表中的非主属性只依赖于主键。

第三范式:不存在非主属性对关键字的传递函数依赖关系。

12. MySQL表中允许有多少个TRIGGERS?

在MySQL表中允许有六个触发器,如下:

BEFORE INSERT

AFTER INSERT

BEFORE UPDATE

AFTER UPDATE

BEFORE DELETE and

AFTER DELETE

13.什么是通用SQL函数?

数学函数

· Abs(num)求绝对值

· floor(num)向下取整

· ceil(num)向上取整

 

字符串函数

· insert (s1,index,length,s2)替换函数

o S1表示被替换的字符串

o s2表示将要替换的字符串o Index表示被替换的位置,从1开始o Lebgth表示被替换的长度

· upper(str),ucase(str)将字母改为大写

· lower(str),lcase(str)将字母改为小写

· left(str,length)返回str字符串的前length个字符

· right(str,length)返回str字符串的后length个字符

· substring(str,index,length)返回str字符串从index位开始长度为

length个字符(index从1开始)

· reverse(str)将str字符串倒序输出

 

日期函数

· curdate()、current_date( )获取当前日期

· curtime()、current_time( )获取当前日期

· now()获取当前日期和时间

· datediff(d1、d2)d1和d2之间的天数差

· adddate(date,num)返回date日期开始,之后num天的日期

· subdate(date,num)返回date日期开始,之前num天的日期

 

 

聚合函数

· Count(字段)根据某个字段统计总记录数(当前数据库保存到多少条数据)

· sum(字段)计算某个字段的数值总和

· avg(字段)计算某个字段的数值的平均值

· Max(字段)、min(字段)求某个字段最大或最小值

14. MySQL中有哪几种锁?

MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁。

表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并

发量最低。

行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最

高。

15. MySQL数据优化。

16. MySQL的关键字。

添加索引:

alter table tableName add索引(索引字段)

主键:primary key

唯一:unique

全局:fulltext

普通:index

多列:index index_name

页级:引擎BDB。次锁定相邻的一组记录。

表级:引擎MyISAM, 理解为锁住整个表,可以同时读,写不行。 行级:引擎

INNODB, 单独的一行记录加锁,对指定的记录进行加锁,这样其它进程还是可以

对同一个表中的其它记录进行操作。表级锁速度快,但冲突多,行级冲突少,但速度

慢。

17.存储引擎。

18.数据库备份。


更多模拟面试

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐