细数网工面试遇到的奇葩问题!!!
作者:互联网
##前言
#####网工日记:
四月一日
天气阴
略有微风小雨
金三刚刚过完!
银四的第一天也刚刚到来, 一切都好。
结束了一天搬砖生活的我,终于记起了这个账号,我决定更新一下。
记录一下今天这个特别的日子!
作为一个五讲四美爱劳动的大龄单身男青年,在每年的这一天,我都会静静等待一个女孩子的出现,能大声的对我说**:我宣你,我们可以在一起吗?**
但是…
很遗憾,在我有限的人生经历中从来没有出现过! 哈哈 哈哈哈…
瞬间不想更了怎么办,我太难了!!!
##还是回到正题
最近收到一个小粉丝面试投稿! 听完他的故事,巧逢今天这个独特的日子,我决定把这篇格外具有学习内容的知识文稿分享给大家。
顺带给大家提个醒! 此内容口味独特,未成年慎入!!!
####在面试时被问到的奇葩网工问题。
野果是21应届毕业生,从三月初便开始面试,笔试面试也经历无数,各种论坛上的面试学习经验了挨个看了个遍。
网络方向的面试题目无非是TCP/IP、OSPF,VRRP这些也就算了,然后今天居然被面试官提问:如果我访问他们公司的网站,具体是一个什么样子的过程?
嗯… 问的有深度!!!
相信大家在准备网络方向的面试的时候,大多数的注意力都会在一些路由优化和传输相关的基础协议上面,在大学课程中老师授课的时候,关于应用层方面的协议老师也都是一笔带过。(因为他们可能也不太懂,或者嫌讲起来麻烦)
FTP是干什么的?哦FTP是传输文件的。
就酱子回答,期末考试中的简答题就会得到两分,再补充一下,请求连接端口号21,传输时端口号时20。又是两分。
#####应用层中的协议看起来真的如此简单吗?
在面试之前我可能也不会想到面试官会问我关于应用层的问题。关于很多类似协议,也可能是知其然不知其所以然。由于应用层的服务器协议实现麻烦,所以大学中很多课程都不会对服务器进行实操搭建。
而是只需要了解到某些协议的用处便是了。
**面试官:**你也会经常访问网站吧,让你访问我们公司的网站,请描述以下整个通信的过程吧。
如果你的回答是:先输入公司域名,在域名服务器上对应出IP地址,再通过HTTP协议访问贵公司WEB服务器。
类似于这样笼统的回答,期末考试或许能够得分,但是面试绝对过不了。
#####一:访问网站的过程中,首先,是要做DNS解析。
当我们把域名输入到浏览器并按下回车之后,机器首先会检查客户端本地的hosts和DNS缓存。
第一次请求访问一般本地DNS缓存是没有的对应信息的。这个时候,主机便会把请求发送到全球十三台DNS根服务器上,根据顶级域名、一级域名、二级域名向下递归。
DNS服务器查询域名有递归和迭代两种方式。直到查询到这一DNS记录,查询到结果之后,再将结果再localDNS缓存一份再返回客户端,得到其IP地址。
#####得到IP地址之后,三次握手建立TCP的连接。
TCP服务器进程先创建传输控制块TCB,准备时刻接受连接请求。公司服务器进入LISTEN(监听)状态。
第一次握手,客户端将标志位SYN设置为1,seq=a,a为随机数值。将数据包发送给服务器端。
第二次握手,服务器端收到客户端数据包,将ack设置为a+1,再让seq=b,b为服务器端随机数值。将数据包发送给客户端。
第三次握手,客户端收到服务器端数据包后,检查ack是否为a+1,如果是,将ack=b+1,将ACK标志位还原,再发送给服务器端,握手完成
#####三次握手完成之后,客户端与服务器开始传输数据。
客户端向服务器端发送HTTP请求报文(请求行、请求头部、空白行和请求主体)。
在发送HTTP请求报文之后,开始传输具体网页数据。
(有些网页,看似是一个网页,其实其中包含了很多可以嵌入的其他资源类型,在整个页面加载过程中,我们进行一次TCP连接就可把整个资源的数据阐述完毕)
完成网页数据传输之后,服务器端会向客户端发送HTTP响应报文来表达传输已经完成。
#####私有连接超时之后,四次挥手断开连接。
第一次挥手,客户端请求释放报文FIN,并停止发送数据。
第二次挥手:服务器端收到FIN之后,发送一个ACK给PC1,确定序号为收到序号+1。
第三次挥手:服务器端再次发送一个FIN,来关闭客户端和服务器端的数据传输。
第四次挥手:客户端在收到FIN之后,发送一个ACK给服务器端,确定序号为收到序号+1,客户端和服务器端彻底断开连接。
####最后
给正在面试的读者们一点福利,请笑纳~
需要的朋友可以私信:资料 获取一下!!!
如果觉得本篇内容不错,记得点赞支持一下! 咱们下期再见~
标签:细数,服务器端,面试,网工,DNS,服务器,#####,奇葩,客户端 来源: https://blog.csdn.net/ZYJY2020/article/details/115380601