计算机网络面试核心60题:从TCP握手到HTTP/3的深度解析与实战指南
1. 项目概述一份能让你在面试中脱颖而出的“硬通货”又到了招聘季无论是校招还是社招计算机网络知识永远是技术面试中绕不开的“硬通货”。我见过太多候选人项目经验说得天花乱坠但一被问到“TCP三次握手为什么是三次而不是两次”、“从输入URL到页面显示发生了什么”立刻就卡壳了。这些基础问题答不上来面试官对你的技术扎实程度会打一个大大的问号。最近我帮团队面试发现大家手头资料五花八门质量参差不齐有的答案过时有的解释模糊根本没法用来应对现在越来越深入的面试考察。所以我花了些时间结合自己这些年面试别人和被面试的经验以及带新人时他们常犯的错整理出了这份“60道计算机网络面试题附答案背诵版”。这不仅仅是一份问题列表更是一份“解题思路”和“避坑指南”。我的目标是你拿到这份资料不仅能背下答案更能理解每个问题背后的原理和设计思想做到举一反三。无论是应对一线大厂的连环追问还是中小公司的快速筛选这份浓缩了核心考点和实战经验的清单都能让你心里更有底。2. 内容整体设计与思路拆解不止于背诵更在于理解2.1 选题逻辑覆盖高频核心与深度扩展在筛选这60道题时我遵循了几个核心原则。首先高频必考是基础。像OSI/TCP-IP模型、TCP/UDP区别、三次握手四次挥手、HTTP/HTTPS、DNS解析、ARP协议等这些是十次面试九次会问的必须涵盖且要讲透。其次注重原理深度。现在的面试早已不满足于“是什么”更关注“为什么”。因此我加入了大量需要理解机制的问题比如“TCP为什么需要TIME_WAIT状态”、“HTTPS的TLS握手具体过程是怎样的”。最后贴近实战场景。我特意挑选了一些能结合开发、运维实际场景的问题例如“一台机器最多能支持多少条TCP连接”、“CLOSE_WAIT状态过多怎么办”这些问题能直接考察候选人解决实际问题的能力。整个题库的结构是分层递进的。从网络基础概念如协议、模型入手到核心传输层协议TCP/UDP的深度剖析再到应用层协议HTTP/HTTPS、DNS等最后延伸到网络编程、安全及性能优化等综合话题。这样的结构符合知识体系也便于大家分模块复习和记忆。2.2 答案设计结构化表述与思维引导对于每道题的答案我坚决反对罗列干巴巴的条文。我的设计思路是定义 - 核心机制/流程拆解 - 关键点与常见误区 - 延伸思考。以“TCP的三次握手过程”为例一个平庸的答案可能只是说“客户端发送SYN服务端回复SYN-ACK客户端再回复ACK”。而在这份资料里你会看到流程拆解每一步的报文类型、序列号变化、状态变迁CLOSED - SYN_SENT - LISTEN - SYN_RCVD - ESTABLISHED。关键点解释为什么是三次不是两次—— 主要为了防止“已失效的连接请求报文”突然又传到服务器导致服务器错误打开连接。这里会用“旧SYN报文延迟到达”的场景来具体说明。常见误区很多人认为SYN需要消耗一个序列号ACK不需要。实际上携带数据的ACK报文也会消耗序列号这是一个常考点。延伸思考握手阶段可以携带数据吗可以在Linux 3.7以后TCP Fast Open允许在SYN报文中携带数据。这样的答案设计确保你在面试时不仅能复述流程更能应对面试官的深度追问展现出你的思考层次。3. 核心细节解析与实操要点把抽象协议讲“活”3.1 TCP协议的深度剖析可靠传输的基石TCP的复杂性在于其状态机和各种定时器、窗口机制的协同。在准备这部分时不能只死记状态图。滑动窗口与流量控制这是TCP保证可靠性和效率的核心。窗口大小决定了发送方在未收到确认前能发送的最大数据量。需要理解rwnd接收方窗口和cwnd拥塞窗口的区别。rwnd是接收方通过ACK报文通告的用于防止接收方缓冲区溢出流量控制cwnd是发送方根据网络拥塞状况自行维护的用于避免网络过载拥塞控制。在面试中经常会被问到“发送窗口大小是多少”正确答案是min(rwnd, cwnd)。拥塞控制算法这是高频难点。必须理解慢启动、拥塞避免、快速重传、快速恢复四个阶段。慢启动cwnd从1个MSS开始每收到一个ACK就翻倍指数增长。这里有个陷阱ssthresh慢启动阈值初始值很大如65535字节目的是快速探测网络容量。拥塞避免当cwnd ssthresh时进入线性增长阶段每RTT时间cwnd增加1个MSS。快速重传收到3个重复ACK时立即重传丢失的报文并将ssthresh设为当前cwnd/2cwnd设为ssthresh 3*MSS注意不是直接减半。快速恢复在快速重传后进入每收到一个重复ACKcwnd增加1个MSS直到收到新的数据ACK再将cwnd设为ssthresh进入拥塞避免。注意很多资料对快速恢复的cwnd设置表述不清。标准RFC 5681的做法是ssthresh cwnd/2,cwnd ssthresh 3*MSS。随后每收到一个重复ACKcwnd增加1个MSS。当收到新的数据ACK时cwnd ssthresh。这个细节在深入追问时至关重要。3.2 HTTP/HTTPS的演进与安全机制HTTP/1.1到HTTP/2再到HTTP/3的演进是理解现代Web性能优化的钥匙。HTTP/1.1的队头阻塞这是核心瓶颈。同一个TCP连接中前一个请求没处理完后一个请求就必须等待。虽然可以用多个TCP连接浏览器通常允许对同一域名开6-8个连接来缓解但这增加了连接建立和拥塞控制的成本。HTTP/2的多路复用它通过“流”的概念解决了队头阻塞。多个请求/响应可以在一个TCP连接上并行交错传输互不干扰。这得益于二进制分帧层将报文拆分成更小的帧HEADERS帧、DATA帧等并为每个帧打上流的ID。但需要注意的是HTTP/2的队头阻塞转移到了TCP层。因为TCP是字节流协议一旦某个TCP包丢失后续所有包的交付都会被阻塞即使它们属于不同的HTTP/2流。HTTP/3的QUIC协议为了彻底解决传输层队头阻塞HTTP/3基于UDP实现了QUIC协议。QUIC在用户空间实现了自己的可靠传输、拥塞控制和加密机制。每个QUIC流独立处理丢包一个流的包丢失不会影响其他流。此外QUIC将TLS 1.3集成进来将连接建立包含加密握手的RTT从2-3个减少到了0-1个通过连接迁移和0-RTT技术。HTTPS的TLS握手细节不能只说“非对称加密交换密钥然后用对称加密通信”。Client Hello客户端发送支持的TLS版本、密码套件列表、随机数A。Server Hello服务端选择版本和密码套件发送随机数B、证书。客户端验证证书用内置CA公钥验证服务器证书链的合法性。Pre-master Secret生成与加密客户端生成随机数CPre-master Secret用服务器证书中的公钥加密后发送。密钥派生客户端和服务端利用随机数A、B、C通过相同的算法如PRF派生出相同的主密钥进而派生出会话所需的对称加密密钥和MAC密钥。握手完成双方交换Finished消息用派生出的密钥加密验证整个握手过程未被篡改。实操心得在解释HTTPS时一定要点出“混合加密”体系非对称加密用于安全地交换对称密钥对称加密用于高效加密实际传输的数据。同时要明确证书的作用是“验证服务器身份”防止中间人攻击。4. 实操过程与核心环节实现从理论到场景的跨越4.1 经典场景拆解从URL到页面的完整旅程这道题是面试的“王炸”可以考察几乎整个网络栈的知识。一个完整的回答应该像讲故事一样层层递进。URL解析与HSTS检查浏览器首先解析URL提取协议、主机、端口、路径。然后检查本地HSTS预加载列表如果网站在列表中即使输入http也会强制跳转到https。DNS域名解析这是第一步网络交互。浏览器检查本地缓存hosts文件、浏览器缓存、操作系统缓存- 本地DNS服务器 - 根DNS服务器 - 顶级域服务器 - 权威DNS服务器的迭代/递归查询过程。务必提到DNS over HTTPS (DoH) 或 DNS over TLS (DoT)这些新的安全解析方式这是加分项。建立TCP连接获得IP后进行TCP三次握手。如果是HTTPS则在此TCP连接上进行TLS握手如上文所述。发送HTTP请求构建HTTP请求报文方法、URL、协议版本、Headers、Body。关键Header如Connection: keep-alive,User-Agent,Accept-Encoding等要能说出作用。服务器处理并响应服务器处理请求返回HTTP响应报文状态码、Headers、Body。这里要能解释常见状态码200, 301/302, 304协商缓存, 404, 500。浏览器解析渲染这是一个前端更关注的环节但网络层面需要知道浏览器是边接收边解析的。遇到linkCSS会并行下载但会阻塞渲染遇到script没有async/defer属性会阻塞HTML解析并立即下载执行。连接关闭对于HTTP/1.1 Keep-Alive连接会保持一段时间以供复用。最终会触发TCP四次挥手。在回答时可以主动说“这个过程非常复杂我从网络层的角度重点讲一下DNS解析、TCP/TLS握手、HTTP请求响应的细节……”这样能引导面试官向你准备好的领域提问。4.2 网络命令实战与问题诊断思路知道理论还要能解决实际问题。面试官可能会问“如果服务器访问很慢你怎么排查”链路层与网络层排查ping 目标IP/域名检查基本连通性和RTT往返时延。如果延迟高或丢包可能是网络链路问题。traceroute(Windows下是tracert)追踪数据包经过的路由路径定位网络在哪个节点出现高延迟或丢包。mtr结合了ping和traceroute的持续诊断工具更能反映网络质量波动。传输层与应用层排查netstat -antp或ss -antp查看所有TCP连接的状态。重点关注TIME_WAIT和CLOSE_WAIT。大量TIME_WAIT是主动关闭连接方如客户端的正常现象但过多可能消耗端口资源大量CLOSE_WAIT则意味着你的应用程序没有正确调用close()关闭连接是典型的资源泄漏。telnet IP 端口快速测试某个TCP端口是否开放且可连接。对于HTTP服务用curl -v URL可以详细打印出HTTP请求和响应的头部信息便于调试。深度分析工具tcpdump在服务器上抓取原始网络包。例如tcpdump -i any host 客户端IP and port 80 -w capture.pcap。Wireshark图形化分析抓取的pcap文件可以直观看到TCP握手、数据传输、挥手全过程分析丢包、重传、乱序等问题。排查技巧实录有一次我们线上服务偶发性超时ping和traceroute都正常。最后用tcpdump抓包发现某些TCP连接在完成三次握手后客户端立刻发送了一个RST复位连接。原因是客户端的并发连接数超过了其本地端口数限制net.ipv4.ip_local_port_range导致无法分配新端口而主动重置。所以网络问题排查一定要有层次从底层连通性到上层应用行为逐步缩小范围。5. 常见问题与排查技巧实录面试官爱问的“坑”5.1 TCP相关的高频难题问题一TCP四次挥手时为什么TIME_WAIT状态需要等待2MSL这是为了两个目的1)可靠地终止连接确保最后一个ACK能到达对端。如果ACK丢失对端会重发FIN处于TIME_WAIT的这端还能再次回应ACK。2)让旧连接的报文在网络中消逝防止具有相同四元组源IP、源端口、目的IP、目的端口的旧连接报文干扰新连接。2MSLMaximum Segment Lifetime报文最大生存时间足以让任何方向的报文都在网络中消失。问题二大量CLOSE_WAIT状态意味着什么CLOSE_WAIT是被动关闭方收到FIN后的状态。如果大量连接停留在此状态几乎可以断定是应用程序的Bug对方已经关闭了连接发送了FIN但你的程序没有调用socket.close()方法。这会导致文件描述符泄漏。排查方向是检查代码中所有Socket操作的异常处理逻辑确保在finally块或try-with-resources中关闭连接。问题三TCP有粘包/拆包问题吗这是一个经典的表述误区。TCP是面向字节流的协议本身没有“包”的概念也就没有“粘包”。发送端多次写入的数据在接收端缓冲区可能被一次性读出这取决于应用层读取缓冲区的方式和时机。解决方案是在应用层设计消息边界常见方法有1) 固定长度消息2) 使用特殊分隔符如换行符3) 在消息头部添加长度字段如HTTP的Content-Length或自定义的4字节长度头。这才是面试官想听到的“正确理解与解决方案”。5.2 HTTP/HTTPS与Web安全问题一HTTPS是如何防止中间人攻击的核心在于证书体系。服务器证书由受信的CA签发其中包含服务器的公钥和域名等信息。浏览器内置了CA的公钥。当浏览器收到证书时会用CA公钥验证证书的签名从而确保证书内容包括服务器公钥未被篡改。中间人无法伪造一个能被CA验证通过的证书因此无法冒充服务器。同时后续通信的加密密钥由客户端生成并用服务器公钥加密中间人没有服务器私钥也无法解密。问题二GET和POST请求的本质区别是什么不要再说“GET参数在URL里POST在Body里”或者“GET有长度限制”这种表面答案了。从HTTP协议标准来看最本质的区别在于其语义GET是幂等的、安全的仅获取资源不应改变服务器状态而POST是非幂等的、不安全的用于提交数据可能改变状态。其他区别如参数位置、长度限制、浏览器历史记录都是具体实现或浏览器行为并非协议强制规定。在RESTful API设计中正是基于这种语义来使用它们。问题三Session和Cookie的区别与联系存储位置Cookie存储在客户端浏览器Session数据存储在服务器端内存、数据库等。安全性Session更安全因为敏感信息不通过网络传输。联系Session ID通常需要通过Cookie或URL重写在客户端和服务器之间传递以关联同一用户的多次请求。可以说Cookie是Session的一种主流实现方式。5.3 网络编程与性能优化问题一一台Linux服务器最多能支持多少条TCP连接这是一个考察综合知识的问题。限制主要来自文件描述符限制每个TCP连接对应一个Socket文件。通过ulimit -n查看和修改单个进程的限制通过/proc/sys/fs/file-max修改系统总限制。端口号限制作为客户端一个IP可用的端口数约655350-1023为知名端口通常可用的是1024-65535。但作为服务器监听同一个端口可以接受来自无数个不同客户端IP:Port的连接因此端口数不是服务器的限制。内存限制每个TCP连接都需要占用一定的内核内存读写缓冲区。可以通过/proc/sys/net/ipv4/tcp_mem和tcp_rmem/tcp_wmem来调整。CPU限制海量连接下的上下文切换和中断处理会成为瓶颈。结论是理论上受限于内存和文件描述符单机百万连接是可行的通过调整系统参数和优化程序。Epoll等I/O多路复用技术正是为了高效管理海量连接而生的。问题二什么是Epoll和Select/Poll的区别这是Linux下高性能网络编程的核心。Select/Poll它们采用轮询机制每次调用都需要将完整的文件描述符集合从用户态拷贝到内核态内核遍历所有fd来检查就绪状态。当连接数很大时拷贝和遍历的开销线性增长性能急剧下降。Epoll采用事件驱动回调机制。它通过epoll_create创建一个上下文通过epoll_ctl添加或修改fd及其关注的事件。当事件发生时内核通过回调机制只将就绪的fd和事件放入一个就绪列表epoll_wait调用时只需从这个列表取出无需遍历所有fd。这种机制在连接数多但活跃连接少的情况下效率远高于Select/Poll。问题三TCP的Keepalive和HTTP的Keep-Alive有什么区别这是两个完全不同的概念经常被混淆。TCP Keepalive是TCP协议层的一个功能用于探测空闲连接的对端是否还存活。它默认关闭开启后如果连接空闲超过一定时间默认2小时内核会发送一个探测报文。如果对方无响应会重试几次后断开连接。目的是清理“半打开连接”。HTTP Keep-Alive是HTTP/1.1协议的一个特性属于应用层。它通过请求头Connection: keep-alive告知服务器希望复用这个TCP连接来发送后续的HTTP请求避免为每个请求都建立新的TCP连接。目的是减少连接建立的开销提升性能。这份“60道面试题”的精华远不止这60个问答本身。它更像是一张地图帮你梳理出计算机网络知识体系中的关键路径和险峻关隘。真正的准备不是机械地背诵答案而是理解每个问题背后的“为什么”并能在面试的压力下清晰、有条理地表达出来甚至能主动引导面试官进入你熟悉的领域。技术面试归根结底是沟通是展示你系统性思考和解决问题的能力。希望这份资料能成为你求职路上的一块坚实垫脚石。

