每日一题--计算机网络

一、基础概念类问题

1. TCP 和 UDP 的区别是什么?
  • 回答示例:

    • TCP:面向连接、可靠传输(通过三次握手建立连接,丢包重传)、保证数据顺序(如文件传输、网页访问)。

    • UDP:无连接、不可靠传输(不保证数据到达或顺序)、低延迟(如视频通话、实时游戏)。

  • 加分点:补充实际应用场景(如 HTTP/3 基于 UDP 优化性能)。

2. HTTP 和 HTTPS 的区别?
  • 核心区别:

    • HTTP:明文传输,端口 80,无安全性。

    • HTTPS:通过 SSL/TLS 加密传输,端口 443,需证书验证。

  • 加分点:提到 HTTPS 的加密流程(非对称加密交换密钥 + 对称加密传输数据)。

3. 什么是三次握手和四次挥手?
  • 三次握手(建立 TCP 连接):

    1. 客户端发送 SYN(同步请求)。

    2. 服务端返回 SYN-ACK(确认 + 同步)。

    3. 客户端发送 ACK(最终确认)。

  • 四次挥手(断开连接):

    1. 客户端发送 FIN(终止请求)。

    2. 服务端返回 ACK(确认收到)。

    3. 服务端发送 FIN(自身终止请求)。

    4. 客户端返回 ACK(最终确认)。

  • 加分点:解释为什么需要四次挥手(双方需独立确认关闭)。


二、应用场景类问题

4. 输入 URL 到页面显示的全过程?
  • 回答流程:

    1. DNS 解析域名成 IP 地址。

    2. 建立 TCP 连接(三次握手)。

    3. 发送 HTTP/HTTPS 请求。

    4. 服务器处理请求并返回响应。

    5. 浏览器解析 HTML/CSS/JS 并渲染页面。

    6. 关闭 TCP 连接(四次挥手)。

  • 加分点:提到 CDN 加速、缓存机制(如强缓存/协商缓存)。

  • Cookie:客户端存储(浏览器),有大小限制(约 4KB),可能被篡改。

  • Session:服务端存储(服务器内存/数据库),依赖 Session ID(通常通过 Cookie 传递)。

  • 加分点:说明如何解决分布式 Session 共享问题(如 Redis 集中存储)。


三、问题排查类问题

6. 如何判断网络请求失败的原因?
  • 排查步骤:

    1. 检查 HTTP 状态码(如 404 资源不存在、500 服务器错误)。

    2. 查看浏览器控制台或抓包工具(如 Wireshark、Chrome DevTools)。

    3. 验证 DNS 解析是否正确(nslookup 或 dig)。

    4. 测试网络连通性(ping、telnet 检查端口)。

  • 加分点:举例实际调试经验(如跨域问题导致请求失败)。

7. 什么是跨域问题(CORS)?如何解决?
  • 原因:浏览器同源策略禁止跨域请求(协议/域名/端口不同)。

  • 解决方案:

    • 服务端设置响应头:Access-Control-Allow-Origin: *。

    • 代理服务器转发请求(开发环境常用)。

    • JSONP(仅限 GET 请求,已逐渐淘汰)。

  • 加分点:提到预检请求(Preflight Request)的作用。


四、开放性问题

8. 如何设计一个高并发的网络服务?
  • 关键点:

    • 负载均衡(如 Nginx 分发请求)。

    • 无状态服务设计(方便横向扩展)。

    • 异步处理(消息队列削峰填谷)。

    • 缓存优化(Redis 减少数据库压力)。

  • 加分点:结合具体技术栈(如微服务 + Kubernetes)。

9. 你对 HTTP/2 和 HTTP/3 有哪些了解?
  • HTTP/2:多路复用、头部压缩、服务器推送(基于 TCP)。

  • HTTP/3:基于 QUIC 协议(UDP 实现可靠传输),解决队头阻塞,更快连接建立。

  • 加分点:对比传统 HTTP/1.1 的性能瓶颈。


五、HR 可能关注的软技能问题

10. 你在团队项目中如何解决网络相关的技术难点?
  • 回答框架:

    1. 描述具体问题(如接口响应慢)。

    2. 分析原因(如数据库查询未优化、网络带宽不足)。

    3. 采取的解决方案(如引入缓存、压缩传输数据)。

    4. 最终效果(如延迟降低 50%)。

  • 示例:在开发在线协作工具时,通过 WebSocket 替代轮询优化实时通信。

相关推荐
码完就睡14 分钟前
Linux——计算机网络基础概论
linux·计算机网络
花间相见7 天前
【计算基础|网络04】—— HTTP接口实战(下):接口测试、鉴权与跨域排错
java·linux·人工智能·后端·python·计算机网络·postman
云运维笔记7 天前
华为设备IP地址配置全攻略
运维·网络·计算机网络·华为
鹿鸣天涯8 天前
护网专项工作 | 勒索病毒防护指南
网络·计算机网络·安全
z20348315208 天前
计算机网络—数据链路层
计算机网络
孙严Pay8 天前
代付 VS 纯代付
笔记·科技·计算机网络·其他·微信
2501_937860949 天前
上篇:网络编程基础与UDP套接字编程
java·网络·计算机网络
云运维笔记9 天前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
boxiansheng16310 天前
408计算机网络
网络·计算机网络·智能路由器
2501_9160088910 天前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp