标签:面试

共 412 篇文章

八股文08-03
阅读

ES6到HTTPS全链路

⚡Promise:异步的“承诺书”如何兑现? 📌 Promise 有 3 个状态 : 1. :初始态,等待结果 2. :成功态,被 3. :失败态,被 状态 单向流动 : 或 ,不可逆 ❗ ⚠️ 状态一旦改变,永不回头? 「Q1: Promise 状态变了,then 还能监听到吗?」 A1: 能!即使 resolve 在 then 之前,Promise 会“记住”结果,后续 then 依然执行(微任务队列机制)👉继续看?💡 「Q2...

#面试
javascript08-03
阅读

Web Worker:让前端飞起来的隐形引擎

在现代 Web 开发中,前端性能优化是一个至关重要的课题,尤其是对于计算密集型的应用,如图像处理、视频处理、大规模数据分析等任务。单线程的 JavaScript 引擎常常成为性能瓶颈,导致应用变得迟缓。 Web Worker ,作为一种强大的技术,使得前端能够在后台进行并行计算,从而实现高效的任务处理,不影响主线程的运行和用户的交互体验。 本文将深入探讨 Web Worker 的概念、工作原理、使用方法以及实际应用场景,帮助你更好地理解...

#学习#面试
性能优化08-03
阅读

前端性能优化实战:从页面加载到交互响应的全链路优化

性能优化的核心指标 在开始优化之前,我们先要明确几个核心指标: 1\. FP (First Paint) 首次绘制 用户看到第一个像素的时间。 2\. FCP (First Contentful Paint) 首次内容绘制 用户看到第一个有意义内容的时间。 3\. LCP (Largest Contentful Paint) 最大内容绘制 页面最大内容元素渲染完成的时间。 4\. FID (First Input Delay) 首次输入...

#学习#面试
react08-03
阅读

在 React 中实现倒计时功能会有什么坑

倒计时 倒计时是一个非常常见的业务场景,但是在 React 中实现起来,却不算简单。 首先我们来看这段倒计时代码,它能否正常执行? 来看看实际表现效果 可以看到计时器在不断执行,但是 的值却没有变。 这是一个很经典的问题:React 闭包陷阱 。 我们来详细分析下: 的依赖数组 是空的,这意味着 effect 只会在组件挂载时执行一次,而不会在 状态更新时重新执行。所以 回调函数中捕获的 值始终是初始值 。 这个问题解决起来也很简单,有...

#学习#面试
javascript08-03
阅读

彻底搞懂前端路由:从 Hash 到 History 的演进与实践

一、什么是路由? 在 Web 开发中, 路由(Route) 是 URL 与资源 之间的映射关系。 服务端路由 :传统多页应用(MPA)里,浏览器每跳转一次 URL,都会向服务器发起一次新的请求,服务器根据 URL 返回不同的 HTML 页面。 前端路由 :单页应用(SPA)里,浏览器只加载一次 ,后续 URL 变化 完全在客户端完成 ,不触发整页刷新,通过 JS 动态渲染局部视图仅 局部更新 DOM , 不刷新页面 。 二、SPA 为什...

#学习#面试
react07-30
阅读

React性能优化三剑客:memo、useMemo和useCallback详解

前言 在React开发中,性能优化是一个永恒的话题。今天我们就来深入探讨React提供的三个重要性能优化工具: 、 和 ,它们如何帮助我们构建更高效的React应用。 1\. 为什么需要性能优化? 🤔 React的核心机制是当组件的state或props发生变化时,组件会重新渲染。但有时这种重新渲染是不必要的: 父组件更新导致所有子组件重新渲染 ,即使子组件的props没有变化 复杂计算在每次渲染时重复执行 ,消耗大量资源 函数引用在...

#学习#面试
javascript07-30
阅读

揭秘JS事件循环:带你深入理解async与await、Promise与RAF

🚀 探索更多React Hooks的可能性?访问 查看完整文档,通过 快速安装,让你的React开发效率翻倍! 引言 在前端开发领域,JavaScript的事件循环(Event Loop)机制是理解异步编程、优化性能的关键。它不仅是面试中的高频考点,更是编写高效、无阻塞代码的基石。然而,许多开发者对其理解仍停留在表面,尤其是当 、 以及 等现代异步API交织在一起时,其执行顺序往往令人困惑。 今天,我们将通过一道经典的字节跳动面试题,...

#学习#面试
浏览器07-30
阅读

浏览器内核到底有哪些?它们各自又有什么区别?

这问题其实很多刚入行的同学经常搞混,所以今天我来一次性讲明白—— 浏览器内核 到底有哪些?它们各自又有什么区别? 说白了,浏览器内核就是浏览器的大脑,分两部分: 渲染引擎(Rendering Engine) :负责网页的排版渲染,HTML、CSS统统交给它。 JS引擎(JavaScript Engine) :处理JavaScript脚本逻辑,比如你点按钮后弹出对话框这种行为。 1)常见浏览器内核盘点 下面我直接列几个主流的浏览器内核,顺...

#学习#面试
javascript07-30
阅读

面试官:怎么禁止用户复制

面试官:怎么禁止用户复制我们网页中的内容 青铜段位:阻止默认事件法 包括但不限于阻止copy事件,mouse事件(阻止选区产生),阻止key事件(阻止键盘操作)等等。 例子: 未登录的csdn 面试官挑眉 :“用户按F12禁用JavaScript,阁下又当如何应对?” 黄金段位:CSS 幻术 本质上就是用css让用户无法区选到对应的内容,从而不能产生复制。 面试官微笑 :“我在控制台删掉::after伪元素,阁下幻术不攻自破,并且无法区...

#学习#面试
1...789...46