自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 2025年,前端岗最全面试攻略,吃透15个技术栈Offer拿到手软

无论您是初入职场的新人,还是寻求突破的中高级开发者,本指南都将带您深入15个核心技术栈的与。JavaScript、CSS、ES6、Vue2、vue3、React、Node.JS、小程序、HTTP、TypeScript、Webpack、Git、Linux、算法与数据结构、设计模式,我们不仅提供高频面试题的精准解析,更注重培养您举一反三的和。

2025-04-28 10:48:23 1375

原创 互联网工程师111道前端面试场景题及答案整理( 2025年 整理最新版)

而大厂所需要的程序员是有限的,高薪也只能给到少数人,所以前端的竞争才会如此激烈,内卷化也越来越严重。但说到底,你通过分析网上的一些数据后你就会发现:卷的最厉害的其实只是初中级岗,高端岗还是有很多空缺的机会。所以,为了更好的帮助一直以来支持我的粉丝朋友,更好的助力你们面试跳槽涨薪,小编今天也是在这里为大家准备了一份出自于阿里的【2025 版】前端架构师场景题参考指南。而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。

2025-04-22 14:44:34 1597

原创 2025年,金三银四,Web前端学习步骤及路线(超详细)

感觉学前端学到自己的瓶颈期了,各种框架乱七八糟,感觉好乱。小编精心整理出来的前端程序员初、中、高级的进化之路!前端技术栈说实在的知识点很多,绝不仅仅是随便敲敲代码那么简单。如果下面的大部分没用过,甚至都没听说过,那就怀疑你是不是个假程序员了,要加油了。学习是有顺序的,不要太跳脱,这样到头来反而是最慢的。很多东西真的都是基础阶段已经讲过的,只是你没意识到。这些都是前端程序员必备的技术栈,有些不一定是首选的选择,但这些一定是前端程序员必备的。最后:对这份笔记感兴趣的小伙伴,对这份笔记感兴趣的小伙伴,

2025-04-18 15:19:57 366

原创 2025金三银四春招Web前端八股文汇总【助你备战金三银四】

inner();// 执行过程中,先将全局执行上下文压入执行栈, // 调用outer函数时,将outer函数的执行上下文压入执行栈, // 调用inner函数时,将inner函数的执行上下文压入执行栈, // inner函数执行完毕,其执行上下文弹出, // outer函数执行完毕,其执行上下文弹出。例如,当一个字符串和一个数字进行加法运算时,字符串会被转换为数字(如果可以转换的话),如 "3" + 2 会被转换为 3 + 2 ,结果为 5;映射也是键值对的集合,与对象不同的是,键可以是任意类型。

2025-04-15 10:59:58 2053

原创 React Hooks 的优势和使用场景

代码更简洁 - 减少约30%的代码量逻辑更清晰 - 相关代码集中在一起复用更方便 - 自定义 Hook 机制学习成本低 - 无需理解 class 的 this性能优化更简单 - 内置 memoization 机制推荐在新项目中全面使用 Hooks,老项目可以逐步迁移。对于复杂状态管理,可以结合 Context + useReducer 或第三方状态库如 Redux。链接:https://juejin.cn/post/7503738123689869348。

2025-05-14 11:11:31 238

原创 Nest入门教程(三:模块)

使用**@Global**装饰器可以声明全局模块,此时无需在每个模块通过import重复声明。链接:https://juejin.cn/post/7503756869787025444。动态模块主要就是为了给模块传递参数 可以给该模块添加一个静态方法 用来接受参数。此时在Order模块任何地方都可以共享UserService的服务了。装饰器提供元数据,Nest使用这些元数据来组织应用程序的结构。在Nest中注册根模块,例如配置根模块的全局服务或者中间等。或者构造函数注入UserService服务。

2025-05-14 11:10:58 260

原创 前端面试题-React基础篇

