面试——网络

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解析过程

  1. 浏览器缓存。(2~30min)
  2. 系统缓存(windows:gethostbyname)
  3. 路由器缓存
  4. ISP DNS缓存
  5. 递归搜索:从根域名服务器开始递归搜索。其中,为了消除例如微博这种多个IP对应一个域名的问题,使用
    • 循环DNS,是DNS查找时返回多个IP时的解决方案
    • 负载平衡器,以一个特定的IP地址进行侦听,并将网络请求转发到集群服务器上的硬件设备。
    • 地理DNS,根据用户所在地理位置,通过把域名映射到多个不同的IP地址提高可扩展性。
    • Anycast, 是一个IP地址映射多个物理主机的路由技术。与TCP协议适应性不是很好,但是大多数DNS服务器使用Any cast来获得高效低延迟的DNS

2)浏览器客户端发起一个HTTP请求到这个IP地址(HTTP协议是以ASCII传输)

2. 在传输层使用了TCP协议建立连接,通过流量控制、拥塞控制、差错控制保证数据传输的稳定性。

  • 把HTTP请求分成报文段,添加源和目的端口,封装成TCP协议报。
    • 例如服务器端使用80端口监听客户端请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回客户端的5000端口。
  • 输入网络层

3. 网络层:使用IP、ICMP、ARP、RARP协议

1)首先,进行寻址和路由。使用路由表确定到达服务器的路径以及ARP协议将IP地址转化成服务器MAC地址。ARP解析过程(广播发送ARP请求,单播发送ARP响应):

  1. 首先,每个主机在自己的ARP缓存区,建立一个ARP列表,包含IP和MAC的对应关系
  2. 当源主机要发送数据时,首先检查ARP列表中是否有对应IP和MAC地址,如果不存在,则广播发送ARP请求,包含了:自己的IP、MAC和目的IP地址
  3. 在广播域中的主机,接受到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、商品的种类有几十万种,在这种大数据的情况下,如何评价搜索算法的好坏?

 

posted on 2020-09-12 11:49  小新人~  阅读(247)  评论(0编辑  收藏  举报