Loading... <p class="MsoListParagraph" style="margin-left: 24px"><span style="font-size:16px;font-family:宋体">1、</span><span style="font-size:16px;font-family:宋体">简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。<br /> 答:三次握手:</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 0"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">客户端发起连接请求SYN给服务器端</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 0"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">服务器端发送ACK回应及SYN请求给客户端</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 0"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">客户端发送一个ACK回应给服务器端</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 31px"><span style="font-size:16px;font-family:宋体">保持连接</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 31px"><span style="font-size:16px;font-family:宋体">四次断开:</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 31px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">客户端发起断开请求FIN给服务器端</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 31px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">服务器端发送ACK回应给客户端</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 31px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">服务器端又发送一个FIN请求给客户端</span></p> <p class="MsoListParagraph" style="margin-left: 24px;text-indent: 31px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">客户端发送一个ACK给服务器端,并等待一段时间再断开</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 2</span><span style="font-size:16px;font-family:宋体">、说说进程和线程的区别<br /> 答:线程可共享内存,而进程不可以。</span></p> <p style="text-indent: 56px"><span style="font-size: 16px;font-family:宋体">但正因为线程可共享内存,可能会导致资源争用、加锁等待的问题。而进程之间相互独立。</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 3</span><span style="font-size:16px;font-family:宋体">、查询file.txt以abc结尾的行<br /> 答:grep abc$ file.txt</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 4</span><span style="font-size:16px;font-family:宋体">、删除file.txt文件中的空行<br /> 答:sed -i ‘/[[:space:]]+/d’file.txt </span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 5</span><span style="font-size:16px;font-family:宋体">、打印file.txt文件中的第10行</span></p> <p style="text-indent: 24px"><span style="font-size: 16px;font-family:宋体">答:awk ‘NR==10{print}’ file.txt</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 6</span><span style="font-size:16px;font-family:宋体">、对MySQL数据库test进行备份和恢复</p> <p> 备份:mysqldump -uXXX -pXXX -hXXX –B test -x -E -R > test.sql<br /> 恢复:mysql -uXXX -pXXX -hXXX text < test.sql</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 7</span><span style="font-size:16px;font-family:宋体">、用netstat统计系统当前tcp连接的各种状态的连接数。<br /> 答:netstat -tnlp</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 8</span><span style="font-size:16px;font-family:宋体">、linux下如何将GBK编码格式的test_gbk.txt文件转换成UTF-8编码格式,转化后的文件名为 test_utf8.txt</span></p> <p style="text-indent: 32px"><span style="font-size: 16px;font-family:宋体">答:不会做</p> <p> 9、说说你用过哪些监控软件,并简述其原理及适用场景<br /> 答:使用过zabbix监控</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"> zabbix</span><span style="font-size:16px;font-family:宋体">监控主要就是:收集数据(SNMP、IPMI、agent等方式收集)——》数据汇总——》设置监控项——》设置触发条件——》使用某种告警媒介——》设置告警后应执行的操作</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size: 16px;font-family:宋体">应用场景:可使用SNMP对交换路由做监控</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">可对服务器实现系统资源监控及自定义监控</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">可通过自动发现或agent注册实现监控的自动添加</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"> </span><span style="font-size:16px;font-family:宋体">可通过proxy进行监控</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"><br /> 10</span><span style="font-size:16px;font-family:宋体">、写出查看linux系统性能的命令,如cpu、内存、流量、io等<br /> 答:top、htop、glance</span></p> <p><span style="font-size:16px;font-family:宋体"> sar</span><span style="font-size:16px;font-family:宋体">、iostat、iftop、dstat</span></p> <p style="text-indent: 32px"><span style="font-size:16px;font-family:宋体"><br /> 11</span><span style="font-size:16px;font-family:宋体">、说说nginx的upstream支持的分配策略,并简述其原理</span></p> <p style="text-indent: 32px"><span style="font-size: 16px;font-family:宋体">答:nginx的upstream支持有 </span></p> <p style="text-indent: 80px"><span style="font-size:16px;font-family:宋体">rr</span><span style="font-size:16px;font-family:宋体">:轮询,按顺序依次对upstream的主机进行访问,默认使用该机制</span></p> <p style="text-indent: 80px"><span style="font-size:16px;font-family:宋体">ip_hash</span><span style="font-size:16px;font-family:宋体">:根据发送请求的IP进行哈希计算,同样的IP来源会一直绑定在同一个后端主机上</span></p> <p style="text-indent: 80px"><span style="font-size:16px;font-family:宋体">least_conn</span><span style="font-size:16px;font-family:宋体">:最少连接,根据后端主机的连接负载进行判断,将请求发送给连接数比较小的后端主机上。支持添加权重,会根据权重值做调整。</p> <p> 12、crontab定时:在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现</span></p> <p style="text-indent: 32px"><span style="font-size: 16px;font-family:宋体">答:# crontab –e</span></p> <p style="text-indent: 64px"><span style="font-size:16px;font-family:宋体">0 (6-12)/2 * 11 * /usr/bin/httpd.sh</p> <p> 13</span><span style="font-size:16px;font-family:宋体">、iptables禁止 ip 10.10.10.1 访问本地80端口<br /> 答:iptables –A INPUT –s 10.10.10.1 –p –dport 80 –j DROP</span></p> <p style="text-indent: 64px"><span style="font-size:16px;font-family:宋体"><br /> 14</span><span style="font-size:16px;font-family:宋体">、找出在文件a中但不在文件b中的内容,用命令后编写脚本实现<br /> 答:grep -v -Ff b a</span></p> <p><span style="font-size:16px;font-family:宋体"> </span></p> <p><span style="font-size:16px;font-family:宋体">#!/bin/env bash</span></p> <p><span style="font-size:16px;font-family:宋体">#</span></p> <p><span style="font-size:16px;font-family:宋体">PATH=/usr/bin:/usr/sbin:/bin:/sbin:</span></p> <p><span style="font-size:16px;font-family:宋体"># </span><span style="font-size:16px;font-family:宋体">脚本放在a和b的目录中</span></p> <p><span style="font-size:16px;font-family:宋体">cd $(dirname $0)</span></p> <p><span style="font-size:16px;font-family:宋体"># </span><span style="font-size:16px;font-family:宋体">将b中的内容做成一个循环体 </span></p> <p><span style="font-size:16px;font-family:宋体">B=$(cat b)</span></p> <p><span style="font-size:16px;font-family:宋体">cat a | while read A;do</span></p> <p><span style="font-size:16px;font-family:宋体"> for i in $B;do</span></p> <p><span style="font-size:16px;font-family:宋体"># </span><span style="font-size:16px;font-family:宋体">将a中的内容与b中的内容进行比对,若相同则输出</span></p> <p><span style="font-size:16px;font-family:宋体"> if [ $A == $i ];then</span></p> <p><span style="font-size:16px;font-family:宋体"> echo $A</span></p> <p><span style="font-size:16px;font-family:宋体"> fi</span></p> <p><span style="font-size:16px;font-family:宋体"> done</span></p> <p><span style="font-size:16px;font-family:宋体">done</span></p> <p><span style="font-size:16px;font-family:宋体"><br /> 15</span><span style="font-size:16px;font-family:宋体">、编写shell循环创建100个用户,用户名格式user_[0~99]</span></p> <p>#!/bin/env bash</p> <p>#</p> <p>for i in seq(0..99);do</p> <p style="text-indent:27px">/usr/sbin/useradd user_$i</p> <p>done </p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信