当前位置: 首页 > article >正文

前端最新面试题及答案 (2025)

前端最新面试题及答案 (2025)

JavaScript 核心

1. ES6+ 新特性

问题: 请解释 ES6 中 let/const 与 var 的区别,以及箭头函数的特点。

答案:

  • let/const vs var:

  • 作用域: let/const 是块级作用域,var 是函数作用域

  • 变量提升: var会提升变量,let/const不会(有暂时性死区)

  • 重复声明: var允许重复声明,let/const不允许

  • const声明必须初始化且不能重新赋值(对象属性可修改)

  • 箭头函数:

  • 语法更简洁

  • 没有自己的this,继承外层this值

  • 不能作为构造函数使用(new)

  • 没有arguments对象,可用rest参数替代

2. Promise与异步编程

问题: Promise.all、Promise.race、Promise.allSettled有什么区别?

答案:

  • Promise.all:
    所有promise都成功时返回结果数组;任何一个失败立即reject
  • Promise.race:
    第一个settled的promise决定结果(无论成功失败)
  • Promise.allSettled:
    等待所有promise完成(无论成功失败),返回每个的结果状态数组
// Promise.allSettled示例  
Promise.allSettled([promise1, promise2]).then(results => {  
results.forEach(result => {  
if(result.status === 'fulfilled') {  
console.log('成功:', result.value);  
} else {  
console.log('失败:', result.reason);  
}  
});  
});  

React

1. React Hooks

问题: useEffect和useLayoutEffect有什么区别?请给出使用场景示例。

答案:

useEffectuseLayoutEffect
执行时机DOM更新后异步执行DOM更新前同步执行
使用场景API请求、订阅等DOM测量、同步DOM操作
// useLayoutEffect示例:测量DOM元素尺寸  
function MeasureExample() {  
const [size, setSize] = useState({});  
const ref = useRef();  useLayoutEffect(() => {  
setSize({  
width: ref.current.offsetWidth,  
height: ref.current.offsetHeight  
});  
}, []);  return <div ref={ref}>Size: {JSON.stringify(size)}</div>;  
}  

相关文章:

前端最新面试题及答案 (2025)

前端最新面试题及答案 (2025) JavaScript 核心 1. ES6+ 新特性 问题: 请解释 ES6 中 let/const 与 var 的区别,以及箭头函数的特点。 答案: let/const vs var: 作用域: let/const 是块级作用域,var 是函数作用域 变量提升: var会提升变量,let/const不会(有暂时性死区) 重…...

视频编解码学习十二之Android疑点

一、android.view.SurfaceControl.setDisplaySurface的作用 android.view.SurfaceControl.setDisplaySurface 是 Android 系统中一个 native 层级别的 API&#xff0c;主要用于 设置某个物理显示屏&#xff08;Display&#xff09;的输出 Surface&#xff0c;属于 SurfaceFlin…...

绘制时间对应的数据曲线

头文件#pragma once #include "ChartControl.h" #include <vector> #include "DBOperate.h&...

HTTP 请求中 Content-Type 头部

HTTP 请求中 Content-Type 头部可以设置的各种不同的传输格式。multipart/form-data 只是其中一种,主要用于传输包含文件的数据。 以下是一些常见的 HTTP 请求体的 Content-Type 及其用途: 常见的数据传输格式 (Content-Type) 列表: application/json: 描述: 用于传输 JSO…...

spring boot Controller 和 RestController 的区别

spring boot Controller 和 RestController 的区别 5.3.1常用注解 Spring MVC控制器中常使用的注解有如下几种。 Controller Controller 标记在类上。使用Controller 标记的类表示是Spring MVC的Controller对象。分发处理器将会扫描使用了该注解的类&#xff0c;并检测其中的…...

LeRobot 项目部署运行逻辑(七)—— ACT 在 Mobile ALOHA 训练与部署

全部流程为&#xff1a;硬件配置 -> 环境安装 -> 遥操作数据采集 -> 数据集可视化 -> 策略训练 -> 策略评估 在之前的笔记中已经完成了绝大部分&#xff0c;最后再记录一下最后的训练部署&#xff0c;算是最简单的部分了 目录 1 ACT 训练 2 ALOHA 部署 3 更…...

高频交直流电流测量技术:射频PA与MEMS测试的简单解决方案

随着5G通信和智能传感器技术的快速发展&#xff0c;传统电流测量手段已难以满足现代电子设备的测试需求。最新一代交直流混合测量探头通过突破性的技术创新&#xff0c;正在重新定义射频功率器件和微机电系统的测试标准。 射频功率放大器测试新范式&#xff1a; 在5G基站等高…...

原生微信小程序 textarea组件placeholder无法换行的问题解决办法