相关新闻

OpenClaw模型选择与切换:实现机器人抓取自适应控制

OpenClaw模型选择与切换:实现机器人抓取自适应控制

1. 项目概述:为什么模型选择与切换是OpenClaw的灵魂在自动化流程和机器人控制领域,OpenClaw作为一个开源的抓取控制框架,其核心能力往往被聚焦于机械臂的运动规划、视觉识别或是末端执行器的精准操作。然而,从业内一线的实战经验来…

2026/10/17 9:20:04 阅读更多 →
Meta-Orchestrator:构建多智能体协同编程系统,突破传统Coding Agent瓶颈

Meta-Orchestrator:构建多智能体协同编程系统,突破传统Coding Agent瓶颈

1. 项目概述:从“假聪明”到“真协同”的进化如果你也深度使用过市面上那些所谓的“智能”Coding Agent,大概率和我有过同样的感受:它们看起来无所不能,能生成代码、修复bug、甚至重构整个模块。但当你真正把一项稍微复杂的任务交…

2026/10/16 21:22:03 阅读更多 →
IDEA缓存优化与清理实践指南

IDEA缓存优化与清理实践指南

1. 为什么需要优化IDEA缓存IDEA作为Java开发者最常用的集成开发环境,其性能表现直接影响编码效率。但很多开发者都遇到过这种情况:随着项目规模增大,IDEA变得越来越卡顿,启动时间延长,代码提示响应变慢,甚至…

