Node.js 全栈开发方向常见面试题
Node.js 全栈开发”方向的面试题**,这类岗位通常包括:
-
后端:Node.js(Express/Nest)、数据库、REST API、安全、部署等
-
前端:React/Vue(部分可能含 Next.js)、API 调用、状态管理等
-
跨端协作:Token 鉴权、CORS、前后端联调逻辑、CI/CD 等
✅ Node.js 全栈开发常见面试题(中国公司通用)
🧩 1. Node.js 基础与核心机制
1.1 Node.js 的事件循环原理?如何处理异步操作?
1.2 process.nextTick()
、setImmediate()
、Promise
的执行顺序?
1.3 如何避免阻塞主线程?举例说明
1.4 Node.js 如何实现定时任务?和浏览器定时器有区别吗?
1.5 cluster 模块的原理及适用场景?如何实现负载均衡?
🚦 2. Express / Nest 后端开发
2.1 Express 的中间件机制?如何组织一个 RESTful API 项目?
2.2 如何处理接口异常?如何做统一异常拦截?
2.3 JWT 鉴权的完整流程?Token 存储在哪里最安全?
2.4 如何实现接口的权限控制?支持不同角色访问不同资源?
2.5 如何在 NestJS 中使用装饰器、模块、依赖注入机制?
🛢️ 3. 数据库(MySQL / MongoDB / Redis)
3.1 如何用 Node.js 连接 MySQL?你用过哪些 ORM?
3.2 Sequelize(或 TypeORM)如何实现一对多、多对多关系?
3.3 Redis 在全栈项目中常见用途有哪些?举例说明
3.4 如何实现缓存更新策略(如 Cache-Aside)?
3.5 如何处理事务?MySQL 事务是如何保证一致性的?
🌐 4. 前后端协作与接口设计
4.1 RESTful API 的设计规范有哪些?常见状态码有哪些?
4.2 CORS 原理?如何处理跨域问题?
4.3 前端如何处理 token 过期?服务端如何刷新 token?
4.4 如何设计一个登录注册流程?包括验证码、加密、Token
4.5 前后端接口联调过程中常见问题和解决方式?
🖼️ 5. 前端能力(React/Vue + API调用)
5.1 如何使用 React/Vue 发起后端请求?用什么库?
5.2 状态管理你用什么?Redux、Pinia、Zustand 等对比
5.3 如果一个接口很慢,你如何在 UI 上做友好的处理?
5.4 如何处理请求节流、防抖?封装方式?
5.5 如何将分页、筛选、排序的参数传给后端?
🔐 6. 安全与鉴权
6.1 如何防止 SQL 注入 / XSS / CSRF?
6.2 JWT 如何签发与验证?如何防止伪造?
6.3 登录接口如何防止暴力破解?加密算法用什么?
6.4 如何对文件上传做安全校验?
6.5 如何加密用户密码?用什么算法?
🚀 7. DevOps 与部署
7.1 如何部署 Node.js 项目到生产环境?用过哪些工具?
7.2 用过 PM2 吗?它和 cluster 模块有什么不同?
7.3 前后端部署在不同域名下时如何处理跨域?
7.4 如何实现持续集成?你知道哪些 CI 工具?
7.5 如何用 Docker 部署一个全栈项目?
💡 8. 实战场景题(建议重点准备)
8.1 请设计一个「用户登录 + JWT 鉴权 + 角色权限」系统
8.2 实现一个「博客系统」,包含:增删改查 + 评论 + 权限控制
8.3 实现「大文件分片上传 + 秒传 + 合并」的后端逻辑
8.4 写一个「接口限流」中间件,按 IP 限制频率
8.5 写一个「定时任务」系统,每天定时发日报邮件
9、性能优化(Node.js 高级)
9.1. Node.js 的性能瓶颈一般出在哪?如何排查?
9.2. 如何避免主线程阻塞?哪些操作容易阻塞线程?
9.3. 说说你对 Stream 的理解,什么时候用它来提升性能?
9.4. 如何用 cluster 或 worker_threads 实现多核并发?
9.5. 如何对接口进行性能监控和报警?用过什么工具?
9.6. 如何做数据库性能优化?举几个具体手段。
9.7. 静态资源 / CDN 如何优化访问性能?
9.8. 如何实现缓存机制?本地缓存 vs Redis 缓存?
9.9. 如何处理高并发下的“缓存击穿 / 雪崩 / 穿透”?
9.10. 前后端性能联调你做过哪些?前端也会影响响应时间吗?
10、微服务架构(Node.js + 多服务协作)
10.1. 单体架构和微服务的主要区别是什么?
10.2. 微服务之间如何通信?同步与异步方式分别是什么?
10.3. 如何做服务注册与发现?你用过哪些方案?
10.4. 如何处理分布式事务问题?常见解决方案有哪些?
10.5. 如何实现服务间的认证授权?使用了 JWT、API Key 还是其他方案?
10.6. 你怎么处理服务之间的依赖关系?如何避免耦合?
10.7. 如何做服务熔断、限流、降级?你用过哪些中间件?
10.8. 如何监控整个微服务系统的健康状态?用什么工具?
10.9. 微服务部署中你是如何组织目录结构和配置的?
10.10. NestJS 如何支持微服务?你用过它的 @Microservice() 装饰器吗?
11、消息队列(MQ)
11.1. 为什么要用消息队列?在哪些场景下最适合?
11.2. RabbitMQ / Kafka / Redis Stream 的区别与适用场景?
11.3. MQ 如何保证消息不丢?如何实现消息的重试机制?
11.4. 如何处理消息重复消费问题?幂等性的实现方法?
11.5. 如何做异步任务处理?Node.js 中有哪些队列库?
11.6. MQ 如何处理消息堆积问题?如何限速?
11.7. 什么是发布/订阅模型?和点对点模型的区别?
11.8. 如何实现延迟消息、定时消息发送?
11.9. 如何监控消息队列的健康状态和消费情况?
11.10. NestJS 如何使用 RabbitMQ / Kafka?使用过 @EventPattern() 吗?
12.高性能场景题
12.1.设计一个高并发点赞接口,如何优化性能?
12.2.设计一个订单系统,要用 MQ 做削峰填谷,你怎么设计?
12.3.如果一个接口每秒有 2 万请求,你怎么优化后端架构?
12.4.如何实现一个视频转码平台?如何让任务不阻塞主线程?
12.5.如何将一个单体博客系统拆分为微服务系统?拆哪些模块?
🧠 如果你是面初中级岗位:
-
重点准备 1~5 类题目
-
实战设计题准备 1~2 个项目能讲清楚架构和亮点
🧠 如果你面高级/架构方向:
-
6~7 类 DevOps、安全、部署要熟
-
强调高并发场景、缓存优化、微服务拆分、CI/CD 实战
✅ 你接下来想要:
-
🔹 指定题目解析?(如“讲讲 2.4 JWT 权限控制”)
-
🔹 完整答案包?(我可以逐题输出标准答案)
-
🔹 文档或 PDF 格式?(适合打印背题)
-
🔹 模拟面试题训练?(我出题你答,我评分和点评)
相关文章:
Node.js 全栈开发方向常见面试题
Node.js 全栈开发”方向的面试题**,这类岗位通常包括: 后端:Node.js(Express/Nest)、数据库、REST API、安全、部署等 前端:React/Vue(部分可能含 Next.js)、API 调用、状态管理等 …...

