前端存储是面试中的经典话题。localStorage、sessionStorage 与 Cookie 被反复放在一起比较,但初学时常常会感到困惑:Cookie 明明是 HTTP 协议中用来维持会话状态的机制,为什么总是被拉进”浏览器存储”的比较当中?本文从状态与存储的双重视角出发,梳理这三者(以及它们背后更大的家族)的关系,补全面试中容易被追问的脉络。 本文参考了掘金文章《面试题深度解析:...
开始根据林想的Web工坊大佬的建议路线学习CSS。 本文涉及内容会如下: CSS flexible box layout - CSS | MDN CSS grid layout - CSS | MDN flex是内容驱动排列,而grid则是布局驱动排列。 📊 本节知识点重要度速览: display: flex / 双轴概念 / flex: 1 / align-ite...
开始根据林想的Web工坊大佬的建议路线学习CSS。 本文涉及内容会如下: CSS display - CSS | MDN CSS positioned layout - CSS | MDN Block and inline layout in normal flow(正常流中的块级与行内布局) CSS 2.1 规范定义了正常流(normal flow)的默认行为:所有盒子都属于...
开始根据林想的Web工坊大佬的建议路线学习CSS。 本文涉及内容会如下: Introduction to the CSS box model - CSS | MDN Understanding and setting aspect ratios - CSS | MDN Introduction to the CSS box model(CSS 盒模型入门) 浏览器渲染引擎在排版...
一、文件是什么 package.json 是每个 Node.js/前端项目的身份证 + 说明书 + 遥控器。 身份证(项目元信息)→ name / version / author / description 说明书(依赖清单) → dependencies / devDependencies 遥控器(快捷命令) → scripts 没有它: 别人不知道你项目叫什么 pnp...
打算在这系列博客把hot100的题扫一遍,分模块来。 完全平方数 题目描述: 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 示例 1: 输入:n = 12 输出:3 解释:12 = 4 + 4 + 4 示...
打算在这系列博客把hot100的题扫一遍,分模块来。 组合总和 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字...
打算在这系列博客把hot100的题扫一遍,分模块来。 只出现一次的数字 题目描述: 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 示例 2 : 输入:nums = ...
打算在这系列博客把hot100的题扫一遍,分模块来。 回溯:枚举所有可能,要具体方案(路径、组合) DP:子问题有重叠,求最优值或总数(最短路径、方案数) 贪心:每步局部最优直接推全局最优,求最优值(最快、最大、最远) 回溯和DP的区别是要不要所有方案,DP和贪心的区别是局部最优能不能推全局最优。DP的”局部”是子问题,贪心的”局部”是当前这一步。 子问题最优≠当前步最优...
打算在这系列博客把hot100的题扫一遍,分模块来。 数组中的第K个最大元素 题目描述: 给定整数数组 nums 和整数 k,请返回数组中第 **k** 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k = 2 输出:...