【面试】【前端】前端网络面试题总结

一、前端网络面试题总结

网络相关知识是前端开发的核心内容之一,面试中通常会考察协议、网络模型、性能优化及常见网络问题的处理。以下是针对前端网络面试题的总结:


(一)协议森林(大话网络协议)

  • 网络协议分类:

    • 应用层:HTTP、HTTPS、WebSocket、DNS 等。
    • 传输层:TCP、UDP。
    • 网络层:IP、ICMP。
    • 数据链路层:ARP、MAC。
  • 典型问题:

    • 输入

      ping IP
      

      后敲回车,发包前发生的过程:

      1. DNS 查询:将域名解析为 IP 地址。
      2. 构造 ICMP 数据包:生成请求包。
      3. 路由查找:找到发送路径并发出数据包。
      4. 目标主机响应:返回 ICMP 回应包。

(二)网络通信模型

  • 七层模型(OSI)与四层模型(TCP/IP):

    • 七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
    • 四层模型:网络接口层、网络层、传输层、应用层。
  • 子网掩码与网络划分:

    • 通过子网掩码(如 255.255.255.0)确定主机数与网络范围。
    • 子网内通信无需路由,跨子网需通过网关。

(三)TCP/IP 协议

  • TCP 特性:

    • 可靠传输、面向连接。

    • 三次握手

      :确保双方都准备好通信。

      • 第一次握手:客户端发送 SYN。
      • 第二次握手:服务器发送 SYN+ACK。
      • 第三次握手:客户端发送 ACK。
    • 四次挥手:确保双方关闭通信。

      • 第一次:客户端发送 FIN。
      • 第二次:服务器返回 ACK。
      • 第三次:服务器发送 FIN。
      • 第四次:客户端返回 ACK。
  • UDP 特性:

    • 无连接、不可靠但效率高,常用于实时传输(如视频、语音)。

(四)HTTP/HTTPS 协议

  • HTTP 特性

    • 无状态、明文传输、请求-响应模式。
  • HTTPS 工作原理

    1. 使用 TLS/SSL 协议加密通信。
    2. 通过 CA 颁发的数字证书验证服务器身份。
    3. 客户端与服务器协商生成对称加密密钥。
  • HTTPS 是否一定安全?

    • 不一定安全

      ,可能的风险:

      • 中间人攻击:拦截通信并伪造证书。
      • 不安全的证书颁发:信任非权威 CA。
    • 防范措施:确保证书合法、校验 CA 的可信度。


(五)WebSocket 协议

  • 工作层级:

    • 工作在七层模型的应用层,基于 TCP 协议。
  • 与 HTTP 的关系:

    • 使用 HTTP 协议完成初始握手,之后升级为 WebSocket 协议。
  • 特性:

    • 全双工通信,适合实时应用。
  • 应用场景:

    • 点对点通信:通过唯一标识连接用户。
    • 广播通信:通过服务端发送消息至多个客户端。

(六)常见网络问题与解决

  • CDN 的工作原理:

    • 将资源缓存到离用户最近的节点,提高访问速度。
  • 运营商劫持与防范:

    • 劫持方式:插入广告、重定向流量。
    • 防范措施:使用 HTTPS、DNS 加密(如 DoH/DoT)。
  • 网络性能问题定位:

    1. Ping:测试与目标主机的连接延迟。
    2. Traceroute:检查网络路径中的延迟和问题节点。
    3. F12 开发者工具:分析请求时间、DNS 解析时间、网络耗时等。
  • Token 与 Cookie 的区别:

    • Cookie:由服务器生成,保存在客户端,用于会话管理。
    • Token:由服务器生成,通常存储在客户端(如 LocalStorage),携带用户认证信息,常用于无状态认证。

(七)常见问题解析

  • 支付宝和微信的离线支付
    • 离线支付基于二维码或 NFC,通过本地缓存的动态密钥或凭证实现。
    • 离线交易会在网络恢复后同步到服务器。
  • HTTPS 抓包:
    • 使用代理工具(如 Charles、Fiddler)安装中间人证书拦截 HTTPS 流量。
  • DNS 泄露隐私与防范
    • 隐私泄露原因:DNS 请求通常未加密,可能被监视。
    • 防范方法:使用加密 DNS(如 DNS over HTTPS)。
  • 192.168.0.1 与 192.168.1.1 的通信
    • 通过路由器的网关进行跨子网通信,具体路径由路由表决定。
  • 浏览器访问 192.168.3.4:8088 的过程
    1. 浏览器解析 URL,判断协议为 HTTP。
    2. 通过 DNS 将域名解析为 IP 地址。
    3. 建立 TCP 连接(三次握手)。
    4. 发送 HTTP 请求到目标服务器。
    5. 服务器返回 HTTP 响应,浏览器解析内容并渲染页面。

二、总结

前端网络知识的核心在于理解高层次的网络通信原理,掌握常见协议(HTTP、WebSocket、TCP 等)的特点,具备基本的网络性能优化能力,并能解决实际问题。通过对网络基础的深入理解,能够帮助开发者定位问题并提高应用的性能和可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值