⽹络
1.TCP和UDP区别?
TCP是可靠传输,有错误重传机制,可以保证数据包有序完整的发送和接受,虽然安全,但是⽹络开销⼤
UDP是不可靠传世,没有确认机制,虽然不安全,但是速度快
2.三次握⼿与四次挥⼿过程
3.如果ping不通⼀个IP有什么排查思路?
公⽹IP: 按照TCP/IP四层协议从底层往上排查
1.⾸先排查⽹线和交换机是否正常⼯作
2.检查IP和⼦⽹掩码是否写错
3.ping⽹关看看是否正常
4.检查DNS是否配置正确
5.联系IDC⼈员协助排查,看看是不是机房⽹络抖动
内⽹IP:
1.⾸先排查⽹线和交换机是否正常⼯作
2.检查IP和⼦⽹掩码是否写错
3.ping⽹关看看是否正常
4.检查是否IP冲突
5.什么是⽹关和⼦⽹掩码
⽹关:
数据包发给谁,⽹关就是路由器的地址
⼦⽹掩码:
定义⽹络分类的,区分开⽹络位和主机位 8/16/24/32
255.0.0.0/8
255.255.0.0/16
255.255.255.0/24
255.255.255.255/32
10.0.0.100/24
255.255.255.0
6.IP地址如何分类?应⽤场景
A 10.0.0.0/8 ⽹络位少,主机位最多
B 172.16.0.0/16
C 192.168.1.0/24 ⽹络位最多,主机位最少,每个⽹络能容纳253台主机
7.⽹站打不开,有什么排查思路?
传统架构
K8s架构
数据库
MySQL
1.说⼀下主从复制原理
主库的更新SQL(update、insert、delete)被写到binlog
从库发起连接,连接到主库。
此时主库创建一个 binlog dump thread,把 bin log 的内容发送到从库。
从库启动之后,创建一个 I/O 线程,读取主库传过来的 bin log 内容并写到 relay log
从库还会创建一个SQL线程,从 relay log 里面读取内容,从 ExecMasterLog_Pos 位置开始执行读取到的更新事件,将更新内容写入到 slave 的db
2.主从复制有延迟是什么原因?
1.主库操作语句本来就慢,从库当然也很慢
2.主库系统负载繁忙或⽹络拥塞
3.从库机器性能低不如主库,导致回放语句速度慢
4.未开启GTID,导致dump传送数据是串⾏的
5.7 版本中GTID模式下,可以开启多个SQL线程,真正实现了并性回放
3.主从复制需要监控什么?
show slave status \G
线程状态、报错信息、主从延时情况
4.你们公司数据库数据量有多⼤?每天有多少增⻓
100G 备份半⼩时
10-20m 增⻓
5.数据库如何备份?有哪些备份策略?多久备⼀次?
100G 30分钟
mysql --master-data --single-transaction
6.mysql主从复制有⼏种模式?
binlog
GTID
延迟复制
过滤复制
7.数据库语句慢如何监控?如何排查?如何解决?思路是什么?
开启慢语句记录⽇志
ELK收集慢⽇志
使⽤执⾏计划查看慢语句是否⾛索引
将执⾏结果汇报给⽼⼤,或者询问开发决定是否增加索引
8.数据库都需要监控哪些内容?
#主从复制状态 show slave status \G #监控锁状态 show status like ‘innodb_rows_lock%’ select * from information_schema.innodb_trx; select * from sys.innodb_lock_waits; select * from performance_schema.threads; select * from performance_schema.events_statements_current; select * from performance_schema.events_statements_history;
#参数指标
内存、事务、线程、QPS、TPS、锁、等待、参数的评估指标。
9.数据库遇到过什么故障?如何解决的?
连接信息有误
⽹络故障
防⽕墙
最⼤连接数上线
10.MySQL MHA了解吗?说说原理,故障后如何切换,如何恢复?
搭建流程:
1.主2从独⽴节点、GTID
2. 互信
3.软连接
4.建⽤户5. 软件安装(perl\mananger\node)6. 启动检查: ssh repl7. 配置⽂件8. 启动9. vip\binlogserver\sendreport
Manager⼯具包主要包括以下⼏个⼯具:
masterha_manger 启动MHA
masterha_check_ssh 检查MHA的SSH配置状况
masterha_check_repl 检查MySQL复制状况
masterha_master_monitor 检测master是否宕机
masterha_check_status 检测当前MHA运⾏状态
masterha_master_switch 控制故障转移(⾃动或者⼿动)
masterha_conf_host 添加或删除配置的server信息
Node⼯具包主要包括以下⼏个⼯具:
这些⼯具通常由MHA Manager的脚本触发,⽆需⼈为操作
save_binary_logs 保存和复制master的⼆进制⽇志
apply_diff_relay_logs 识别差异的中继⽇志事件并将其差异的事件应⽤于其他的
purge_relay_logs 清除中继⽇志(不会阻塞SQL线程)
11.MySQL数据误删除如何恢复?流程是什么?如何防⽌此类事情发⽣?
全备+binlog
0.前端⻚⾯挂上维护信息
1.全备数据库时指定参数记录POST位置点
2.查看全备数据库的位置点,在测试环境恢复全备数据
3.截取binlog数据,提取出上⼀次全备到误删除命令之间的所有数据并导出
4.将binlog数据发送到测试恢复库并导⼊
5.验证恢复的数据是否完整,然后从测试库上将恢复数据导出并发送给主库
6.主库导出恢复数据
7.验证数据是否完整
12.你对MySQL做过哪些优化
1、主机、存储、⽹络、OS
2、实例: 参数
3、应⽤: SQL、索引、锁
4、架构: ⾼可⽤、读写分离、分布式
公司/业务/沟通
1.在公司遇到问题解决不了怎么办?
2.你在上架公司是如何展开⼯作的?
3.你们公司新项⽬从讨论到上线经历过哪些流程?
项⽬⽴项 --> 项⽬技术选型 --> 分配任务 --> 开发本地开发代码 --> 运维部署测试环境 --> 代码上线到
测试环境测试 --> 代码上线到预发布环境压测 --> 代码上线到⽣产环境 --> 持续监控
4.你们公司技术部有多少⼈?职位分别是什么?
5.刚进⼊⼀家公司你是如何展开⼯作的?
6.你的薪资都有哪些组成
1.基础⼯资
2.绩效⼯资
3.年终奖 1薪
4.五险⼀⾦
7.你为什么会离职?
离职的内⼼想法:
1.提升⾃⼰/学不到东⻄
2.钱不到位/加班严重
3.上家公司不正规,⽐如五险⼀⾦,谋求更好的机遇与发展,展现⾃⼰的平台
4.公司是旅游⾏业 疫情影响开不了⻔
5.疫情影响 停岗降薪
6.内⼼受到委屈/不喜欢领导/同事
7.⽗⺟身体不好离家近⼀点
站在⾯试官⻆度,为什么会问这个问题?
1.看这个⼈稳不稳定,以后会不会以同样理由离职
2.公司不想要⼀个频繁跳槽的⼈
3.看你情商在不在线,会不会说上家公司或领导的坏话
如何体现稳不稳定?看简历上的⼯作经历
1.与其1年 2家公司,不如写1年1家公司
2.最好每家公司⾄少⼲满1年
3.毕业不到⼀年的,直接说整个⼤三都在实习。
回答的思路:
原则:不要抱怨,不要发牢骚,不要说上家公司坏话
1.公司战略转移,总部要搬到xx去了,但是我还想留在北京发展
2.想去⼤城市发展,⼩地⽅太安逸,趁着年轻,想出来闯⼀闯
3.你陪着公司从0发展,⼀步⼀步⻅证了公司的架构从⼏台服务器发展到⼏⼗台,经历多次调整,架构已经稳定
了,运维流程也已经固定,短期内不会有⼤的变动
我想挑战更⾼难度的架构和复杂的应⽤场景,趁着年轻,想多经历⼀些不同⾏业的架构。
4.我在上⼀家公司积累了丰富的经验,我从⼩就有⼀个梦想,希望能进⼊xx⾏业,最近⼏年xx⾏业发展很好
5.因为疫情影响,公司决定放弃xx项⽬,战略性裁员,我们部⻔整体被裁/资产重组/投资⼈换⾎