Linux运维开发⼯程师⾯试问题,持续更新中。。。Linux⾯试
数据存储
sql select 返回值
⽂件系统
什么是VFS?
vfs:linux虚拟⽂件系统,为各类⽂件系统提供了⼀个统⼀的操作界⾯和应⽤编程接⼝。VFS是⼀个可以让系统调⽤不⽤关⼼底层的存储介质和⽂件系统类型就可以⼯作的粘合层。
nfs
分布式⽂件系统
软硬连接
软硬连接的作⽤
软硬连接的⽬的是解决⽂件共享问题,同时还有隐藏⽂件路径、增加权限安全和节省存储的⽬的。
什么是软连接,什么是硬连接,有什么区别
软连接:保存了⼀个指向另⼀个⽂件的路径,软连接的⼤⼩就是⽂件路径的字符串⼤⼩。软连接特点:
1. 软链接,以路径的形式存在
2. 软链接可以跨⽂件系统
3. 软链接可以对⼀个不存在的⽂件名进⾏链接
4. 软链接可以对⽬录进⾏链接
硬连接:
指向同⼀个inode号的不同⽂件名,同⼀个⽂件使⽤多个别名
硬连接的特点:
1. 以⽂件副本的形式存在,但不占⽤实际空间
2. ⽬录⽆法创建硬链接
3. 硬连接不能跨⽂件系统
⾃动挂载
如何实现⾃动挂载,fastab 各字段的意义:
编辑/etc/fstab⽂件。每⼀⾏代表⼀个挂载指令,在开机时由系统⾃动挂载
fstab各字段的意义:
第⼀列:要挂载的设备,是绝对路径
c++字符串替换replace第⼆列:挂载点,即挂载到哪个⽬录下,也是绝对路径
第三列:⽂件系统类型;常见的linux⽂件系统类型如:ext系列、iso9660光驱、ntfs、swap等
第四列:挂载选项,常见选项:rw、ro、defaults、auto等
第五列:dump备份⼯具。检查⼀个⽂件系统应该以多快频率进⾏转储,若不需要转储就设置该字段为0第六列:fsck⽂件系统扫描检查⼯具。
Mysql
mysql的各个⼯作模块
sql的四⼤功能
SQL的四⼤功能:
1. 数据定义:DDL(data definition language),定义三⼤模式结构、两级映射、约束等。以CREATE、ALTER、DROP、COMMIT、
TRUNCATE等为主
2. 数据操作:DML(data manipulation language),增删改查等功能,以INSERT、UPDATE、DELETE、SELECT、LOCK等主为
3. 数据控制:DCL(data control language ),包括对基本表和视图的授权,完整性规则的描述,事务控制等内容,以GRANT、
REVOKE等为主
4. 嵌⼊式SQL的使⽤规定:涉及到SQL语句嵌⼊在宿主语⾔程序中使⽤的规则。
数据库左连接右连接
存储引擎
MyISAM和InnoDB的主要区别和应⽤场景
主要区别
1. MyISAM是⾮事务安全型的,⽽InnoDB是事务安全型的。
2. MyISAM锁的粒度是表级,⽽InnoDB⽀持⾏级锁定。
3. MyISAM⽀持全⽂类型索引,⽽InnoDB不⽀持全⽂索引。
4. MyISAM相对简单,所以在效率上要优于InnoDB,⼩型应⽤可以考虑使⽤MyISAM。
5. MyISAM表是保存成⽂件的形式,在跨平台的数据转移中使⽤MyISAM存储会省去不少的⿇烦。
6. InnoDB表⽐MyISAM表更安全,可以在保证数据不会丢失的情况下,切换⾮事务表到事务表
应⽤场景
1. MyISAM管理⾮事务表。它提供⾼速存储和检索,以及全⽂搜索能⼒。如果应⽤中需要执⾏⼤量的SELECT查询,那么MyISAM是更
好的选择。
2. InnoDB⽤于事务处理应⽤程序,具有众多特性,包括ACID事务⽀持。如果应⽤中需要执⾏⼤量的INSERT或UPDATE操作,则应
该使⽤InnoDB,这样可以提⾼多⽤户并发操作的性能。
事务
innodb的事务与⽇志的实现⽅式
事务的四种隔离级别
事务的四种隔离级别:
mysql面试题sql
READ UNCOMMITTED:⼀个事务对数据的修改,别的事务可以直接看到
catch的意思中文翻译READ COMMITTED:⼀个事务对数据修改后,提交完成,别的事务可以看到
REPEATABLE-READ:⼀个事务在提交前后,对数据的修改,别的事务都⽆法看到,但是⽀持两个事务同时对数据的操作。
SERIABLIZABLE:不⽀持事务并发,⼀个开启了事务,别的事务⽆法执⾏
⽇志
MySQL binlog的⼏种⽇志录⼊格式以及区别
Mysql的⼆进制⽇志格式:webstorm和idea的区别
基于语句:STATEMENT,对语句进⾏了简单的
基于⾏数据:ROW,有些数据在不同环境执⾏可能会有不同结果
混合:MIXED,musql⾃⾝提供鉴别机制,根据判断执⾏STATEMENT还是ROW
mysqldump
主从复制
主从复制原理:
主服务器打开⼆进制⽇志功能,将⼆进制⽇志中记录的事件,通过⼀个IO线程发送给从服务器;
从服务器打开⾃⼰的中继⽇志功能,接收主服务器的⼆进制⽇志,并保存到中继⽇志中,开启⼀个SQL线程进⾏重放操作,达到保存数据的⽬的。
这⾥为了保证主从服务器数据⼀致性,从服务器不接受任何本地的可以改变数据库数据的操作。
主从复制的意义:
1. 为数据提供备份
2. 提供数据库的⾼可⽤能⼒
3. 异地容灾
如何判断mysql主从是否同步
Slave_IO_Running
Slave_SQL_Running
读写分离
读写分离的实现:
在mysql主从集前有⼀个设备(mysql-proxy),对⽤户的操作进⾏分析,对读写操作进⾏分离,⽽且由于从服务器(提供读服务)不⽌⼀个,⼜要提供⼀个负载均衡器来进⾏连接分发。在主服务器上写操作,在从服务器只进⾏读操作,这种模型就成只为读写分离。
可提供更多能⼒:
缓存机制
从服务器负载均衡提供请求分发
读写分离的⽬的:为了缓解主服务器的读写压⼒,提⾼服务器的⾼可⽤能⼒,将从服务器对外开放,
但是⽤户只可以对进⾏读操作。
提⾼安全性。
mysql负载/瓶颈
MySQL数据库cpu飙升到500%,怎么处理?
500台db,在最快时间之内重启
java实现排序接口
innodb的读写参数优化
MySQL中InnoDB引擎的⾏锁是通过加在什么上完成(或称实现)的?为什么是这样⼦的?
⼀个6亿的表a,⼀个3亿的表b,通过外间tid关联,你如何最快的查询出满⾜条件的第50000到第50200中的这200条数据记录。
虚拟化
Docker
为什么使⽤docker

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。