1.我看你做过LVS,说一下你对LVS的理解?
2 DR模式和NAT模式的区别。优缺点
3.MySQL数据库也玩过是吧,说一下主从复制原理?
4. binlog里面日志格式有哪些,有什么区别?
基于row格式和基于SQL语句的格式紧张说反了,被纠正了
5. nginx里面,配upstream的时候,长连接要你配你会怎么配
6. 计算机网络的tcp和udp说一下
7. tcp是状态机里面,closedwait和 timewait说一下,区别
8 . 来个场景题把,当upsteam到后端的时候,后端没有关闭连接会怎么样?
这里题目好像没有听懂,答了502状态码,然后讲了一下tcp连接里面,会定时发送窗口探测报文,然后把它关闭
9. 聊一下CPU,内存,io,网络,这些把
10 .内存的话,开辟内存,使用malloc和mmap()开辟,他们的区别是什么
11 那我们聊一下负载,uptime和top,那三个数字是怎么,怎么算出来的,怎么判断健康
12 磁盘Io怎么看
13 说一下Linux里面,进程和线程的区别
14 Python里面进程,线程怎么用,GIL?
15 文件系统说一下,ext4与xfs的区别
EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。
(1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB
(2)理论上支持无限数量的子目录
(3)Ext4文件系统使用64位空间记录块数量和i-节点数量
(4)Ext4的多块分配器支持一次调用分配多个数据块
XFS (1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
(2)采用优化算法,日志记录对整体文件操作影响非常小
(3) 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间
(4)能以接近裸设备I/O的性能存储数据
16.在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。
1)默认不带参数情况下,ln命令创建的是硬链接。
2)硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同。
3)ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
4)删除软链接文件,对源文件及硬链接文件无任何影响;
5)删除文件的硬链接文件,对源文件及软链接文件无任何影响;
6)删除链接文件的原文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);
7)同时删除原文件及其硬链接文件,整个文件才会被真正的删除。
8)很多硬件设备中的快照功能,使用的就类似硬链接的原理。
9)软连接可以跨文件系统,硬链接不可以跨文件系统。
进程和线程的区别
进程的定义:程序运行时的情况,进程是程序的一部分,进程是有生命周期(准备期,运行期,终止期)的,程序是静态的文件(代码),进程是程序的一个副本。
进程和线程的区别
(1)进程是资源调用的最小单位
(2)线程是进程的最小单位,也是程序执行的最小单位
注意:程序执行流是从上到下贯穿运行的,进程是多任务,CPU是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程,线程的资源是共享的。
1、客户端浏览器通过DNS解析到www.baidu.com的IP地址202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3、客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,无非就是通过查找路由表决定通过那个路径到达服务器。
4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
事件顺序:
(1) 浏览器获取输入的域名www.baidu.com
(2) 浏览器向DNS请求解析www.baidu.com的IP地址
(3) 域名系统DNS解析出百度服务器的IP地址 (详细介绍DNS)-通过网关出去
(4) 浏览器与该服务器建立TCP连接(默认端口号80)
(5) 浏览器发出HTTP请求,请求百度首页
(6) 服务器通过HTTP响应把首页文件发送给浏览器
(7) TCP连接释放
(8) 浏览器将首页文件进行解析,并将Web页显示给用户。
Session和cookie分别是什么,是用来干什么的,说明两者的区别;
cookie和session都是用来跟踪浏览器用户身份的会话方式。
(1)cookie数据存放在客户的浏览器上,session数据放在服务器上
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
(4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
(5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中
1.df 命令如何查看 文件系统的格式 df -T df 主要是一个查看系统磁盘挂载情况的命令
2.free 命令中的 ***是什么? 查看内存的使用情况 free -m
3.Python里面的os模块的使用
https://blog.csdn.net/chao199512/article/details/81771357
从速度快慢 安全性能 语法的学习 模块使用 操作的用户
6.如何使用vi命令替换一个字符串
:%s/原字符/替换字符/g %全文的行 g 全文的列
1,5s/:/##/g 1到5行
/adm/,/sync/s/:/##/g adm到sync之间的;换成#
7.http的状态码
$?是什么什么意思 输出结果
10.Lvs的dr模式
11.轮询模式都有哪些
12.Docker的启动方式,删除docker容器的方式
13.Yum数据库损坏如何恢复
https://blog.csdn.net/weixin_43215948
https://blog.csdn.net/weixin_43215948/article/details/106682312
16.Ps指令如何查看具体进程的pid
pgrep -u uid
17.Netstat中的u是啥意思,t是啥意思
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。
18.如何使用sed命令删除一个含有abc的行
sed -e '/abc/d' 文件名
19.用linux的防火墙做了什么,现在还在做么?
最重要的区别就是版权问题,redhat的红帽图标是有版权的,centos是redhat的社区版。redhat里面有收费服务,而centos里面没有。
6.LVS的三种模式
7.LVS的三种模式的优缺点
8.LVS的三个模式里,RS(Real server)的回应报文那些经过了LVS
9.Keepalived介绍下你使用它做了什么,怎么实现的。
10.Docker和传统虚拟机的区别是什么
11.Docker是怎么实现隔离的?
12.Kubernetes介绍一下,有什么优势
13.Docker和传统虚拟机的优势和缺点是什么
14.问一下网络,交换机和路由器的区别?
15.路由器和交换机关注的重点是什么。。(其实HR问的是交换机怎么维护一个地址转发表,但当时没get到点)
16.路由协议了解那些?答:rip,ospf,bgp
17.你给我介绍下rip和ospf的区别
18.你给我讲一下ospf的Dr***过程(我cue错了点,说到正尽兴被打断了。。)
常用有哪些网络诊断工具答:ping,traceroute,tcpdump
ping: 使用这个命令判断网络的连通性
这个命令用来查看当前建立的网络连接
tcpdump
(dump traffic on a network)是一个强大的命令行抓包工具,千万不要被它的名称误导以为只能抓取tcp包,它能抓任何协议的包
route命令用于查看和修改路由表:
ping命令用于探测两个主机间连通性以及响应速度,而traceroute会统计到目标主机的每一跳的网络状态(print the route packets trace to network host),这个命令常常用于判断网络故障,比如本地不通,可使用该命令探测出是哪个路由出问题了。
20.给我讲一下traceroute,tcpdump实现的原理?
21.traceroute给我讲一下它是如何在ttl过期后,得知发送下一个报文的?
22.ping作用是什么?如果ping不通,可能原因是?(送分了,可能怕我尴尬。。)
23.ansible使用它做过什么?
24.使用ansible管理主机的优势和缺点?
25.使用ansible能做什么?(开个脑洞)
26.用过ansible同类软件么?
一面
1.vim的使用,如何删除整个文件内容,如何复制粘贴,如何到达行首
:%d yy gg
2.yum命令都是用的什么源,阿里的有用么?
3.uptime命令和top命令问了一些
4.如何使用shell脚本精确查到一个使用80端口的进程并杀掉
10 #!/bin/bash
11 read -p "please input a port number:" port
12 pid=$(netstat -antlupe |grep :$port | awk '{print $7}' | awk -F "/" '{print $1}')
13 if [ -n "$pid" ];then
14 kill -9 $pid &> /dev/null
15 echo port $port is killed
16 else
17 echo port $port is not exist
18 fi
5.对nginx的了解,主要用来做什么,用了什么模块
6.sed和awk的区别
grep 主要用于搜索某些字符串
sed,awk 用于处理文本
7.sed如何替换hello为world
sed ’s/hello/world/g' passwd 把文件中的a替换成
8.LB主要用的什么实现的,keepalive原理,有没有对调度机做热备
10.防火墙做了什么工作,如何设置一个ip不能访问该主机
写火墙策略: 方法一:对firewalld讲 firewall-cmd --permanment --add-source=ip地址 --zone=block
允许访问 firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.0/24 -p tcp --dport 22 -j ACCEPT
iptables:
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 172.25.254.20 -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -j REJECT
11.tcp的三次握手一个状态变化
12.主从数据库如何实现,如何grant对数据库远程访问,mha的原理,如果一个数据库还在持续不断的写入数据,你怎么备份
13.还是想问你一个python题,给你两个列表,然后你对比输出不一样的元素并生成一个新列表。
list1 = [1, 2, 3]
list2 = [2,3,5,6]
list = []
for i in list1:
if i not in list2:
list.append(i)
for i in list2:
if i not in list1:
list.append(i)
print(list)
print ([i for i in list1 if i in list2])
14.如何查看一个进程下有多少个线程
15.ansible的部署流程
0:关机模式
1:单用户模式<==破解root密码
2:无网络支持的多用户模式
3:有网络支持的多用户模式(文本模式,工作中最常用的模式)
4:保留,未使用
5:有网络支持的X-windows支持多用户模式(桌面)
6: 重新引导系统,即重启
⑴开机BIOS自检,加载硬盘。
⑵读取MBR,MBR引导。
⑶grub引导菜单(Boot Loader)。
⑷加载内核kernel。
⑸启动init进程,依据inittab文件设定运行级别
⑹init进程,执行rc.sysinit文件。
⑺启动内核模块,执行不同级别的脚本程序。
⑻执行/etc/rc.d/rc.local
⑼启动mingetty,进入系统登陆界面。
1.dns做了什么,怎么实现的,在哪个文件夹下 /etc/named.conf
2.修改dns服务器怎么改的
nginx 相对 apache 的优点:
轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,
nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块出品迅速啊
apache 相对nginx 的优点:
rewrite ,比nginx 的rewrite 强大
模块超多,基本想到的都可以找到
少bug ,nginx 的bug 相对较多
超稳定
1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50000 个并发连接数的响应, 感谢Nginx为我们选择了 epoll and kqueue 作为开发模型.
Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.
2、Nginx 配置简洁, Apache 复杂 ,Nginx 启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动. 你还能够不间断服务的情况下进行软件版本的升级 . Nginx 静态处理性能比 Apache 高 3倍以上 ,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端来使用 ,Apache 的组件比 Nginx 多.
3、最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程 .
4、nginx的优势是处理静态请求,cpu内存使用率低,apache适合处理动态请求,所以现在一般前端用nginx作为反向代理抗住压力,apache作为后端处理动态请求。
4.如何找到文件夹中大于100兆的文件并删除
find / -type f -size +100M | xargs rm -rf
5.防火墙的iptable命令熟悉不
6.docker如何创建一个镜像,写出命令步骤
7.问了好多服务的端口是?
9.iscsi的一个原理
11.如果让你修改一个web服务器,你会怎么做
1.python怎么读数据库(我数据库都是回来上B站学的)
2.python read/readline/readlines的区别(没在意过,python我就看了110道真题那个网站)
3.项目难点,框架
4.OSI七层,数据链路层传输单位
5.数据链路层和数据传输层的校验方法的区别(这我从来没在意过啊,还是强行说了下CRC校验,模二除法,我都不知道说了有啥用)
6.长连接和短连接及适用情况
7.https加密过程
8.4次挥手大量Time_wait的解决方法(我看过,但没仔细看,忘了)
9.说说LVS调度算法,优缺点(我只记得前四个,为啥不问我3个模式啊!!!)
10.乐观锁悲观锁
11.数据库如何在读时确保数据时最新的(说是在committed之前添点什么东西,我一直在回答隔离性,结果不对)
一面,3.6晚18:30,时长20分钟
1、自我介绍
2、聊校园经历、竞赛经历
3、k8s网络通信原理(pod内,pod间)
4、docker原理,与虚拟机区别
5、mysql主从原理
6、编程题:判断string是否有重复字符出现
二面,3.13下午,15:30,时长40分钟
1、自我介绍
2、长短连接
3、OSI网络模型各个层次功能
4、LVS的NAT、TUN、DR原理及区别
5、keeplived高可用原理(VRRP)
6、nginx为什么比httpd快(epoll)
7、四层、七层反向代理的区别
8、iptables原理,工作在几层
9、k8s架构+网络模型,描述通信过程;假如遇到问题怎么处理
10、redis主从原理
11、描述一个遇到的问题以及处理过程和思路
12、职业规划
13、反问(SRE理念与传统运维的区别)
多线程与多进程
下面的问题参考 https://blog.csdn.net/hanguofei/article/details/102989797
装饰器: 给函数增加新功能,不修改被装饰对象的源代码和调用方法
生成器: 生成器其实是一种特殊的迭代器,它不需要__iter__() 和__next__() 方法,只需要一个yiled 关键字
迭代器: 任何实现了__iter__() 和__next__() 方法的对象都是迭代器,iter() 返回迭代器自身, next() 返回容器中的下一个值
所谓的 MTV (** Model–Template–View** ),翻译一下就是模型、模板、视图。
一般是用户通过浏览器向我们的服务器发起一个请求**(request)**,
这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。
具体如下
监控项目 | 详细内容 |
---|---|
主机监控 | ** CPU**,内存,磁盘的剩余空寂按/利用率和I/O,swap使用率。系统up时间,进程数,负载 |
网卡监控 | ping的往返时间及包成功率,网卡流量,包括流入、流出量和错误的数据包数 |
文件监控 | 监控文件大小,hash值,匹配查询,字符串存在否 |
url监控 | 检测指定url访问过程中的返回码,下载时间及文件大小,支持内容匹配 |
应用程序 | 端口和内存使用率,cpu使用率,服务状态,请求数,并发连接数,消息队列的字节数,client事务处理数,service状态 |
数据库 | 检测数据库中指定表空间,数据库的游标数,session数,事务数,死锁数,缓冲池命中率,库擦车命中率,当前连接数,进程的内存利用率等性能参数 |
日志 | 错误日志匹配,特定字符串匹配 |
硬件 | 温度,风扇转速,电压 |
1.熟悉的语言,可本之外有了解过网络的相关知识吗,熟悉的数据库。(语言能力不好,比较熟悉的就是shell脚本)
2.shell 相关的问题。如:如何判断shell中命令执行的成功与失败;shell内部传参及引用;shell中执行一个命令如何将它的返回值赋给一个变量;如何判断一个文件或目录是否存在;for和where的结构;shell中如何将一个命令在后台执行;shell中的加法操作,列出你知道的所有方法
3.awk,sed,正则表达式都会问到(正则表达式中 ? * + 的区别)
4.了解linux系统的启动过程吗?
5.如何查看Linux当前系统版本号和内核版本号;已知80端口被一个进程占用,查找哪个进程占用了80端口;查看进程占用cpu的情况
6.linux定时任务
7.如何让环境变量在机子重启后任然生效
8.TCP和UDP的区别
9.常用服务使用的式TCP还是UDP(telnet , ssh ,http ,ftp ,tftp ,dns )
10.TCP为什么建立连接时3次,断开连接时4次?(为什么断开时ACK和FIN要分两次发送?)
11.TCP//UDP中端口号最多到多少,哪些时系统保留,哪些时可以自用的
12.介绍iptables时干什么的,具体配置过什么(具体命令,又多少个表,分别是哪四个。NAT,为什么要用nat)
13.http(get和post的区别),http和https又什么区别;http中session和cookie有什么区别;返回码1XXX,2XX,3XX,4XX,5XX分别代表什么意思
14.简单介绍LAMP的架构(使用php访问过mysql吗,php访问mysql的语句是什么)
15.python了解到什么程度,写过多少代码(浅copy和深copy的区别;列表和元组的区别)
16.MySQL相关的问题。如:MySQL常用的引擎,对应的结构是什么;mysql的备份;主从复制的原理;mysql调优措施,慢查询,如何执行,具体的语句;
17.ZABBIX和ansible。zabbix的原理,如何部署,整个架构模块直接如何传输的;主动模式还是被动模式;数据存储在哪里
18.流量控制和拥塞控制的机制
19.keepalived的工作原理,lvsde工作原理,用过哪种工作模式,DR和NAT又什么区别
20.nginx为什么有那么高得并发性,主要用Nginx干什么,反向代理,nginx负载均衡有哪些算法
21.DNS得工作原理,CDN原理。
22.介绍自己在学习过程中遇到得比较大得困难,如何解决