面试——网络
1. 分层结构
2. TCP/IP在哪个层?
3. TCP和UDP的区别,和应用场景
4. TCP三次握手的过程,为什么不是两次握手或者是四次握手?
5. HTTP请求在哪一层?有哪些操作?
6. Get和POST两个操作的区别?GET请求可以提交吗?(URL中包含用户名和密码,那它可以提交吗)?
7. 有配置过服务器吗?你们用的是什么类型的服务器?一个请求访问首页的URL,到达服务器后具体的操作?如何调用本地的方法的?
1、OSI七层模型和TCP/IP四层模型
1、TCP 和 UDP 的区别?如何保证 TCP 的可靠性?
1. 在浏览器中输入 www.baidu.com 后执行的全部过程
1. 应用层上使用了HTTP协议
1)首先客户端通过DNS解析域名请求(UDP协议),得到URL对应的IP地址。DNS解析过程:
- 浏览器缓存。(2~30min)
- 系统缓存(windows:gethostbyname)
- 路由器缓存
- ISP DNS缓存
- 递归搜索:从根域名服务器开始递归搜索。其中,为了消除例如微博这种多个IP对应一个域名的问题,使用
2)浏览器客户端发起一个HTTP请求到这个IP地址(HTTP协议是以ASCII传输)
2. 在传输层使用了TCP协议建立连接,通过流量控制、拥塞控制、差错控制保证数据传输的稳定性。
- 把HTTP请求分成报文段,添加源和目的端口,封装成TCP协议报。
- 例如服务器端使用80端口监听客户端请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回客户端的5000端口。
- 输入网络层
3. 网络层:使用IP、ICMP、ARP、RARP协议
1)首先,进行寻址和路由。使用路由表确定到达服务器的路径以及ARP协议将IP地址转化成服务器MAC地址。ARP解析过程(广播发送ARP请求,单播发送ARP响应):
- 首先,每个主机在自己的ARP缓存区,建立一个ARP列表,包含IP和MAC的对应关系
- 当源主机要发送数据时,首先检查ARP列表中是否有对应IP和MAC地址,如果不存在,则广播发送ARP请求,包含了:自己的IP、MAC和目的IP地址
- 在广播域中的主机,接受到ARP数据包后,首先检查是否是自己的IP地址,如果不是,则忽略;如果是,则单播给源主机自己的MAC地址。
它是IPv4网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代
2)同时使用ICMP协议,对数据报进行差错控制
3)然后对IP数据报进行拆分和重装,添加IP信息,传入数据链路层。
4. 数据链路层:
将IP数据报加上控制信息:校验码/验证码+帧定界符,封装成数据帧,传入物理层
5. 物理层:
将数据帧转换成0,1比特流。最后,使用真正的电信号通过多种传输介质传输到百度的服务器。
当电信号到达服务器,对数据帧进行拆分,直到应用层。
4. HTTP协议包含哪些请求方式
GET:获取URL下的资源、提交表单信息(用户名、密码)
POST:向服务器提交更新数据(创建或更新服务器资源)
PUT:存储一个资源到请求的URL
DELETE:删除给定的URL所标志的资源
HEAD:返回URL标志的头信息
TRACE:返回TRACE请求附带的头字段
OPTION:返回服务器支持的HTTP请求
1、计算机网络
1.请你说一下HTTP的报文段是什么样的?
2.请你回答一下HTTP用的什么连接?
3.请你说一说TCP的三次握手?
4.请你说一下在浏览器中输入一个网址它的运行过程是怎样的?
5请你说一说http rest
6.请你说一说http请求报文
7.请你说一说get和 post区别
8.请你说一下tcp和udp的区别
9.请你说一下get和post的区别
10.请你说一下为什么tcp可靠,哪些方法保证可靠
11.请你说一说TCP的流量控制
12.请你回答一下TCP三次握手,以及为什么不是两次
13.请你回答一下ipv6的位数
14.请你说一说osi七层模型
15.请你说一说DNS解析过程
16*请你说一说http和https区别
17.请你说一说get和post区别
18.请你说一下**https中SSL层原理
19.请你说一说TCP断连过程,以及单向连接关闭后还能否通信
20.请你说说TCP和UDP用一个端口发送信息是否冲突
21.请你说说HTTP常见头
22.请你说说**HTTP状态码
23.请你说说soket编程和http协议
24请你说说tcp三次握手四次挥手
25请你说说post和get的区别
26.请你说说HTTP状态码,HTTP请求协议
26、请你说一说http缓存问题,缓存寿命,以及怎么判断文件在服务器是否更改的
27.请你回答一下搜索敏感词汇时,页面被重置的原理
28、请你说一说两个机器之间的通讯过程?以及计算机网络为什么有七层?
29、请你说一说http缓存问题,缓存寿命,怎么判断文件在服务器是否更改的
30、请你说一说什么是http协议,http的数据段包括什么?http 为什么是无状态的,http和https的区别?ip地址的abcd类是怎样分的,ABCD分层协议为什么如此分层,什么是长连接和短链接**
31、请你说一说**tcp数据段都包括什么?tcp三次握手四次挥手过程、为什么挥手是四次
32、请你说一下tcp与udp的区别,以及**tcp为什么可靠,tcp滑动窗口,同传,拆包组装包是如何实现的
33、请你说一下tcp/ip四层网络协议
34、手写代码:从网络日志中,提取出date 字段,并排序。
35、从打开浏览器输入url到到达服务器上项目中某一个Controller上,请你来描述一下这一串过程
36、请你介绍下session
37、请问你知道跨域吗,条件是什么,在header里需要加什么,有几种方案
38、请你来回答一下,比如淘宝的搜索算法,输入关键词,会给出搜索出来的商品结果,对于这样的算法,如何评价它的好坏?
39、商品的种类有几十万种,在这种大数据的情况下,如何评价搜索算法的好坏?