Spring如何实现组件扫描与@Component注解原理
Spring如何实现组件扫描与Component注解原理 注解配置与包扫描的实现机制一、概述:什么是注解配置与包扫描?二、处理流程概览三、注解定义ComponentScope 四、核心代码结构1. ClassPathScanningCandidateComponentProvider2. ClassPathBeanDefinitionSca…...
历年四川大学计算机保研上机真题
2025四川大学计算机保研上机真题 2024四川大学计算机保研上机真题 2023四川大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 分数求和 题目描述 有一分数序列: 2 / 1 2/1 2/1, 3 / 2 3/2 3/2, 5 / 3 5/3 5/3, 8 / 5 8/5 8/5, 13 /…...
gcc符号表生成机制
符号表生成机制 我们以C语言的编译链接过程为例,详细讲解符号表(Symbol Table)的流程,涵盖编译和链接两个阶段。理解符号表是理解链接器如何解决符号引用(如函数、变量)的关键。 符号表分为两种ÿ…...

达梦数据库 Windows 系统安装教程
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…...
unix/linux source 命令,其基本概念、定义、性质、定理
从计算机科学的角度,特别是形式语言、操作系统和编程语言设计的角度来看,source (或 .) 命令虽然看似简单,但其背后也蕴含着一些核心的概念、定义、性质和可以类比的“定理”(或者说,更准确地是“设计原则”或“行为模式”)。 让我们尝试从一个更理论和结构化的视角来剖…...

