某大厂跳动面试:计算机网络相关问题解析与总结

在参加像字节跳动这样的互联网公司面试时,计算机网络的知识是一个常见的考察点。以下是一些常见的计算机网络面试问题和详细解答,在面试中打下坚实的基础。


1. HTTPS通信过程

HTTPS (HyperText Transfer Protocol Secure) 是一种安全的 HTTP 协议,通过 TLS/SSL 加密实现数据的保密性和完整性。HTTPS 的通信过程包括以下几个步骤:​编辑

  • 客户端发起连接:客户端向服务器发送请求,使用 HTTPS 协议。
  • 服务器响应:服务器返回其 SSL/TLS 证书,其中包含了公钥。
  • 客户端验证证书:客户端验证服务器证书是否有效,包括证书是否过期、是否被信任的证书颁发机构签发等。
  • 密钥交换:客户端生成一个随机数,使用服务器公钥加密后发送给服务器。服务器使用私钥解密,获取随机数。
  • 加密通信 :基于生成的随机数,客户端和服务器协商一个共享的对称加密密钥,之后的通信都使用这个对称加密密钥进行加密。编辑

2. HTTPS加密过程,怎么判断证书的有效性

  • 证书链验证:客户端会验证证书链是否完整,证书是否由受信任的证书颁发机构(CA)签发。
  • 域名匹配:客户端检查证书中包含的域名是否与访问的域名匹配。
  • 证书有效期:证书有开始时间和到期时间,客户端会检查证书是否过期。
  • 撤销检查:通过 CRL(证书撤销列表)或 OCSP(在线证书状态协议)检查证书是否已被撤销。

3. TCP与UDP的区别

特性 TCP UDP
连接方式 面向连接 无连接
可靠性 提供可靠的数据传输 不保证数据可靠传输
流控制 支持流控制 不支持流控制
拥塞控制 支持拥塞控制 不支持拥塞控制
数据包顺序 保证数据包按顺序到达 不保证数据包顺序
速度 较慢,因需要确认和重传 较快,适合实时应用
应用场景 Web浏览、文件传输、邮件等应用 视频流、VoIP、DNS等实时应用

4. TCP的特点 ​编辑

  • 可靠性:通过三次握手建立连接,保证数据可靠传输。
  • 流控制:通过滑动窗口机制,控制发送端的发送速率。
  • 拥塞控制:通过慢启动、拥塞避免、快速重传和快速恢复机制,避免网络拥塞。
  • 顺序保证:确保数据按顺序到达。
  • 全双工通信 :可以同时发送和接收数据。编辑

5. TCP拥塞控制

TCP 的拥塞控制机制主要包括以下几种算法:

  1. 慢启动:连接初始阶段,发送端的拥塞窗口逐渐增长,避免过多的数据造成网络拥堵。
  2. 拥塞避免:当拥塞窗口达到阈值后,增长速率会减慢。
  3. 快速重传:当接收到三个重复的 ACK 时,立即重传数据包。
  4. 快速恢复:在发生丢包时,拥塞窗口会减少,但会避免回到慢启动阶段。

6. TCP滑动窗口

TCP 滑动窗口是一种流控制机制,控制发送方发送数据的速率。接收方通过告诉发送方它能接收的数据量(即窗口大小)来控制发送的窗口。随着数据的成功接收,窗口会向前滑动,允许发送更多的数据。


7. HTTP头部有哪些Key

常见的 HTTP 头部字段包括:

  • Host:指定目标服务器的域名。
  • User-Agent:标识发起请求的客户端应用类型。
  • Content-Type:表示请求或响应的正文内容类型。
  • Content-Length:表示请求或响应的正文数据长度。
  • Authorization:包含认证信息,如用户名和密码。
  • Cookie:客户端存储的 cookie 数据。

8. HTTP状态码有哪些