【问题描述】 微信小程序原生代码&#xff0c;使用文本域&#xff0c;placeholder使用\n 没有效果&#xff0c;网上找了一堆方案说使用 也没有效果 最后在一个前端大佬博客&#xff0c;找到解决办法&#xff0c;CSS设置word-wrap: break-word; white-space: pre-line; 【解决办…...

网络协议分析 实验二 IP分片与IPv6

文章目录 索引及重要内容实验2 IP 高级实验实验2.1 IPv4协议分片实验实验2.2 IPV6协议实验2.3 ARP初级 索引及重要内容 实验2 IP 高级实验 实验2.1 IPv4协议分片实验 icmp的不可达报文 实验2.2 IPV6协议 实验2.3 ARP初级 arp –a 查看ARP缓存表内容 arp –s IP地址(格式&…...

QT6 源(101)篇一:阅读与注释 QPlainTextEdit,其继承于QAbstractScrollArea,属性学习与测试

&#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09;属性学习与测试 &#xff1a; &#xff08;4&#xff09; &#xff08;5&#xff09; 谢谢...

【ROS2】编译Qt实现的库,然后链接该库时,报错:/usr/bin/ld: XXX undefined reference to `vtable for

【ROS】郭老二博文之:ROS目录 1、问题描述 在ROS2工程中,编译使用Qt实现的库,在其它ROS2包链接该库时,报错: /usr/bin/ld: XXX undefined reference to `vtable for2、原因分析 查看链接失败的几个函数接口都是,信号函数(signals 标记的函数)。因为信号函数都只有定…...

工业大数据的定义

目录 工业大数据的定义 工业大数据发展历程 工业大数据的特征 工业大数据的处理流程 工业大数据在处理上面临的挑战 工业大数据的有效处理方案 工业大数据处理相关案例 数益工联 x TDengine 中天钢铁 x TDengine 广州某企业工业互联网项目 x TDengine 格创东智 x TD…...

126.在 Vue 3 中使用 OpenLayers 实现绘制正方形、正三角形、正五边形

🗺️ 项目效果(先看效果) 支持点击按钮绘制图形,效果如下: ✅ 正三角形 ✅ 正方形 ✅ 正五边形 ✅ 支持停止绘制 📌 前言 在 Web GIS 的实际项目中,我们经常需要绘制一些规则的图形,比如:正方形、正三角形、正五边形等,这在标注地块、规划图形、布设区域等场景中都…...

大数据 vs. 小数据:AI项目中数据规模与质量的权衡之道

大数据 vs. 小数据&#xff1a;AI项目中数据规模与质量的权衡之道 引言&#xff1a;数据时代的辩证法则 在AI领域&#xff0c;一个根本性悖论日益凸显&#xff1a;数据规模与质量往往呈现此消彼长的关系。Google Brain团队的研究揭示&#xff0c;当数据规模增长10倍时&#x…...

互联网大厂Java求职面试实战:Spring Boot到微服务全景解析

&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通 2. 我的免费工具站&#xff1a; 欢迎访问 https://tools-6wi.pages.dev/ &#x1f601; 3. 毕业设计专栏&#xff0c;毕业…...

最新版VSCode通过SSH远程连接Ubuntu 16.04等旧版Linux的方法

根据官方文档Remote Development FAQ - Can I run VS Code Server on older Linux distributions?&#xff0c;自Visual Studio Code 1.99起&#xff0c;VSCode Remote - SSH Server由于运行库依赖更新&#xff0c;会无法连接到旧版Linux发行版上。但是好在官方在文档中还给了…...

SQL Server中delete table和truncate table删除全表数据哪个快?

目录 1.TRUNCATE 2.DELETE 总结 在 SQL Server 中&#xff0c;DELETE 和 TRUNCATE 都可以用来删除表中的数据&#xff0c;但它们执行的方式和性能影响是不同的。这里简要说明两者的区别以及哪个更快&#xff1a; 1.TRUNCATE 速度&#xff1a; TRUNCATE 是一个DDL&#xff…...

3DVR制作的工具或平台

3DVR&#xff08;三维虚拟现实&#xff09;是利用三维图像技术和虚拟现实技术&#xff0c;将真实场景进行三维扫描并转换成计算机可识别的三维模型&#xff0c;使用户能够在虚拟空间中自由漫游&#xff0c;体验身临其境的感觉。3DVR技术结合了全景拍摄和虚拟现实&#xff0c;提…...

qt QMessageBox 的详细解析

以下是关于 QMessageBox 的详细解析,涵盖其核心功能、使用方法、高级特性及常见场景示例。 1. QMessageBox 的核心作用 QMessageBox 是 Qt 中用于快速创建标准化对话框的类,常用于以下场景: 信息提示(如操作成功/失败)。警告或错误通知(如文件未保存)。用户决策(如确认…...

高吞吐与低延迟的博弈:Kafka与RabbitMQ数据管道实战指南

摘要 本文全面对比Apache Kafka与RabbitMQ在数据管道中的设计哲学、核心差异及协同方案。结合性能指标、应用场景和企业级实战案例,揭示Kafka在高吞吐流式处理中的优势与RabbitMQ在复杂路由和低延迟传输方面的独特特点;介绍了使用Java生态成熟第三方库(如Apache Kafka Clie…...

在 Spring Boot 中实现分库分表的全面指南

分库分表&#xff08;Database Sharding&#xff09;是一种数据库架构优化技术&#xff0c;通过将数据分散到多个数据库或表中&#xff0c;以应对高并发、大数据量场景&#xff0c;提升系统性能和扩展性。在 Spring Boot 中&#xff0c;分库分表可以通过框架支持&#xff08;如…...

关于大语言模型的困惑度(PPL)指标优势与劣势

1. 指标本身的局限性 与人类感知脱节&#xff1a; PPL衡量的是模型对词序列的预测概率&#xff08;基于交叉熵损失&#xff09;&#xff0c;但低困惑度未必对应高质量的生成结果。例如&#xff1a; 模型可能生成语法正确但内容空洞的文本&#xff08;PPL低但质量差&#xff09;…...

如何使用WordPress SEO检查器进行实时内容分析

在这篇文章中&#xff0c;我们将带你从头开始了解如何在WordPress中使用SEO检查工具进行实时内容分析。这篇文章面向初学者&#xff0c;帮助你理解SEO的重要性以及如何通过工具提高文章的搜索引擎优化&#xff08;SEO&#xff09;效果。 一、什么是SEO内容分析&#xff1f; 内…...

C语言:深入理解指针(5)

目录 一、回调函数 二、qsort 使用举例 三、模拟qsort 一、回调函数 回调函数就是一个通过函数指针调用的函数。 举个例子&#xff1a; int Add(int x, int y) {return xy; }void test(int (*pf)(int, int)) {int r pf(10 ,20);printf("%d\n" ,r); }int main()…...

前端如何获取电脑唯一编码

在前端开发中&#xff0c;出于安全和隐私的考虑&#xff0c;浏览器不允许直接获取硬件的唯一标识&#xff08;如 MAC 地址、CPU 序列号等&#xff09;。但可以通过以下方法生成设备指纹&#xff08;Device Fingerprint&#xff09;&#xff0c;近似实现设备唯一标识&#xff1a…...

IEEE出版|连续多年稳定检索|第三届信号处理与智能计算国际学术会议(SPIC2025)

【重要信息】 会议官网&#xff1a; www.ic-spic.com 会议日期&#xff1a;2025年11月28-30日 会议地点&#xff1a;中国 广州 截稿日期&#xff1a;2025年11月10日 接受或拒绝通知日期&#xff1a;提交后7个工作日 【征稿主题】 人工智能和机器学习 计算机系统和架构 …...

“强强联手,智启未来”凯创未来与绿算技术共筑高端智能家居及智能照明领域新生态

近日&#xff0c;北京凯创未来科技有限公司总经理赵健凯先生莅临广东省绿算技术有限公司北京运营中心&#xff0c;双方正式签订战略合作协议&#xff0c;标志着绿算技术在高端智能家居及智能照明领域的技术实力与产业布局获得智能家居行业认可&#xff0c;同时也为凯创未来在高…...

MQ消息队列的深入研究

目录 1、Apache Kafka 1.1、 kafka架构设 1.2、最大特点 1.3、功能介绍 1.4、Broker数据共享 1.5、数据一致性 2、RabbitMQ 2.1、架构图 2.2、最大特点 2.3、工作原理 2.4、功能介绍 3、RocketMQ 3.1、 架构设计 3.2、工作原理 3.3、最大特点 3.4、功能介绍 3…...

【NLP 74、最强提示词工程 Prompt Engineering 从理论到实战案例】

一定要拼尽全力&#xff0c;才能看起来毫不费劲 —— 25.5.15 一、提示词工程 1.提示词工程介绍 Ⅰ、什么是提示词 所谓的提示词其实就是一个提供给模型的文本片段&#xff0c;用于指导模型生成特定的输出或回答。提示词的目的是为模型提供一个任务的上下文&#xff0c;以便模…...

安卓开饭-ScrollView内嵌套了多个RecyclerView,只想与其中一个RecyclerView有联动

在 Android 开发中&#xff0c;将 RecyclerView 嵌套在 ScrollView 内通常会导致性能问题和滚动冲突&#xff0c;应尽量避免这种设计。以下是原因和替代方案&#xff1a; 为什么不推荐 RecyclerView ScrollView&#xff1f;​​ 性能损耗​ RecyclerView 本身已自带高效回收复…...