【Java EE初阶】计算机是如何⼯作的
计算机是如何⼯作的 计算机发展史冯诺依曼体系(Von Neumann Architecture)CPU指令(Instruction)CPU 是如何执行指令的(重点) 操作系统(Operating System)进程(process) 进程 PCB 中的…...

RAG理论基础总结
目录 概念 流程 文档收集和切割 读取文档 转换文档 写入文档 向量转换和存储 搜索请求构建 向量存储工作原理 向量数据库 文档过滤和检索 检索前 检索 检索后 查询增强和关联 QuestionAnswerAdvisor查询增强 高级RAG架构 自纠错 RAG(C-RAG…...

列表推导式(Python)
[表达式 for 变量 in 列表] 注意:in后面不仅可以放列表,还可以放range ()可迭代对象 [表达式 for 变量 in 列表 if 条件]...
嵌入式RTC工作原理及应用场景
20ppm 是衡量 RTC(实时时钟)精度的关键指标,表示 每百万秒(约11.57天)的最大时间误差范围。以下是通俗易懂的解释: 1. ppm 的含义 ppm Parts Per Million(百万分之一) 1 ppm 1/1,…...

一天搞懂深度学习--李宏毅教程笔记
目录 1. Introduction of Deep Learning1.1. Neural Network - A Set of Function1.2. Learning Target - Define the goodness of a function1.3. Learn! - Pick the best functionLocal minimaBackpropagation 2. Tips for Training Deep Neural Network3. Variant of Neural…...
Go语言常见接口设计技巧-《Go语言实战指南》
在 Go 中,接口是连接代码组件的桥梁。合理设计接口可以大幅提升程序的可维护性、可扩展性和测试友好性。本章将分享 Go 开发中常见的接口设计技巧与最佳实践。 一、接口设计原则 1. 面向接口编程,而非面向实现编程 尽量使用接口类型作为函数参数或返回值…...

python打卡训练营打卡记录day43
复习日 作业: kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化 进阶:并拆分成多个文件 数据集来源:Flowers Recognition 选择该数据集原因: 中等规模:4242张图片 - 训练快速但足够展示效…...
Camera相机人脸识别系列专题分析之十一:人脸特征检测FFD算法之低功耗libvega_face.so人脸属性(年龄,性别,肤色,微笑,种族等)检测流程详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:Camera相机人脸识别系列专题分析之十:人脸特征检测FFD算法之低功耗libvega_face.so人脸识别检测流程详解 这一篇我们开始讲: Camera相机人脸识别系列专题分析之十一:人脸特征检测FFD算法之低功耗lib…...
解决:输入SSH后,仍无法通过网址登录以及紧接着的新问题Permission denied(publickey,password).
现象: 管理员: Windows PowerShell输入SSH后,仍无法通过网址登录 例如输入你的ssh命令:ssh -CNg -L xxxx:127.0.0.1:xxxx rootaaaaaaaaa.com -p yyyyy 得到终端提示:ssh无法识别为 cmdlet、函数、脚本文件或可运行程序的名称。 解…...

【QT控件】QWidget 常用核心属性介绍 -- 万字详解
目录 一、控件概述 二、QWidget 核心属性 2.1 核心属性概览 2.2 enabled 编辑 2.3 geometry 2.4 windowTitle 2.5 windowIcon 使用qrc文件管理资源 2.6 windowOpacity 2.7 cursor 2.8 font 编辑 2.9 toolTip 2.10 focusPolicy 2.11 styleSheet QT专栏&…...

uniapp-商城-77-shop(8.2-商品列表,地址信息添加,级联选择器picker)
地址信息,在我们支付订单上有这样一个接口,就是物流方式,一个自提,我们就显示商家地址。一个是外送,就是用户自己填写的地址。 这里先说说用户的地址添加。需要使用到的一些方式方法,主要有关于地址选择器,就是uni-data-picker级联选择。 该文介绍了电商应用中地址信息处…...
HTTPS加密通信详解及在Spring Boot中的实现
HTTPS(Hyper Text Transfer Protocol Secure)是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护。 一、HTTPS核心原理 1.加密流程概述 客户端发起HTTPS请求(连接到服务器443端口)服务器返…...
如何让 Git 停止跟踪文件?停止后又如何恢复跟踪?
在使用 Git 管理代码时,有时我们希望某些文件不再被 Git 跟踪(比如本地配置文件、临时文件等),但保留这些文件在本地;过了一段时间,可能又需要恢复跟踪这些文件。本文将用通俗易懂的语言,教你如…...

【第16届蓝桥杯 | 软件赛】CB组省赛第二场
个人主页:Guiat 归属专栏:算法竞赛 文章目录 A. 密密摆放(5分填空题)B. 脉冲强度之和(5分填空题)C. 25 之和D. 旗帜E. 数列差分F. 树上寻宝G. 翻转硬币H. 破解信息 正文 总共8道题。 A. 密密摆放࿰…...
SQL进阶之旅 Day 10:执行计划解读与优化
【SQL进阶之旅 Day 10】执行计划解读与优化 开篇 今天是我们的"SQL进阶之旅"系列的第10天,我们将深入探讨SQL执行计划的解读与优化技巧。随着数据库规模的增长和业务复杂度的提升,理解SQL语句在数据库引擎中的执行过程变得至关重要。 执行计…...

AR/MR实时光照阴影开发教程
一、效果演示 1、PICO4 Ultra MR 发光的球 2、AR实时光照 二、实现原理 PICO4 Ultra MR开发时,通过空间网格能力扫描周围环境,然后将扫描到的环境网格材质替换为一个透明材质并停止扫描;基于Google ARCore XR Plugin和ARFoundation进行安卓手…...
Visual studio 中.sln/.vcxproj/.vcxproj.filters和.vcxproj.user文件的作用
在 Visual Studio (尤其是 C 项目) 中,.sln、.vcxproj、.vcxproj.filters 和 .vcxproj.user 文件各自承担着不同的关键角色。理解它们的作用对于项目管理和协作至关重要。 核心原则: .vcxproj 和 .sln 是项目/解决方案的核心定义文件,必须纳…...

【汽车电子入门】一文了解LIN总线
前言:LIN(Local Interconnect Network)总线,也就是局域互联网的意思,它的出现晚于CAN总线,于20世纪90年代末被摩托罗拉、宝马、奥迪、戴姆勒、大众以及沃尔沃等多家公司联合开发,其目的是提供一…...
JVM学习(七)--JVM性能监控
目录 一、JVM性能监控 1、JVM监控及诊断工具-命令行篇 2、JVM监控及诊断工具-GUI篇 3、JVM运行时参数 一、JVM性能监控 1、JVM监控及诊断工具-命令行篇 面试题: 1、你使用过Java虚拟机性能监控和故障处理工具吗? 2、怎么打出线程栈信息。 3、怎么获取 Jav…...
关于 java:5. Java IO 与文件操作
一、File 类(读取文件属性) 1.1 java.io.File 类概述 File 是 Java IO 中的核心类,用于表示文件或目录的路径名。 它是一个抽象路径名,可以表示实际存在或不存在的文件/文件夹。 File 类提供了创建、删除、重命名、判断属性、获…...

【笔记】为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境)
📝 为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境) 🎯 安装目的说明 本次安装是为了在 MSYS2 的 MINGW64 工具链环境中,搭建一个完整的 Python 图像处理和科学计算开发环境。 主要目的是支持以下类型的 Pyth…...
【笔记】MLA矩阵吸收分析
文章目录 一、张量运算的计算量1. FLOPs定义2. 张量计算顺序对计算量的影响 二、MLA第一次矩阵吸收的计算量分析1. 原始注意力计算2. MLA源代码中的吸收方式3. 提前吸收4. 比较分析4.1 比较顺序1和顺序24.2 比较顺序2和顺序3 三、MLA第二次矩阵吸收的计算量分析1. 原始输出计算…...
600+纯CSS加载动画一键获取指南
CSS-Loaders.com 完整使用指南:600纯CSS加载动画库 🎯 什么是 CSS-Loaders.com? CSS-Loaders.com 是一个专门提供纯CSS加载动画的资源网站,拥有超过600个精美的单元素加载器。这个网站的最大特色是所有动画都只需要一个HTML元素…...
开源的JT1078转GB28181服务器
JT1078转GB28181流程 项目地址: JT1078转GB28181的流媒体服务器: https://github.com/lkmio/lkm JT1078转GB28181的信令服务器: https://github.com/lkmio/gb-cms 1. 创建GB28181 UA 调用接口: http://localhost:9000/api/v1/jt/device/add 请求体如下…...