计算机网络考点分析与总结

我发现在计算机网络问的是真的多,比操作系统多太多了,而且问的范围也很大,可以说,在所有的八股文中,计算机网络 和 mysql 和 Java 语言,这三者可以说是同样多的,也是所有八股文中,占比最多的三门知识

下面我先给大家分析一下计算机网络 各个知识点的考点以及大公司和小公司在计算机网络 上的考点,并且会按照出现的频率来给大家弄清楚考点,最后还有给出面试中都是怎么询问的(同一个问题有多种提问方式,我也都列出来了)

希望大家可以认真看一下,看完你内心也有一个大概了。

一、考点比例分布

我在统计的时候,把知识划分为应用层 + 传输层 + 网络安全 + 其他四个模块,大概 85% 的考点都在应用层 + 传输层,并且应用层和传输层出现的比例差不多一样,15% 在网络安全相,网络层和链路层,基本很少问,所以我们在复习的时候,是优先复习下应用层 + 传输层,其他网络层,链路层充当加深理解吧,就是把知识点了解下,然后掌握几道可能问题的题就差不多了。

二、大公司与小公司

看了很多份面经,小公司基本不考,像一些银行/金融之类的,倒是会问一些,不过问的比较简单,不痛不痒的,比如让你讲一下三次握手,或者问一下 tcp 和 udp 的区别。

总的来说就是,主 C++/Go 的大公司,这块问的最多,而且有些问的很细,可能会连续追问啥的。

三、超详细考点总结(按照出现频率排序)

下面我分模块,按照需要掌握的知识点以及面试官的提问方式来总结,并且会把相对高频的考点放在上面

1.1 应用层需要掌握的知识点(按照出现频率排序)

1、http:

  • http和https的区别,
  • http 常见请求方法(get和post的区别) + http 报文包含的一些属性 + http 常见状态码的含义(3xx额外关注下)
  • http 长连接,开启/关闭
  • http 存在哪些问题
  • 1.0,1.1,2.0,3.0版本区别

2、https:

  • Https 的加密过程(对称/非对称加密 + 摘要 + 数字证书)
  • 理解数字证书的用处
  • https的缺点

3、掌握 DNS 的解析过程 + 用到的协议

4、浏览器输入一个 url 的解析过程

5、理解 arp以及大致的原理 + 存在的安全隐患

6、ping协议的原理 也看下(ping协议不算应用层)

1.2 应用层的提问方式(安排出现频率排序)

1、讲一下https和http的区别

2、http和https的区别?https的加密过程?

3、https加密的机制了解过吗?

4、https为什么是安全的

5、Https连接流程

PS:2,3,4,5这几道可以说都是一道题

6、说说http请求报文包含什么?(追问:Content-Length知道吗?如果Content-Length的长度 大于报文的实际长度,分析下会有什么问题? )

7、Http的请求报文和响应报文各有哪几部分组成

8、HTTP1.0,1.1,2.0,3.0

9、打开一个网页 使用到了哪些其他协议?

10、上来先是 url 解析过程,然后引出了下面一堆问题:

11、涉及到dns的解析过程,如何进行解析的

12、http方法了解哪些

(1) 为什么要有这些不同的方法,post get 不就可以实现了吗
(2) get post 区别是什么

13、数字证书是什么?数字证书包含什么?

14、http,请求头,状态码?

15、http状态码有哪些(1xx-5xx),那讲一下301与302的区别?

16、499和502出现的原因是什么?

17、讲一下dns过程。给一个网址www.google.com,dns服务器如何逐级解析的?

18、DNS解析在网络不好的情况下怎么办

19、DNS解析请求的服务器单机并且响应速度慢怎么办

20、需要ARP解析的原因

21、说一下arp协议,arp协议有什么安全隐患?

22、HTTP如何保持长链接

23、ttp 协议和TCP协议的关系是什么

24、Http TCP 都有保活 keep-alive 机制 两者有什么区别

25、https中传输会经过网关,为什么网关不能知道他们的密钥

2.1 传输层需要掌握的知识点(按照出现频率排序)

1、三次握手

  • 握手流程(包括状态码的变化)以及为啥需要三次

  • 三次握手过程是否可以携带数据

  • seq可以从0开始吗?

2、四次挥手(可以问的问题比三次挥手多的多)

  • 握手流程(包括状态码的变化)以及为啥需要四次

  • Time-wait 和 close-wait 状态码

  • Time-wait 过多应该如何处理

  • 为什么需要等到 2ML

3、TCP与UDP

  • 理解为啥 TCP 是可靠的,采用了什么方法
  • 掌握流量控制和拥塞控制的原理和区别
  • TCP和UDP的区别以及应用场景
  • 如何实现一个可靠的 UDP
  • TCP拆包粘包问题
  • qq登陆/视频会议这些用到了哪些协议
  • 套接字socket

2.2 传输层的提问方式(安排出现频率排序)

TCP的三次握手和四次挥手是重灾区:

1、讲一下四次握手流程,为什么需要四次握手?

2、讲一下tcp四次挥手,time-wait干嘛的,close-wait干嘛的,在哪一个阶段?

3、状态CLOSE_WAIT在什么时候转换成下一个状态呢?

4、我们看到CLOSE_WAIT出现在什么时候呢?

5、为什么要等 2MSL

6、服务端主动发起关闭还是客户端主动发起关闭TCP?(答了客户端,面试官不满意)

7、讲一下三次挥手,为什么是三次?两次不可以吗?

8、三次握手连接阶段,最后一次ACK包丢失,会发生什么?

9、第三次握手是否可携带数据

10、tcp和udp有什么区别?分别应用于哪些场景?

11、TCP协议如何保证可靠性

12、tcp如何保证有序

13、tcp如何保证不会接受重复的报文

14、Tcp粘包拆包问题?

15、TCP拥塞控制与流量控制区别?

16、现在我们视频面试用到哪些协议(DNS,HTTP,HTTPS,TCP,UDP),UDP用在哪里?

17、一台主机可以有多少个端口? (答:65535 ,这个值是可以修改的),为什么会有端口号的限制呢?与哪些因素有关

18、套接字的组成

19、假设一个服务器支持10万个客户端同时进行tcp连接,但是同一时刻,只有二三百的客户端传输数据,属于活跃连接,如何能快速查询哪些是活跃连接呢?

2、用什么数据结构,相当于让你设计一个服务器端的小程序,如何实现?

3.1 其他

1、对称加密和非对称加密,以及常见的加密算法

2、理解什么是sql注入攻击 + xss攻击 + cors 攻击

3、理解以太网协议

4、计算机网络四层模型,五层模型和七层模型都了解下

5、

3.2 其他(安全+其他几层划分在一起)

1、讲一下五层⽹络模型

2、xss攻击、cors攻击原理?

3、讲一下你了解的对称加密算法和非对称加密算法(DES,AES,RSA),非对称加密如何保证它的安全性?

4、数据链路层的作⽤

5、主机A与主机B数据链路层通信的过程

6、一个MTU最大是1500字节,那么最多包含多少的数据(ip头部字节大小为20~60,最多数据即1500-20=1480)

发表评论

后才能评论