2026/10/18 9:29:11 阅读更多 →

最新新闻

2019年CSP-S初赛选择题1-5题精讲:进制、位运算、栈、二叉树与KMP陷阱全解析

2019年CSP-S初赛选择题1-5题精讲:进制、位运算、栈、二叉树与KMP陷阱全解析

2019年的CSP-S初赛,是我第一次以“CSP”而不是“NOIP”的名义走进考场。说实话,当时心里多少有点没底——毕竟是新名字的第一年,谁也不知道命题风格会不会大改。等我翻到选择题第一页,看到前5题的时候反而松了口气:进制…

2026/10/19 3:15:05 阅读更多 →
腾讯云文本审核工具类封装实践:从SDK调用到一行接入

腾讯云文本审核工具类封装实践:从SDK调用到一行接入

做后端这几年,涉及用户输入的场景就没断过——评论、弹幕、私信、AI对话、论坛发帖,几乎每个能提交文字的地方都得过一道内容安全检查。一开始我也图省事,想着审核就审核,直接在业务代码里new一个请求对象,调一下腾讯云…

2026/10/19 3:15:05 阅读更多 →
神龙汽车新春守护直播:车企节点型用户关系运营如何落地

神龙汽车新春守护直播:车企节点型用户关系运营如何落地

看到“知音相伴 一路同行|神龙汽车‘新春守护暖心发布’专场直播即将温情启幕”这个标题时,我第一反应是:这不只是一场普通的车企直播预告,而是一个典型的“节点型用户关系运营”样本。作为一个常年做汽车品牌营销和直播策划的人&…