HTTP 状态码分为五类:

  1. 1xx(信息性):表示请求已被接收,继续处理。
  2. 2xx(成功) :表示请求已成功处理,如 200 OK
  3. 3xx(重定向) :表示需要进一步的操作,如 301 Moved Permanently
  4. 4xx(客户端错误) :表示请求有误,如 404 Not Found
  5. 5xx(服务器错误) :表示服务器内部错误,如 500 Internal Server Error

9. DNS服务器怎么处理域名请求的,了解原理吗

DNS (Domain Name System) 负责将域名解析为 IP 地址。处理过程如下:

  1. 客户端发起请求:客户端向 DNS 服务器发送域名解析请求。
  2. 本地缓存查询:DNS 服务器首先检查缓存,如果找到就返回结果。
  3. 递归查询:如果本地没有缓存,DNS 会向根域名服务器发起递归查询,直到找到权威 DNS 服务器。
  4. 返回结果:一旦找到正确的 IP 地址,DNS 会返回给客户端,客户端可以通过该 IP 地址访问目标服务器。

10. GET与POST的区别

  • GET:用于从服务器获取数据,请求的数据附加在 URL 后面,适用于获取资源。数据量较小。
  • POST:用于向服务器提交数据,数据放在请求体中,适用于提交表单、上传文件等。数据量大。

11. HTTP 2.0的改动

HTTP/2 相较于 HTTP/1.x 做了许多优化:

  1. 多路复用:允许多个请求和响应通过一个连接并行发送,减少延迟。
  2. 头部压缩:对 HTTP 头部进行压缩,减少冗余,提高传输效率。
  3. 服务器推送:允许服务器主动推送资源到客户端,减少请求次数。
  4. 二进制协议:采用二进制格式传输,提升性能,降低解析复杂度。

12. 路由器怎么工作的

路由器是连接不同网络的设备,其主要工作是根据目标 IP 地址转发数据包。路由器根据路由表决定数据包的转发路径,可以根据不同的网络协议(如 IP)和转发策略进行智能路由。

​编辑---

13. 七层协议讲一下

OSI 模型将网络通信分为七个层次:

  1. 物理层:负责数据的传输和物理连接。
  2. 数据链路层:负责点对点之间的可靠通信。
  3. 网络层:负责数据包的路由和转发,例:IP。
  4. 传输层:确保数据传输的可靠性,例:TCP、UDP。
  5. 会话层:管理会话的建立、维护和结束。
  6. 表示层:数据格式化与加解密。
  7. 应用层:为应用程序提供网络服务,例:HTTP、FTP。

14. HTTP是否无状态?如何有状态?Session和Cookies的区别

  • HTTP 是无状态的:每次请求都是独立的,服务器不会保存客户端的状态。
  • 如何有状态 :通过 SessionCookie 来维持状态。
    • Cookie :存储在客户端,通常用于记录会话信息。
    • Session:存储在服务器端,客户端通过 Cookie 存储 Session ID 来访问服务器端的数据。

以上是一些常见的计算机网络面试问题和解答,针对这些问题,需要理解每个概念并能结合实际应用场景进行回答。

相关推荐
IT_陈寒6 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
易协同低代码7 小时前
通达OA核心类库TD类深度解析
后端
Gopher_HBo7 小时前
Go语言学习笔记(十八)Gin处理Session
后端
谭光志8 小时前
工具塞满上下文窗口怎么办?深度拆解 AI Agent Tool Search 按需加载实现原理
前端·后端·ai编程
她说..8 小时前
Java 默认值设置方式
java·开发语言·后端·springboot
foggyprojects8 小时前
从0开始,一句话启动AI DataAgent
后端·数据分析·ai编程
郡杰8 小时前
一些基础和问题解决
后端
陈随易8 小时前
前端项目部署只要30秒
前端·后端·程序员
YIAN8 小时前
从零手写文件读取 MCP 服务:一文吃透 Model Context Protocol 全链路通信原理
前端·后端·mcp
Imchendiana8 小时前
《狂人日记NO.9》— 前后端一把梭,我的全栈实录
前端·后端