常见面试题整理--计算机网络篇(每位开发者必备)

2020-06-19 00:00:00 缓存 请求 用于 协议 握手
计算机网络相关的知识点是在面试过程中开发者经常被问到。当然可能这一块知识点与前面的操作系统、数据库相比较比重可能没那么高。但是的你,一定是想做好充分的准备吧!

欢迎点击去往常见面试题整理的前两篇:

常见面试题整理--操作系统篇
常见面试题整理--数据库篇

(一)请简述TCP\UDP的区别

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。

两者的区别大致如下:

  • TCP面向连接,UDP面向非连接即发送数据前不需要建立链接
  • TCP提供可靠的服务(数据传输),UDP无法保证
  • TCP面向字节流,UDP面向报文
  • TCP数据传输慢,UDP数据传输快

如果还不是太了解这两者的区别,点击阅读:TCP与UDP的区别 - yipiankongbai的专栏

(二)请简单说一下你了解的端口及对应的服务?

了解更多的端口,点击阅读:常用端口号与对应的服务以及端口关闭


(三)说一说TCP的三次握手

在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

下面详细说一下三次握手(来自简析TCP的三次握手与四次分手)

更加深入的了解TCP的三次握手与四次分手:简析TCP的三次握手与四次分手


(四)有哪些私有(保留)地址?

  • A类:10.0.0.0 - 10.255.255.255
  • B类:172.16.0.0 - 172.31.255.255
  • C类:192.168.0.0 - 192.168.255.255

(五)IP地址分为哪几类?简单说一下各个分类

IPv6 -- 采用128bit,首部固定部分为40字节。

(六)在浏览器中输入网址之后执行会发生什么?


  • 查找域名对应的IP地址。这一步会依次查找浏览器缓存,系统缓存,路由器缓存,ISPNDS缓存,根域名服务器
  • 浏览器向IP对应的web服务器发送一个HTTP请求
  • 服务器响应请求,发回网页内容
  • 浏览器解析网页内容

更加详细的一种说法(以百度为例)(来自计算机网络之面试常考 - 牛客网)

如果你想要更加深入的了解这个过程,点击阅读:从输入网址到显示网页的全过程分析

(七)简单解释一些ARP协议的工作过程

以上的说明解释来自(思想时光机),如果你想了解:ARP协议工作原理

(八)说一说OSI七层模型

了解OSI七层模型,请点击阅读:OSI七层模型详解 (下面的图片来自啊该网址)

(九)说一说TCP/IP四层模型

如果你不了解,请直接点击阅读:TCP/IP四层模型

(十)HTTP 协议包括哪些请求?

  • GET:对服务器资源的简单请求
  • POST:用于发送包含用户提交数据的请求

------------以及------------

  • HEAD:类似于GET请求,不过返回的响应中没有具体内容,用于获取报头
  • PUT:传说中请求文档的一个版本
  • DELETE:发出一个删除指定文档的请求
  • TRACE:发送一个请求副本,以跟踪其处理进程
  • OPTIONS:返回所有可用的方法,检查服务器支持哪些方法
  • CONNECT:用于ssl隧道的基于代理的请求

(十一)简述HTTP中GET和POST的区别

从原理性看:

  • 根据HTTP规范,GET用于信息获取,而且应该是安全和幂等的
  • 根据HTTP规范,POST请求表示可能修改服务器上资源的请求

从表面上看:

  • GET请求的数据会附在URL后面,POST的数据放在HTTP包体
  • POST安全性比GET安全性高

本文参考文献资料目录:

计算机网络面试题 - 知识的海洋
HTTP协议请求的几种方式
浅谈HTTP中Get与Post的区别
计算机网络面试题 - 思考,思考,再思考~
计算机网络面试题 - 思想时光机学习编程,欢迎关注专栏:学习编程 - 知乎专栏

相关文章