组件类型​​数据管理方式​​控制权​受控组件 (Controlled)表单数据由 React 组件状态(state)驱动React 完全控制非受控组件 (Uncontrolled)表单数据由 DOM 节点自身维护DOM 原生控制维度​​类组件​​函数式组件​​定义方式​ES6 类继承JavaScript 函数​状态管理​this.stateuseStateuseReducerHooks​生命周期​完整生命周期方法(如useEffect模拟生命周期​副作用处理​。

2025-05-14 11:10:28 710

原创 webpack配置文件

链接:https://juejin.cn/post/7503771876750639113。从维护的角度来说,这种方式不够明显,我们希望可以在专门的文件统一维护,因此不建议这种方式。针对不同的环境,设置不同的系统全局可用的常量,比如不同环境的文件上传地址等。标志传递参数,参数会注入到 Webpack 配置函数的。构建时确定常量值,不同环境需要单独打包。需要集中管理多环境变量,支持。针对不同环境创建环境变量文件。修改webpack配置。

2025-05-14 11:09:53 730

原创 PostGIS Bundle 导入 Shp 到 PostGIS 空间数据库

❝PostGIS Bundle提供了高效的工具,可将Shapefile (Shp)空间数据快速导入 PostgreSQL/PostGIS 空间数据库,支持几何对象、属性数据及空间参考的完整迁移。无论是单文件导入还是批量处理,均可通过命令行或图形化工具轻松完成。是一套专为 PostgreSQL 数据库设计的空间数据库扩展包,它显著增强了 PostgreSQL 在地理空间数据处理方面的能力。

2025-05-14 11:09:22 793

原创 this多个绑定规则优先级比较

学习了四条规则,接下来开发中我们只需要去查找函数的调用应用了哪条规则即可,但是如果一个函数调用位置应用了多条规则,优先级谁更高呢?

2025-05-13 10:52:55 120

原创 76. Java 枚举类 - 什么是枚举?

在Java中,我们有时候会遇到某个变量只能有固定几个值星期(只能是周一到周日)性别(只能是男性、女性)方向(只能是东、南、西、北)如果用普通的int或String来表示,可能会遇到非法值(比如"hello"作为星期,999作为方向),这时候Java 枚举(Enum就能帮我们解决问题!枚举的特点✅是一种特殊的类,但只能有有限个实例(不能动态创建新实例)。✅所有实例在编译时已知,可以避免非法值。✅更加可读、可维护,比int或String更安全。✅默认继承,不能再继承其他类(但可以实现接口)。如何定义枚举。

2025-05-13 10:52:23 550

原创 彻底解决 Prismjs 代码高亮夜间模式下字体很糊的问题

我一开始使用的是prismjs。当然highlightjs也可以实现同样的效果,我也用了,但是觉得没找到好看的主题。可以看到,代码块出现了重影的效果,让人看了眼花。让我们看看使用开发者工具检查一下。链接:https://juejin.cn/post/7503412369440800820。我在开发个人博客的时候,需要实现一个代码高亮功能。所以我搜索了代码高亮库,比较主流的有。我们发现原来是默认的hilightjs给。这样即使在夜间模式也不会出现模糊的效果了!

2025-05-13 10:51:50 398

原创 css 小师系列:蝉原则

蝉原则在css中不仅仅可以实现上面提到的两个效果,当遇到其他需要实现随机性动画或者样式效果时,也要第一时间想到蝉原则这个概念。链接:https://juejin.cn/post/7503391054537080841。

2025-05-13 10:51:14 399

原创 CSS实现手电筒光照效果

最后觉得好玩的;可以直接复制完整代码去玩哦链接:https://juejin.cn/post/7503365162059268146。

2025-05-13 10:50:36 191

原创 一名【合格】前端工程师面试必备八股文

以前我在各平台上看到面试贴就直接刷掉的,从不会多看一眼,直到今年我开始准备面试时,才发现很多面试经验贴特别有用,看这些帖子的过程中对我的复习思维形成影响很大,所以我现在把最近自己整理好的一些前端高频面试题分享出来,希望能帮到接下来要找工作的朋友。9. react异步渲染的概念,介绍Time Slicing 和 Suspense。22. sum(2, 3)实现sum(2)(3)的效果。2. 介绍冒泡排序,选择排序,冒泡排序如何优化。7. ES6中的map和原⽣的对象有什么区别。5. 介绍⼆叉搜索树的特点。

2025-05-12 17:34:37 1326

原创 Ralph 开源资产管理与 DCIM 系统全解析:从入门到企业级实战

相比商业化的 DCIM 系统(如 NetBox),Ralph 完全免费且功能强大,适合中小企业和个人开发者使用。它能够帮助企业高效管理硬件资产、跟踪设备生命周期,并优化数据中心资源利用率。链接:https://juejin.cn/post/7502608144289497103。:某电商公司服务器数量超过 1000 台,手动管理效率低下。:机柜利用率提升 30%,能耗降低 15%。:资产管理效率提升 80%,减少人工错误。:某银行需要优化数据中心机柜利用率。,从采购到报废,全程可追溯。

2025-05-12 17:33:06 629

原创 浏览器端上传文件限制文件编码,禁止二进制文件等非文本上传。

通过解码和不可读字符比例检查(排除\r\n\t等合法字符),代码能有效判断文件是否为二进制,并禁止二进制文件上传。40MB 大小限制和前 4KB 读取优化确保了性能。链接:https://juejin.cn/post/7502875709886152740。

2025-05-12 17:32:26 454

原创 做一个 Timeline

说实话,我当时还挺兴奋的,因为这正是我想挑战的一种 UI 模式。我从最初的草图开始,先勾勒了一种竖直线型结构:左边是一条主轴,右边是每个事件节点的内容模块,中间则是一个居中的点,或者是带图标的小圆圈。之后,我开始思考一个更贴近实际场景的问题:如果我要让这个组件能够动态绑定数据,并且在一些复杂的使用场景中,比如用户操作日志、项目进度追踪或者产品更新历史中,都能灵活胜任,我需要构建怎样的 API?除了基本的线性展示,我还加入了横向时间线的支持,这一部分比较复杂,特别是在内容宽度自适应和滑动体验上的优化。

2025-05-12 17:31:53 651

原创 Highcharts在vue2中的使用

链接:https://juejin.cn/post/7502810910891622451。

2025-05-12 17:31:18 149

原创 JavaScript 中 apply 和 call 方法的区别与应用场景

apply和call方法虽然功能相似,但在参数传递方式上的不同使得它们适用于不同的编程场景。当我们明确知道参数的数量并且希望清晰地列出参数时,call方法是不错的选择;而当参数已经以数组或类数组的形式存在,或者参数数量不确定时,apply方法则更为便捷。熟练掌握这两个方法,能够让我们在 JavaScript 编程中更加灵活地操控函数,提高代码的复用性和可维护性,无论是在日常开发还是处理复杂的业务逻辑时,都能发挥出强大的作用。

2025-04-28 10:50:48 754

原创 【nodejs高可用】Nodejs应用安全防范的问题总结

事实上,许多运维团队和后端团队的视角里,对Nodejs的开发可以总结为两个字“玩具”,为什么这么说,很多传统的后端开发,认为Nodejs不够稳定,安全性不够,容易受到外部攻击,导致服务崩溃挂掉。但是对于前端开发来说,NodeJs无疑是进军服务端领域的不二选择,笔主曾经也是从服务端转来的前端开发。本文会针对NodeJs应用里常见的安全风险和防范方案,应对大流量,以及应用内系统异常处理的最佳实践,可以放心的使用Nodejs承载业务。

2025-04-28 10:50:16 855

原创 封装思想:灰白表格如何优雅封装

常网IT源码上线啦!本篇录入技术选型专栏,希望能祝君拿下Offer一臂之力,各位看官感兴趣可移步🚶。有人说面试造火箭,进去拧螺丝;其实个人觉得问的问题是项目中涉及的点 || 热门的技术栈都是很好的面试体验,不要是旁门左道冷门的知识,实际上并不会用到的。接下来想分享一些自己在项目中遇到的技术选型以及问题场景。生怕体检像X光,把我们平常偷偷熬的夜、应酬喝的酒、解压吃进去的夜宵,都照的一清二楚。最讲封装,还是用组件例子来说吧,不然干巴巴说有点干巴巴。我们就来一个最简单的表格组件来讲。

2025-04-28 10:49:40 842

原创 [特殊字符][特殊字符][特殊字符] 2025 年了,我不允许你还不知道 vite-plugin-pwa

最近在给项目加 PWA 支持时,发现真的是一个又强大又丝滑的插件!本文就带大家系统了解一下它的安装使用、核心功能和进阶技巧,让你的 Vite 应用秒变原生 App!绝对是给Vite项目加Buff的神兵利器,无论是离线体验、推送通知还是热更新体验,都非常值得一试!原文:https://juejin.cn/post/7497868344223989794。

2025-04-28 10:49:10 623

原创 React Hooks 的优势和使用场景

更简洁的代码结构更好的逻辑复用更直观的组件编写方式更友好的TypeScript支持组件状态管理(useState)副作用处理(useEffect)上下文共享(useContext)复杂状态逻辑(useReducer)性能优化(useMemo/useCallback)随着React 18的并发特性推出,Hooks将成为未来React开发的标准模式。建议新项目全面采用Hooks,老项目可以逐步迁移。

2025-04-24 11:43:41 315

原创 使用Spring Boot实现Server-Sent Events(SSE)实时推送

是一种基于HTTP的服务器向客户端单向实时推送数据的技术。与WebSocket不同,SSE仅支持服务器到客户端的单向通信,适用于实时通知、股票行情、新闻推送等场景。SSE是实现服务器推送的高效解决方案,适用于需要实时更新但不需要双向通信的场景。结合Spring Boot的SseEmitter,开发者可以快速构建实时功能。完整示例代码已上传至GitHub仓库。MDN SSE文档Spring官方文档 - Async Requests通过本文,读者可以快速掌握SSE的核心实现,并根据实际需求扩展功能。

2025-04-24 11:43:09 410

原创 Git Cherry-pick 合并分支:实践详解

在多分支协作开发中,我们常常只想把某个分支上的单个或若干次提交,合并到另一个分支,而不需要合并整个分支。Git 提供的 cherry-pick 命令,正是为此而生的利器。掌握 cherry-pick 如同获得代码移植手术刀,合理使用能让你的版本控制更加优雅高效!🎯参数或配置命令示例说明打开编辑器修改提交信息,适合想在提交信息里补充/修改说明的情况。仅更新工作区和暂存区,不自动创建新提交;可将多个提交合并后再手动一次性 git commit。-x。

2025-04-24 11:42:36 713

原创 计算机网络阅读笔记

了解一下计算机网络相关的,主要是了解一些基础知识,也不会深入学习,所以看的是小林coding的图解网络和菜鸟教程图解网络介绍 | 小林coding (xiaolincoding.com)计算机网络基础知识总结 | 菜鸟教程 (runoob.com)链接:https://juejin.cn/post/7496442140533588009。

2025-04-24 11:42:05 819

原创 React性能优化必看!memo与PureComponent在函数式和类组件中的差异与选择

有时候浅比较不能满足我们的需求,我们希望能自定义比较逻辑,这时可以给memo传入第二个参数,一个自定义的比较函数。比如:js代码解读复制代码const areEqual = (prevProps, nextProps) => { // 这里可以自定义比较逻辑,比如只比较特定属性 return prevProps.someProp === nextProps.someProp;在这个例子中,只有当发生变化时,才会重新渲染,其他属性变化都不会触发重新渲染。memo和。

2025-04-24 11:41:35 733

原创 基于webpack5对前端工程化的理解

前端工程化”是指将前端开发流程标准化、自动化、模块化、体系化的一种方法和思想,目的是提升开发效率、代码质量和项目的可维护性。模块化 将前端的代码(HTML、CSS、JavaScript)拆分成多个功能单一、相互独立的模块,方便维护和复用。常见模块化规范包括:组件化UI层面的模块化,把一个页面拆成若干可复用组件(如 Vue、React 中的组件),提升复用性和开发效率。自动化构建(构建工具如 webpack、Vite)打包压缩(JS/CSS 压缩、图片压缩)自动刷新(HMR)

2025-04-23 10:46:11 791

原创 nodejs模块暴露数据的方式,和引入(导入方式)方式

特性CommonJS (requireESModule (import默认支持✅ Node.js 默认支持❌ 需配置或使用.mjs是否同步✅ 同步❌ 异步导出方式exportsexport引入方式require()import应用场景传统 Node.js 项目现代项目、前后端统一、Tree Shaking原文:https://juejin.cn/post/7495942247613104162。

2025-04-23 10:45:29 344

原创 Lodash源码阅读-baseUnset

baseUnset是 Lodash 内部的一个工具函数,用于实现_.unset方法的核心逻辑。它的主要功能是根据给定的属性路径,从对象中删除指定的属性,并返回一个布尔值表示操作是否成功。baseUnset函数是 Lodash 中一个简洁而强大的内部工具函数,通过精心设计的短路逻辑和依赖函数的协作,它能够高效地处理对象属性的删除操作。从设计角度来看,baseUnset关注点分离:将路径处理、父对象查找、属性删除等操作拆分为独立函数短路逻辑:使用逻辑运算符巧妙处理边缘情况,避免复杂的条件判断代码复用。

2025-04-23 10:44:08 490

原创 Markdown 所见即所得(WYSIWYG)编辑器的研究

大约几个月前有想法折腾一下,想在自己的博客中集成一个类Typora的所见即所得的 Markdown 编辑器。个人理解的所见即所得(WYSIWYG)是键入即时渲染的,而不包含占用视口位置的预览面板。尝试过VditorMilkdown等开源 Markdown 编辑器,或多或少的存在一些问题,其中比较接近 Typora 体验的是HyperMD,但项目过于老旧,难以扩展。编辑器错误,键入复杂一些的 Markdown 语法时可能导致编辑器异常Markdown 解析错误,对于 Markdown 的解析有误。

2025-04-23 10:43:36 597

原创 vue-router(v4.x)核心知识点

vue-router是 Vue.js 官方的路由库,它能够帮助你在单页面应用(SPA)中实现不同视图间的切换。vue-router支持路由声明式配置、动态路由、嵌套路由等多种功能。Vue 4.x 引入了,它与 Vue 3.x 完全兼容,支持 Composition API 并对路由配置做了一些优化。

2025-04-23 10:42:58 243

原创 性能优化之图片的预加载和懒加载

在现代 Web 开发中,图片是提升用户体验的重要元素,但过多的图片可能导致页面加载缓慢,影响性能。为了解决这一问题,开发者常采用预加载和懒加载两种技术来优化图片加载策略。本文将从原理、实现方式及使用场景等方面深入探讨这两种技术。预加载指的是提前加载页面中所需的图片,确保用户访问时能够快速查看内容,减少等待时间。这种方法适用于关键图片资源,确保重要图片在用户滚动到之前就已经加载完毕。对于那些需要立即展现的重要图片,例如电商平台上的产品主图或是新闻门户首页的头条图片,推荐使用预加载技术。

2025-04-22 14:41:18 988

原创 掌握 Cursor:AI 编程助手的高效使用技巧

在软件开发的快速迭代时代,AI 编程助手 Cursor 正在改变我们的编码方式。本文将分享如何像与得力团队成员合作一样,充分发挥 Cursor 的潜力,提升开发效率。

2025-04-22 14:40:00 725

原创 Node.js技术原理分析系列8——将Node.js内置模块外置

本人最近的工作涉及 Node.js 的定制开发,直白点说就是,需要修改 Node.js 源码。一般来说,Node.js 源码修改后,需要重新构建才能生效。如果频繁修改,频繁构建,就很费时间。这时,我们可以用内置模块外置这种办法,避免重新构建。

2025-04-22 14:39:24 965

原创 Vue3 在线 PDF 编辑 1.0 批注回显与文字批注优化

本次优化聚焦「用户体验」与「功能完整性」,通过 fabric-Canvas 的高效序列化实现批注回显,并针对文字批注交互做了场景化改进。目前 1.0 版本已具备。

2025-04-22 14:38:43 289

原创 前端进阶 | 浏览器的底层机制——多进程

在众多浏览器中,Chrome 成为了主流浏览器,这与它的多进程架构密切相关。浏览器的多进程机制是现代浏览器高效、稳定运行的核心。通过将不同的功能模块分配到不同的进程中,实现了并行操作、数据隔离和安全防护。作为前端开发者,了解浏览器的多进程机制有助于我们更好地理解代码在浏览器中的运行环境,优化网页性能,为用户提供更好的浏览体验。原文:https://juejin.cn/post/7495289652015251495。

2025-04-21 16:22:29 849

原创 前端多标签主从管理方案分享

如何在用户打开多个标签页时,实现“单实例行为”或做“主从页面角色分配”?例如有些业务场景需要只有一个标签页负责定时轮询、推送提醒、全局状态同步、避免重复操作等。本文将介绍一套实用的主从标签管理方案——,并分析其核心实现细节与应用场景。通过 MasterTabCoordinator 方案,可以优雅地解决前端多标签页主从分配、互斥行为、全局状态同步等难题。用心跳机制实现标签页活跃性探测,基于可见性与活动时间自动选举主标签,所有标签页通过事件驱动解耦通信。

2025-04-21 16:21:58 623

原创 两种思路的碰撞:从超时分层法到高效双指针的蜕变

优化后的双指针法通过动态维护左右最大值,将问题转化为单次遍历的线性操作,完美解决了分层法的性能瓶颈。其核心在于利用短板效应和贪心策略,以最小的时间复杂度完成计算。理解这一算法,不仅能够高效解决接雨水问题,更能深入掌握双指针与动态规划的联合应用。原文:https://juejin.cn/post/7495291825064034330。

2025-04-21 16:21:18 379

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除