2026/10/19 3:15:05 阅读更多 →
JSON-RPC 2.0实战:Python实现、TCP/HTTP接入与避坑指南

JSON-RPC 2.0实战:Python实现、TCP/HTTP接入与避坑指南

简介:jsonRPC.rar是一份面向Java Web开发者的JSON-RPC入门案例资源包,集中演示了轻量级远程调用协议的基本原理与实现方式,解决分布式服务通信及前后端API交互场景中的实际搭建问题。资源共35个文件,包含25个jar依赖库&#xff08…

2026/10/19 3:15:05 阅读更多 →
TTHHO优化RBF神经网络参数:分类预测准确率突破91%的实战解析

TTHHO优化RBF神经网络参数:分类预测准确率突破91%的实战解析

如果你手头有一个分类任务,先试了试直接训练径向基函数网络(RBF),结果测试集准确率卡在八成出头再也上不去,你大概率会怀疑:是不是数据没处理好?特征选择有问题?我告诉你&#xff0c…

2026/10/19 3:15:04 阅读更多 →
Flink有界流与无界流:核心区别、运行时行为差异与选型避坑指南

Flink有界流与无界流:核心区别、运行时行为差异与选型避坑指南

1. 从一个反直觉的现象说起:为什么批处理跑得好好的,换成流处理就出问题刚接触 Flink 的人,十有八九会在某个时刻被一个看似简单的问题绊住:我明明写的是同一套算子逻辑,为什么换成流模式跑,结果要么迟迟不…

2026/10/19 3:14:03 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →