每日一题--计算机网络

news2025/3/20 0:49:47

一、基础概念类问题

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 加速、缓存机制(如强缓存/协商缓存)。

5. Cookie 和 Session 的区别?
  • Cookie:客户端存储(浏览器),有大小限制(约 4KB),可能被篡改。

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

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


三、问题排查类问题

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

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

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

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

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

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

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 替代轮询优化实时通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

json字符串转对象,对象转JSON

背景: JSON字符串与对象之间的转换。在对接接口的数据的时候,因为是实时数据转发过来的。发现后端发过的数据是字符串【JSON字符串】但是我们前端需要的是一个对象。 核心代码: JSON.parse(JSON字符串) 效果展示: 接口JSON字符串转…

pandas中excel自定义单元格颜色

writerpd.ExcelWriter(filepathf05教师固定学生占比1月{today}.xlsx,engineopenpyxl) df.to_excel(writer,sheet_name明细) piv1.to_excel(writer,sheet_name1月分布) wswriter.book.create_sheet(口径) ws.cell(1,1).value综合占比: ws.cell(1,2).value固定学生占比…

3D标定中的平面约束-平面方程的几何意义

平面方程的一般形式为 AxByCzD0,其中系数 A、B、C、D共同决定了平面的几何特性。 系数对平面姿态的影响 1. 法向量方向2. 平面位置3. 比例关系4. 姿态变换5.平面空间变换 1. 法向量方向 法向量方向由 A、B、C 决定 核心作用:系数 A、B、C 构成的向量 (…

蓝桥杯第13届真题2

由硬件框图可以知道我们要配置LED 和按键 一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码&a…

Linux-03 删除ubuntu系统文件夹Videos和Templates后,如何恢复

文章目录 问题解决方法1. 重新创建 Videos 和 Templates 文件夹2. 配置 user-dirs.dirs 文件3. 更新用户目录配置xdg-user-dirs-update4. 重启系统:sudo reboot 问题 手欠的嫌弃Videos和Templates文件夹是空的,也不会用,就删除了&#xff0c…

Linux系统移植篇(十)根文件系统构建 V3 - Yocto

可以简单的将 Ubuntu 理解为一个根文件系统,和我们用 busybox、buildroot 制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上,但是因为 I.MX6ULL 孱弱的性能,本章我们就只移植 Ubuntu 的最小根文件系统&…

E902基于bash与VCS的仿真环境建立

网上看见很多E902仿真的文章,但用到的编译器是类似于这种Xuantie-900-gcc-elf-newlib-x86_64-V3.0.1-20241120,而我按照相应的步骤与对应的编译器,仿真总会报错。后面将编译器换成riscv64-elf-x86_64-20210512,反而成功了。现在开…

Pycharm接入DeepSeek,提升自动化脚本的写作效率

一.效果展示: 二.实施步骤: 1.DeepSeek官网创建API key: 创建成功后,会生成一个API key: 2. PyCharm工具,打开文件->设置->插件,搜索“Continue”,点击安装 3.安装完成后&…

Windows安装Apache Maven 3.9.9

第一步下载资源 官网:下载 Apache Maven – Maven 环境变量配置 M2_HOME 指向bin目录 MAVEN_HOME 指向根目录 M2_HOME 不确定是否必须要 Path配置 ,需要注意MAVEN顺序应当在java之前 验证是否安装成功,在cmd中以管理员方式打开&#xff0c…

jmeter将返回的数据写入csv文件

举例说明,我需要接口返回体中的exampleid与todoid的数据信息(使用边界提取器先将其提取),并将其写入csv文件进行保存 使用后置处理器BeanShell 脚本实例如下 import java.io.*;// 设置要写入的文件路径 String filePath "…

设计一个高性能的分布式限流系统

设计一个高性能的分布式限流系统 在现代分布式系统中,流量控制是保障系统稳定性和高可用性的关键技术之一。随着用户规模的增长和业务需求的复杂化,系统往往需要面对突发流量或恶意攻击等场景,这就对限流机制提出了更高的要求。一套高性能的…

[项目]基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信

基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信 一.Si24Ri原理图二.Si24R1芯片手册解读三.驱动函数讲解五.移植2.4g通讯(飞控部分)六.移植2.4g通讯(遥控部分)七.通讯模块的完成(遥控部分) 一.Si24Ri原理图 S…

【Android】RuntimeShader 应用

1 简介 RuntimeShader 是 Android 13(T)中新增的特性,用于逐像素渲染界面,它使用 AGSL(Android Graphics Shading Language)编写着色器代码,底层基于 Skia 图形渲染引擎。官方介绍详见 → Runti…

Skia 图形引擎介绍

文章目录 一、Skia 的基本概念1. 定位与作用2. 历史背景 二、Skia 的核心架构1. 模块化设计2. 渲染流程3. 跨平台适配 三、Skia 在 Flutter 中的角色1. 自绘 UI 的核心依赖2. 跨平台一致性3. 性能优化 四、Skia 的性能优势1. 高效的图形处理2. 与原生渲染的对比3. 性能瓶颈 五、…

10、基于osg引擎生成热力图高度图实现3D热力图可视化、3D热力图实时更新(带过渡效果)

1、结果 2、完整C代码 #include <sstream> #include <iomanip> #include <iostream> #include <vector> #include <random> #include <cmath> #include <functional> #include <osgViewer/viewer> #include <osgDB/Read…

Modbus通信协议基础知识总结

1. 数据类型与存储区分类 Modbus协议将数据分为四类存储区&#xff0c;通过存储区代号区分&#xff1a; 输出线圈&#xff08;0x&#xff09;&#xff1a;可读写&#xff0c;对应二进制开关量&#xff08;如继电器状态&#xff09;&#xff0c;地址范围000001-065536&#xff…

AndroidStudio下载安装,环境部署以及常见问题解决教程(亲测)

AndroidStudio下载安装&#xff0c;环境部署以及常见问题解决&#xff01;&#xff01;&#xff01; 文章目录 前言 一、Android Studio 下载与安装 1.1 系统要求 1.2 下载 Android Studio 1.3 安装 Android Studio Windows 系统 1.4 初始配置 二、环境部署 2.1 安装 …

开源免费一句话生成儿童故事视频核心思想解析

再看一个演示视频&#xff0c;学会核心思想后&#xff0c;可以打造自己的内容生成工具&#xff0c;后文有基于飞书多维表格的实现效果&#xff1a; 一句话灵感生成儿童故事视频演示 这是一款专门为内容素材创作打造的创新工具&#xff0c;可根据用户输入的主题&#xff0c;快速…

数据结构——最短路(BFS,Dijkstra,Floyd)

完整版可以看我的最短路问题模版总结_稠密图最短路-CSDN博客 考研数据结构只考BFS,Dijkstra和Floyd 下面代码以Acwing模板题为例 BFS代码 适用类型&#xff1a; 1.单源最短路径 2.无权图 3.不适用于带权图和负权回路图 //Acwing走迷宫bfs #include<bits/stdc.h>usi…

Kali Linux汉化教程:轻松设置中文界面

1.打开终端 2.输入sudo dpkg-reconfigure locales&#xff0c;回车&#xff0c;输入密码&#xff0c;回车 sudo dpkg-reconfigure locales 3.往下滑&#xff0c;滑到底&#xff0c;找到‘zh_CN.UTF-8 UTF-8’,回车 4.选择‘zh_CN.UTF-8’,回车 5.没有 ‘zh_CN.UTF-8’选项的特…