2020年秋招期间自己归纳总结的牛客上相关的面试考点。通过秋招面试情况来看,大部分问题确实有被问到,对自己也有非常大的帮助。不建议直接看我写的回答,而是带着问题去总结自己的回答。相信坚持就会有好结果。
22个问题,共计七千余字。
1、 OSI七层协议知道吧,为什么要进行分层呢
物(物理层)联(链路层)网(网络层)输(传输层)会(会话层)示(表示层)用(应用层)
应用层:为应用程序提供服务,包括提供应用进程所需要的的信息交换和远程服务,还要作为应用进程的用户代理,完成进行信息交换所必要的功能。
表示层:通信的应用程序之间能够解释交换数据的含义,服务包括:数据格式转化数据加密与解密,数据压缩与解压与终端类型的转换;
会话层:建立维护和管理会话;
传输层:建立维护和管理端到端的连接,控制数据的传输方式;(TCP, UDP)
网络层:线路传输数据选择,IP地址和路由选择;
数据链路层:提供介质访问和链路管理,网卡,网桥,交换机
物理层:以比特流的形式在物理媒介上传输数据,集线器,中继器,调制解调器,网线,双绞线和同轴电缆等;
为什么要分层及作用:
利于实现:大问题分解成小问题;
灵活性好:各层之间相互独立,各层可以根据需要独立进行修改或扩充功能。一层协议发生变化,只要接口不变,不会影响其他层;
有利于标准化:适应于不同厂家的设备互联和网络搭建。
2、 什么是应用层,应用层有哪些协议
应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议,支持远程登录管理SSH协议等等。我们把应用层交互的数据单元称为报文。
3、 说一下域名系统DNS,以及域名解析的基本过程
域名系统(Domain Name System缩写 DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。域名系统必须要保持唯一性。域名服务主要是基于UDP实现的,服务器的端口号为53。
1) 浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束;
2) 如果浏览器缓存没命中,浏览器会检查操作系统缓存中有没有对应的已解析过的结果;
3) 请求本地域名服务器(LDNS)来解析这个域名;
4) 如果LDNS仍然没有命中,就直接跳到Root Server域名服务器请求解析;随后逐级查询各级服务器得到IP地址返回给本地域名服务器;
5) 本地域名服务器缓存IP,并返回给用户,用户缓存和访问IP;
关于域名解析中的TTL参数
DNS解析的TTL参数,Time To Live。TTL这个参数告诉本地DNS服务器,域名缓存的最长时间。到达最长时间之后本地域名服务器会删除该域名,下次查询时会继续进行上述的复杂过程。
https://h9.nz/6b3nj
4、 HTTP协议及其工作原理
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。http协议是基于TCP/IP协议之上的应用层协议。其工作流程如下:
1) 客户端连接到Web服务器,一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接;
2) 发送HTTP请求,通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
3) 服务器接受请求并返回HTTP响应,Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头

最低0.47元/天 解锁文章
3255

被折叠的 条评论
为什么被折叠?



