- 博客(142)
- 资源 (1)
- 收藏
- 关注
原创 NodeJS全栈开发面试题讲解——P12高性能场景题
对热点数据分片(比如分成多个 Redis key),减少单点竞争。任务状态存储(数据库 + 缓存),实时查询转码进度。接口读请求用 Redis 缓存,降低数据库访问。读请求走缓存,写请求异步,数据库索引优化查询。
2025-06-01 12:26:52
181
原创 NodeJS全栈开发面试题讲解——P11消息队列(MQ)
模型描述例子发布/订阅(Pub/Sub)一个生产者 → 多个订阅者都能收到消息点对点(P2P)每条消息只有一个消费者能收到RabbitMQ work queue 模式Pub/Sub 更适合广播场景(如发系统通知),点对点适合任务队列场景(如视频转码)编号关键知识点核心点11.1为什么使用 MQ解耦、异步、削峰填谷11.2MQ 类型对比RabbitMQ / Kafka / Redis Stream 区别11.3消息不丢 + 重试ACK + 持久化 + 死信队列11.4。
2025-06-01 12:25:44
306
原创 NodeJS全栈开发面试题讲解——P10微服务架构(Node.js + 多服务协作)
编号关键知识点核心工具/关键词10.1单体 vs 微服务模块拆分、独立部署10.2通信方式10.3注册与发现10.4分布式事务TCC / SAGA / 事务消息10.5鉴权方案10.6解耦策略OpenAPI / 事件驱动 / BFF10.7熔断限流降级10.8服务监控10.9项目结构与配置管理10.10NestJS 微服务。
2025-06-01 12:16:34
350
原创 NodeJS全栈开发面试题讲解——P9性能优化(Node.js 高级)
编号关键点涉及知识9.1性能瓶颈排查9.2主线程阻塞来源文件同步、CPU 任务、JSON大对象等9.3Stream 用法文件处理、内存控制9.4多核并发方案9.5接口监控与报警9.6数据库优化索引、分页、缓存9.7静态资源优化CDN、缓存、压缩9.8缓存策略本地缓存 vs Redis9.9缓存三难问题击穿、雪崩、穿透9.10前后端性能联调接口压缩、延迟分析、懒加载等。
2025-06-01 12:13:06
237
原创 NodeJS全栈开发面试题讲解——P8实战场景题(建议重点准备)
编号场景题核心设计与实现8.1登录 + JWT + 权限系统JWT 中间件 + 角色守卫 + bcrypt 加密8.2博客系统(文章+评论+权限)NestJS 模块 + TypeORM 关系 + RBAC8.3大文件上传 + 秒传 + 合并分片上传接口 + Hash 判断 + Buffer 合并8.4接口限流基于 IP 的时间窗口限流策略,内存/Redis8.5定时任务系统(日报)node-cron + nodemailer,每天定时群发邮件。
2025-06-01 12:01:11
99
原创 NodeJS全栈开发面试题讲解——P7 DevOps 与部署和跨域等
编号问题核心回答要点7.1Node 项目如何部署构建 + 上传 + 启动服务(PM2/Nginx/Docker)7.2PM2 与 cluster 区别PM2 是 cluster 的增强版,支持守护/日志/UI 等7.3跨域怎么处理后端加 CORS 中间件,前端配置7.4持续集成的工具和流程GitHub Actions / GitLab CI / Jenkins,触发构建测试7.5Docker 部署全栈项目前后端 + DB 容器编排,使用 docker-compose 管理。
2025-06-01 11:56:02
274
原创 NodeJS全栈开发面试题讲解——P6安全与鉴权
编号问题要点简述6.1SQL/XSS/CSRF 防护ORM 防注入、DOM转义防 XSS、CSRF Token + SameSite6.2JWT 签发与校验签名加密、有效期、对称/非对称加密、避免暴露密钥6.3登录暴破防护bcrypt 加密、IP 限制、验证码、行为识别6.4文件上传安全检查 MIME 类型、文件大小、存储路径唯一、过滤木马6.5密码加密算法选择推荐 bcrypt / argon2,使用盐值,严禁存储明文密码。
2025-06-01 11:52:26
210
原创 NodeJS全栈开发面试题讲解——P5前端能力(React/Vue + API调用)
编号技术点核心亮点5.1请求库选择axios 最通用、SWR 自动缓存、NestJS 中也支持 axios5.2状态管理Vue 用 Pinia,React 建议 Zustand 或 Redux Toolkit5.3UI 慢接口处理骨架屏、loading、预加载5.4节流防抖封装lodash、React Hook、自定义封装5.5分页筛选排序参数传递page、pageSize、sortBy、filters 一致性封装。
2025-06-01 11:48:32
456
原创 NodeJS全栈开发面试题讲解——P4前后端协作与接口设计
问题编号涉及知识点4.1RESTful 设计、状态码规范4.2跨域原理、服务端 CORS 设置4.3Token 过期检测、刷新机制4.4登录注册流程、验证码、加密与鉴权4.5联调常见问题排查与实践经验。
2025-06-01 11:43:43
431
原创 NodeJS全栈开发面试题讲解——P3数据库(MySQL / MongoDB / Redis)
问题编号技术点3.1Node 连接 MySQL,使用 ORM(Sequelize / TypeORM)3.2一对多、多对多关系映射与查询3.3Redis 多场景应用:缓存、限流、队列等3.4Cache-Aside 缓存策略的实现与代码演示3.5事务操作方式 + MySQL ACID 原理。
2025-06-01 11:39:19
243
原创 NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发
中间件(Middleware)就是一类函数,它们可以对req和res进行加工、拦截、判断,决定是否将请求传递给下一个处理函数。用于封装通用逻辑,如读取 token 中用户 ID。},问题技术点2.1Express 中间件机制、项目结构设计2.2错误处理中间件 vs Nest 异常过滤器2.3JWT 鉴权流程、Token 安全存储2.4RBAC 角色权限控制实现方式2.5Nest 模块系统、依赖注入、装饰器应用。
2025-06-01 11:35:15
394
原创 NodeJS全栈开发面试题讲解——P1Node.js 基础与核心机制
问题核心关键词1.1libuv、事件循环、阶段、异步 IO1.2微任务 vs 宏任务、执行优先级1.3阻塞避免、worker_threads、任务拆分1.4Node 定时器机制、cron、高级调度1.5cluster 原理、多进程、负载均衡策略。
2025-06-01 11:21:42
256
原创 Node.js 全栈开发方向常见面试题
Node.js 全栈开发”方向的面试题**,这类岗位通常包括:后端:Node.js(Express/Nest)、数据库、REST API、安全、部署等前端:React/Vue(部分可能含 Next.js)、API 调用、状态管理等跨端协作:Token 鉴权、CORS、前后端联调逻辑、CI/CD 等。
2025-06-01 11:05:47
367
原创 WEB3——简易NFT铸造平台之nft.storage
NFT.storage是由ProtocolLabs推出的免费去中心化存储平台,用于将NFT相关文件永久存储在IPFS和Filecoin网络中,并返回IPFS内容地址(CID)。由于浏览器无法直接解析ipfs://协议,需通过公共网关(如ipfs.io或nftstorage.link)转换为HTTP链接访问内容。开发者需要将IPFS地址转换为网关URL。NFT存储与合约铸造是两个必要步骤:前者解决数据存储问题,后者创建链上唯一Token。简易NFT铸造平台的意义在于简化用户操作流程,实现一键上传和铸造,同时加
2025-05-31 19:31:46
553
原创 WEB3——为什么做NFT铸造平台?
摘要: NFT铸造的核心流程包括链下存储(如NFT.storage上传图片和元数据至IPFS)和链上铸造(通过智能合约生成唯一NFT资产)。仅存储IPFS数据无法形成链上所有权,必须通过合约关联Token ID与元数据URI,实现NFT的验证与交易。简易NFT铸造平台的意义在于简化流程,提供用户友好的界面,自动化合约调用与IPFS上传,并支持后续扩展功能(如交易)。最终,完整的NFT需同时满足链下数据存储(IPFS)和链上所有权记录(合约铸造)。
2025-05-31 19:27:51
788
原创 WEB3——Nest怎么使用Typechain生成类型化代码,用来安全调用合约
本文介绍将TypeChain+ethers v6集成到NestJS项目中,为Solidity智能合约提供类型安全支持的技术方案。关键步骤包括:1)安装TypeChain工具链;2)配置hardhat.config.ts指定合约路径和类型输出目录;3)编写SimpleNFT示例合约并放入contracts目录;4)通过npx hardhat compile生成TypeScript类型;5)在NestJS服务中导入生成的合约类型(SimpleNFT和SimpleNFT__factory)。该方案实现了合约方法的
2025-05-31 18:06:51
142
原创 WEB3——水龙头,如何获得开发用的测试币、 Sepolia 测试币?
获取Sepolia测试币指南 摘要:本文整理了多个免费获取Sepolia测试ETH的水龙头渠道,包括: Alchemy(每日0.5ETH,需注册) QuickNode(每12小时0.05ETH,分享可加倍) Google Cloud(无需注册直接领取) PK910(需Gitcoin验证) 特别推荐Google Cloud水龙头操作简单,直接访问指定链接输入钱包地址即可。其他平台如Binance、CSDN等也提供类似服务,开发者可根据需求选择合适渠道获取测试币进行开发验证。 (字数:148)
2025-05-31 13:22:53
171
原创 Typescript——基本类型
类型声明类型声明是TS非常重要的一个特点通过类型声明可以指定TS中变量(参数、形参)的类型指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值语法:let 变量: 类型;let 变量: 类型 = 值;function fn(参数: 类型, 参数: 类型): 类型{...自动类型判断TS拥有自动的类型判断机制当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型。
2025-05-30 23:53:06
478
原创 TypeScript 中感叹号(!)两种位置用法
写法用途含义场景非空断言"我保证这个一定有值"绕过 TypeScript 报错!布尔取反"如果这个没值就执行"判断值是否存在。
2025-05-30 21:33:25
246
原创 WEB3——什么是ABI
ABI 是连接你写的智能合约和外部应用(前端 / 后端)的“函数说明书”,编译合约后拷贝abi部分,就能让程序识别你合约有哪些功能,怎么调用。如果你想,我可以帮你提取你合约对应的 ABI JSON,并打包成一个文件。需要的话请告诉我。
2025-05-30 21:32:10
516
原创 WEB3—— 简易NFT铸造平台(ERC-721)-入门项目推荐
简易NFT铸造平台项目能帮你从底层技术理解到实际用户体验,并直接产出一个可用的去中心化数字资产铸造工具。对理解区块链资产管理、去中心化存储、钱包交互非常有帮助。
2025-05-28 00:30:53
541
原创 WEB3——区块链留言板(留言上链),查看web3日志-入门项目推荐
这个区块链留言板项目是学习区块链实际应用的绝佳练手项目,能帮助你:搭建简单的链上存储系统理解钱包和签名如何保障安全掌握前端和智能合约的交互模式。
2025-05-28 00:29:48
458
原创 Web3怎么开发类似MetaMask的钱包
以太坊节点(如Geth、OpenEthereum等)通过JSON-RPC接口暴露各种功能,钱包通过这些API读取链上数据、发送交易、查询余额、调用智能合约等。EIP-1193: 这是钱包与DApp交互的标准接口,比如MetaMask实现了这个规范,支持网页调用钱包功能。ERC-20: 代币标准,钱包要支持识别并操作ERC-20代币。你生成地址,展示余额,调用JSON-RPC接口读取数据。用户打开你的钱包App,创建或导入私钥。还有ERC-721(NFT)等标准。web3.js(经典,功能丰富)
2025-05-28 00:27:21
964
原创 Web3怎么开发?什么是钱包地址和合约地址-代币系统展示
Value = 1,单位 = Wei但部署的是一个ERC20 代币合约(不是 payable 合约)🚨这个部署报错的本质原因是:你往合约里转了 1 Wei(最小单位的 ETH),但这个合约的 constructor 并没有payable,所以 Solidity 默认拒绝了这笔转账。这表示Remix 在你部署合约时,会将合约源码和元数据上传到 IPFS(去中心化存储网络),这样别人可以:查看你的合约源码验证合约在链上的部署和源码是否一致方便第三方服务(如 Etherscan)识别、验证你的合约。
2025-05-28 00:26:34
1043
原创 Web3怎么本地测试连接以太坊?
你之所以用 Infura 或 Alchemy,是因为你不想自己运行一个以太坊节点,而他们帮你提供了稳定的节点接口。非常关键的问题,下面我给你讲清楚:你已经有 API Key(可以访问网络),现在需要的是钱包私钥和合约地址,这两个是你自己“生成”和“部署”出来的。
2025-05-27 22:33:20
1033
原创 vscode优化使用体验篇(快捷键)
本文介绍了两种在浏览器中查看网页内容的方法。第一种方法是通过按住Ctrl键并点击鼠标左键,将当前标签页的内容跳转到新标签页中查看。第二种方法是使用分屏功能,通过按住Ctrl+Alt键并点击鼠标左键,实现左右分屏查看网页内容。这些方法可以帮助用户更高效地浏览和管理多个网页。文章将持续更新,最新更新时间为2025年5月18日。
2025-05-18 17:59:40
511
原创 vscode优化使用体验篇(设置 | 插件)
《VSCode优化使用体验篇》分享了如何通过调整设置和安装插件来提升VSCode的使用体验。文章首先介绍了一些推荐的设置,如自动保存、平滑滚动、光标动画等,这些设置可以通过修改settings.json文件来实现。接着,文章推荐了多款插件,分为外观类、基础功能类、拓展功能类和算法练习类。外观类插件如OneDarkPro主题和MaterialIconTheme图标主题,可以美化编辑器界面;基础功能类插件如中文语言包和错误提示插件,增强了编辑器的实用性;拓展功能类插件如代码截图和代码格式化工具,提供了更多便捷功
2025-05-11 12:00:28
763
原创 【Node.js】Node全栈NestJS和NextJS从环境搭建到MongoDB数据库连接与CRUD操作
WEB3,全栈。nest.js ,next.js。node.js。mongoDB
2025-05-09 22:11:40
595
原创 有哪些基于solidity的应用
🛠 合约特性:数学运算、状态管理、权限控制、资金安全、精度处理。🛠 合约特性:投票机制、权限控制、时间锁、模块化设计。🛠 合约特性:轻量、用户交互、事件日志、链上数据存储。🛠 合约特性:元数据、事件触发、权限、合约间交互。🛠 合约特性:可升级性、代理模式、灵活权限系统。🛠 合约特性:标准接口、批量处理、验证机制。Solidity 的最大应用场景之一。
2025-04-14 17:27:40
566
原创 比特币不是solidity编写吗,比特币不是基于 Solidity
对!你这个问题问得非常精准——,而且它和以太坊智能合约的设计思路也完全不同。我们来讲清楚👇。
2025-04-14 17:26:54
519
原创 Solidity私有函数和私有变量区别,私有变量可以被访问吗
特性私有函数私有变量使用关键字private外部合约可见?❌❌继承合约可见?❌❌只能在哪用?当前合约内部当前合约内部链上可被读取?❌✅(通过存储槽)
2025-04-14 17:15:22
454
原创 什么是代理模式?Java有哪几种代理模式
CGLib创建的动态代理对象比JDK创建的动态代理对象的性能更高,但是CGLIB创建代理对象时所花费的时间却比JDK多得多。缺点:Proxy是所有动态生成的代理的共同的父类,因此服务类必须是接口的形式,不能是普通类的形式,因为Java无法实现多继承。JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。优点:相对于静态代理,动态代理大大减少了开发任务,同时减少了对业务接口的依赖,降低了耦合度。简述动态代理的原理, 常用的动态代理的实现方式。
2025-04-06 23:28:13
664
原创 No module named ‘configobj‘错误解决方案
您在执行命令后,遇到了的错误。这表明您的 Python 环境中缺少configobj模块。configobj在您的 Python 环境中,运行以下命令以安装configobj模块:bash复制编辑。
2025-04-02 13:27:42
190
原创 Chrome快捷键提高效率
Ctrl + 数字(1或者2),标签页数字从左到右为顺序,1开始。快速切换标签页。Ctrl+1 到 Ctrl+8 切换到标签栏中指定位置编号所对应的标签页Ctrl+9切换到最后一个标签页Ctrl+Tab 或 Ctrl+PgDown 切换到下一个标签页Ctrl+Shift+Tab 或 Ctrl+PgUp 切换到上一个标签页。
2024-08-18 13:29:28
1026
花呗0.05%日息计算
2019-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人