面试总结

1.技术面试问题

1)TCP协议三次握手,四次挥手,为什么握手是三次,挥手是四次

答:

三次握手:

第一次握手:客户端发送连接请求报文,服务端收到了。
这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。
第二次握手:服务端接受连接回复ack报文并连接分配资源,客户端收到了。
这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力及自己的发送能力是否正常。
第三次握手:客户端发ack报文并分配资源,服务端收到了,这样tcp连接就建立了。
这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。而如果只有两次握手,这个时候客户端没有回应,这样会浪费服务端资源并且服务端也不知道自己的发送能力及客户端的接收能力是否正常。
因此,需要三次握手才能确认双方的接收与发送能力是否正常。

四次挥手:

数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

因为当服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端,“你发的FIN报文我收到了”。只有等到我服务端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。
“四次挥手”的通俗理解

2)http工作原理、dhcp的工作原理、dns工作原理

答:

http工作原理:

HTTP的全称是Hyper Text Transfer Protocol,中文名叫作超文本传输协议。HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确地传送超文本文档。

dhcp的工作原理:

动态主机设置协定(DHCP)是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。

dns工作原理:

DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

tcp模型、osi模型,各层的功能、应用
tcp模型各层功能:

总共4层,分别为连接层(Link Layer)、网络层(Internet Layer)、传输层(Transport Layer)、应用层(Application Layer)。
1)连接层:负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ADSL等等;
2)网络层:负责分配地址和传送二进制数据,主要协议是IP协议;
3)传输层:负责传送文本数据,主要协议是TCP协议;
4)应用层:负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP、FTP等。

osi模型各层功能:

总共7层,
在这里插入图片描述

3)你是如何在实践中使用tcp模型的?
4)nginx、apache工作原理,各自优缺点
nginx工作原理及优缺点:
工作原理:Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。

优点:占内存小,可实现高并发连接,处理响应快
可实现http服务器、虚拟主机、方向代理、负载均衡
Nginx配置简单可以不暴露正式的服务器IP地址
缺点:
动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在 般前端用nginx作为反向代理抗住压力
apache工作原理及优缺点
apache工作原理:用户访问服务器,服务器上的APCHAE获得请求,然后根据用户访问的内容,寻找到网页文件,如果网页文件是需要编译的文件,比如PHP,就调用PHP的编译器(就是我们安装的PHP),编译解释完成之后就生成HTML的文件,APCHAE再将这个HTML文件返回给用户。
apache优点:apache的 rewrite 比nginx 的强大 ;支持动态页面;
支持的模块多,基本涵盖所有应用;性能稳定
apache缺点:属于重量级web服务器(重量级主要是在软件包的大小上比较大,软件的耦合度大)
在速度、性能不及其他轻量级web服务器,并且消费内存较高。使用传统的select模型,比较稳定的Prefork模式为多进程模式,需要经常派生子进程。所以消耗的cpu等服务器资源比较大

5)nginx虚拟主机的创建(面试官要求口述配置)

6)如何查询服务器cpu、内存、磁盘性能指标,对这些数据如何分析?

cat /proc/cpuinfo //获取CPU详情
top //包含CPU、内存使用等情况,常用命令
fdisk –l //查看硬盘及分区情况

7)什么是平均系统负载?
平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数

8)lvs、nginx 负载均衡的区别
LVS 4层(tcp)负载均衡,转发,DR模式为主要场景
优点:数据包返回可以不经过LB,因此高效,几十万并发
缺点:需要配置RS,所以部署复杂,功能单一。

Nginx 7层,负载均衡(反向代理),1.9以后支持4层
缺点:效率不太高,1-5万并发,数据包来去都要经过负载均衡器
优点:简单,方便,不需要配置RS,支持基于URL,扩展名等的调度功能,可以做web和cache

10)lvs 负载均衡的性能如何测试?

11)对于后端的服务器如何实现健康检查?

12)如何实现自动挂载,fastab 各字段的意义
13)http 状态码
14)为什么 fastcgi 比 cgi 高效?
15)写过哪些脚本,举例说明?
16)awk、grep、cut、sed、uniq、wc 等命令及参数
17)你是否了解数据容灾?
18)了解 linux 内核吗?
2.非技术面试问题:

2.非技术面试问题:
1)自我介绍
2)你做过哪些让你激动或者兴奋的事情?
3)你是如何接触到这些技术的?
4)谈谈你学习 linux 的过程
5)你觉得这个职位最吸引你的地方是什么?最不吸引你的地方是什么?
6)你的家庭情况、有无女朋友?
7)对工作地点有什么要求吗?
3.面试小结:
1)多准备几份简历,保持整洁
2)不一定穿正装,穿着干净得体就可以
3)进门敲门,礼貌问候4)听到问题,不要马上回答,稍作思考
4)听到问题,不要马上回答,稍作思考
5)说话清晰,语速慢些,分 1…2…3…回答
6)对于不会的问题,结合自己熟悉的部分说出想法和见解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值