1. 刷题笔记的价值与意义
刷题笔记是程序员和技术从业者提升编码能力的重要工具。2026年1月25日至26日这两天的刷题记录,看似简单的时间标记,实际上蕴含着技术成长的完整轨迹。好的刷题笔记不仅能记录解题过程,更能形成可复用的知识体系。
我见过太多人刷完题就把代码扔在一边,几个月后遇到类似问题又要从头思考。系统化的笔记可以避免这种低效重复。以HTML相关题目为例,记录下标签的语义化使用场景、浏览器兼容性处理等细节,下次遇到就能快速调用这些经验。
2. 如何构建高效的刷题笔记系统
2.1 笔记内容组织结构
有效的刷题笔记应该包含这几个核心部分:
- 题目描述:用自己的话复述题目要求
- 初始思路:记录第一反应解法及其优缺点
- 优化过程:记录调试和优化步骤
- 最终方案:附带时间/空间复杂度分析
- 相关扩展:类似题目或变种思考
对于HTML/CSS题目,我会特别标注浏览器兼容性要求和响应式设计考量。比如处理图片懒加载时,除了基本的 标签,还要记录picture元素和srcset属性的使用场景。
2.2 代码片段的记录技巧
直接粘贴代码是低效的。我习惯这样做:
- 用注释标注关键算法步骤
- 对复杂逻辑添加示意图
- 记录不同解法的时间对比
- 添加测试用例示例
<!-- 图片懒加载实现 --> <img><article> <header> <h1>文章标题</h1> <time datetime="2026-01-25">2026年1月25日</time> </header> <section> <h2>章节标题</h2> <p>正文内容...</p> <figure> <img src="diagram.svg" alt="结构示意图"> <figcaption>HTML5语义化标签示意图</figcaption> </figure> </section> <footer> <p>版权信息</p> </footer> </article>注意点:
- 避免div滥用,优先使用语义化标签
- 正确嵌套heading层级(h1-h6)
- 为时间元素添加datetime属性
- figure/figcaption组合使用
3.2 表单验证题目
表单处理要兼顾用户体验和安全性:
<form id="user-form"> <div> <label for="email">邮箱:</label> <input type="email" id="email" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$"> <div class="error-message"></div> </div> <div> <label for="password">密码:</label> <input type="password" id="password" required minlength="8" maxlength="20"> </div> <button type="submit">注册</button> </form> <script> // 实时验证反馈 document.getElementById('email').addEventListener('input', (e) => { const errorEl = e.target.nextElementSibling; if (!e.target.validity.valid) { errorEl.textContent = '请输入有效的邮箱地址'; } else { errorEl.textContent = ''; } }); </script>关键记录项:
- HTML5原生验证属性组合使用
- 客户端验证与服务器端验证的关系
- 无障碍访问考虑(label关联)
- 移动端适配要点
4. 刷题笔记的进阶技巧
4.1 错题本管理
我建立了三级分类体系:
- 知识盲区:完全没思路的题目
- 实现错误:有思路但编码出错
- 优化空间:能解但效率不高
每周会专门review第二类错误,比如曾经在处理事件委托时,经常混淆event.target和event.currentTarget,通过反复练习终于形成肌肉记忆。
4.2 可视化记录
复杂问题我会画流程图辅助理解:
开始 ↓ 解析HTML → 构建DOM树 ↓ ↓ 加载CSS → 构建CSSOM ↓ ↓ 合并DOM和CSSOM → 构建渲染树 ↓ 布局计算 ↓ 绘制渲染 ↓ 结束4.3 性能优化笔记
记录不同解法的性能对比:
| 方法 | 时间复杂度 | 空间复杂度 | 适用场景 |
|---|---|---|---|
| 递归 | O(2^n) | O(n) | 小规模数据 |
| 动态规划 | O(n^2) | O(n) | 有最优子结构 |
| 贪心算法 | O(nlogn) | O(1) | 局部最优即全局最优 |
5. 笔记工具与工作流
5.1 工具选择
我尝试过多种组合,最终稳定使用:
- VS Code + Markdown插件:主笔记
- Excalidraw:画示意图
- LeetCode插件:直接记录题目
- Git版本控制:追踪进步历程
5.2 每日工作流
- 早上30分钟复习前日笔记
- 刷题时实时记录思路
- 晚上1小时整理优化
- 周末进行知识重组
5.3 移动端同步
配置了Syncthing实现多设备同步,手机上也安装了Markor查看器,碎片时间可以随时复习。对于代码片段,使用Termux搭建了移动开发环境,能进行简单测试。
6. 从笔记到知识体系
6.1 主题式重组
每月会将分散的笔记按主题重组,例如将所有HTML语义化相关的题目整理成专题,发现知识间的联系。
6.2 教学式输出
尝试将笔记改写成技术博客,教是最好的学。在解释如何正确使用
东南亚地图shp格式资源详解:从图层结构到GIS实战应用
简介:面向GIS从业者、地理研究与城市规划人员,这份东南亚矢量地图数据以Esri Shapefile格式组织,覆盖国家边界、省界、河流、水域及主要城市驻地等核心要素,可用于区域边界分析、缓冲区与网络分析、专题制图及空间统计,…
AI Agent能力扩展的三层解耦:Skill语义、MCP契约与插件载体
1. 一个被严重误解的“三选一”陷阱:为什么AI Agent能力扩展根本不是在Skill、MCP和插件之间做选择我第一次在技术分享会上听到“给Agent加能力,你选Skill、MCP还是插件?”这个问题时,下意识就想举手说“都选”。台下三十多位来自…
基于YOLO与PyQt5的交通事故检测系统设计与优化
1. 项目概述:交通事故检测系统的技术架构与核心价值这套交通事故检测系统本质上是一个融合了计算机视觉与图形界面的智能分析工具。我在实际部署中发现,它的核心优势在于将YOLO系列算法的高效检测能力与PyQt5的交互设计完美结合,形成了从数据…
从Linux到AIOps大模型:云原生智能运维全链路实战
1. 项目背景与目标定位先说结论:这期内容不是教你怎么敲几个Linux命令,也不是单纯带你装个监控面板,而是一套完整的云原生基础设施与智能运维的工程化落地思路。项目标题里的关键词拆开看——Linux、云计算、AIOps、大模型、云原生——每一个…
LangGraph多智能体系统路由层纯净架构设计与实践
1. 项目背景与问题定位在LangGraph的多智能体系统中,路由层(Router)的设计初衷是作为纯粹的决策中枢,仅负责根据输入选择最合适的工具或子智能体。但在实际开发中,我们经常发现Router层逐渐演变成了"全能管家",不仅承担…
AI生成Vue组件的可复用模式与工程化实践
1. 这不是玄学,是可提取的模式:H35项目里组件复用的“代码指纹”我第一次在AI生成的Vue代码里发现那个规律时,手里的咖啡凉了都没察觉。那是一段用于直播弹幕渲染的组件,结构干净得不像人写的——props定义工整、slot命名统一、生…