LeetCode Hot 100 算法总结
LeetCode Hot 100 确实是面试中出现频率最高的题目,它们覆盖了解决算法问题最核心、最经典的思想。虽然题目看似千变万化,但其背后考察的算法和数据结构模式是高度集中的。 与其将这100道题看作是独立的个体,不如将它们视为对几个核心…
载入中...
共 200 篇文章
LeetCode Hot 100 确实是面试中出现频率最高的题目,它们覆盖了解决算法问题最核心、最经典的思想。虽然题目看似千变万化,但其背后考察的算法和数据结构模式是高度集中的。 与其将这100道题看作是独立的个体,不如将它们视为对几个核心…
这是一个非常核心且重要的问题。要彻底讲明白 JavaScript 中 Object {} 和 Map 的区别,我们需要从它们的设计哲学、内部机制和实际应用场景三个层面进行深入剖析。 这不仅仅是“Map 的键可以是任意类型”这么简单。 二、…
对于初始渲染数据的获取,放在哪个生命周期是一个非常核心且重要的问题。答案根据你使用的组件类型(函数组件或类组件)而有所不同。 总的来说,最佳实践是放在组件“挂载完成”的那个时间点。 传统选择:类组件中的 componentDidMount…
我们来彻底讲明白 JavaScript 中的 addEventListener。 这不仅仅是一个方法,它是现代 Web 交互的基石。理解它,意味着你理解了浏览器如何响应用户行为。 我们将从它是什么、为什么需要它,到它的每一个参数、底层的事件…
我们来系统且深入地剖析 <script 标签,从 defer 属性开始,并延展到所有相关的属性。 这不仅仅是关于“功能是什么”,更是关于“为什么需要它”以及“在何种场景下做出最优选择”。 defer 的核心作用:延迟且有序的执行 defe…
我们来彻底讲明白 requestAnimationFrame 通常简称为 rAF。 要真正理解它,我们不能只看它是什么,更要明白它为什么会出现,它解决了什么根本性的问题。 一、requestAnimationFrame 的诞生背景:旧时代…
我们来系统地梳理一下 JavaScript 中字符串(String)和数组(Array)的这些常用基础函数。 理解这两者差异的关键在于一个核心概念:字符串是不可变的(Immutable),而数组是可变的(Mutable)。记住这一点,很多函…
我们来系统且深入地剖析动态规划(Dynamic Programming, DP)。我会遵循第一性原理,从它最核心的思想出发,逐步构建起完整的知识体系,并最终用 JavaScript 代码来实践。 什么是动态规划?从本质说起 想象一下你每天…
好的,这是一个非常核心的前端性能问题。我们从第一性原理出发,一步步拆解,彻底讲明白回流(Reflow)与重绘(Repaint),以及 React 是如何通过其 Diff 算法巧妙地管理这个过程的。 浏览器的渲染过程:一切的起点 要理解回流…
题目:嵌套数组反转 Nested Array Reversal 题目描述: 请实现一个函数,该函数接收一个嵌套的数组作为输入。这个数组中可能包含数字以及其他数组。 函数的任务是,在保持原始数组的嵌套结构完全不变的情况下,将其中所有的数字进行…
算法题目:最小覆盖子串 给你一个字符串 s 和一个字符串 t 。请你找出在 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复的字符,我们寻找的子字符串中该字…
我们来系统且深入地剖析 qiankun 和 microapp 这两个主流的微前端框架。 微前端的核心目标是将一个庞大的单体前端应用(Monolith)拆分成多个更小、更独立、可自主开发和部署的子应用(Micro App),最后再将它们“无感…