- 博客(266)
- 收藏
- 关注
原创 前端面试从磕巴紧张到轻松面对“笨方法”!
没什么技术含量,但效果很实在。后来再去面试,很多话已经变成了肌肉记忆,脑子里不用再去想“怎么组织语言”,紧张感一下就降下来了。到后面几家,我甚至能一边画图一边讲,偶尔还能开个玩笑,拿到 offer 也顺理成章。Node 端差异都理过,结果一开口心跳直接飙到嗓子眼,脑子里所有概念搅成一团,最后支支吾吾憋出一句:“就是……写完就开始念,念完用手机录音,然后回听哪里卡、哪里听起来不像人话,改完再录,直到能像跟同事聊天一样自然地说出来。前段时间,我面了六七家前端岗,前面几家基本全挂,不是题不会,是不会表达。
2026-05-27 12:16:49
322
原创 一口气讲清楚 Monorepo、Turborepo、pnpm、Changesets 到底是什么?
Monorepo 是一种代码仓库组织策略,在一个 Git 仓库里管理多个相互独立但又相互依赖的项目(应用、库、服务)。pnpm 是一个高性能的包管理器,它通过内容可寻址存储和符号链接实现多项目间依赖的全局去重,比 npm/yarn 更快、更省磁盘空间。Turborepo 是一个高性能的任务编排器,专门为 Monorepo 设计。它会缓存每个任务的输入输出,第二次运行相同输入时直接跳过执行,从而实现秒级重构建。Changesets 是一个用于 Monorepo 的版本管理和 changelog 生成工具。
2026-05-27 12:13:48
313
原创 5月跑了几家前端开发公司面试,基本都过了
但是请求时间比较长需要loading层显示等待状态,但是浏览器渲染线程和js线程互斥,执行js的时候页面渲染会阻塞掉,让ajax函数后面的代码还有渲染线程停止,就算dom操作语句是发起请求的前一句,也会被阻塞,出现假死卡顿现象,所以可以引入JQuery中的对象deferred进行封装异步函数,对多个deferred对象进行并行化操作,当所有deferred对象都得到解决就执行后面添加的回调。就是用import,在路由配置的router.js,import设置好的组件,from后面写的是组件的路径。
2026-05-27 12:10:36
521
原创 我让AI替我写Git提交信息,老板以为我每天工作16小时
Git 提交信息这件事,说大不大,说小不小。小到你随便写个“update”,不影响跑代码。大到代码回滚、发版生成 CHANGELOG、甚至背锅溯源时,一句清晰的“fix: 修复订单金额计算溢出” 比“改了一下”值一万倍。但人都有惰性,尤其加班赶业务时,谁有空写小作文?AI 就不一样,它看 diff 快、理解上下文、还能按约定格式输出。今天我就教你用 AI 自动生成高质量的 commit message,顺便集成到 Git 钩子里,让你以后闭着眼敲git commit就行。
2026-05-27 12:08:14
347
原创 做前端开发,起码要学到这个水平...
不是前端岗位变少了,而是行业需求早就变了。现在中小厂、大厂的前端招聘,早就不再只看Vue、React熟练度、手撕原生JS这些基础内容。近几年AI赋能前端已经不是噱头,而是实打实的职场刚需。不管是企业内部的智能中后台、AI可视化平台,还是当下热门的AI低代码、智能交互、prompt工程、AI可视化渲染、客户端AI模型部署、智能交互优化等等,才是AI前端面试的核心考察点。为了帮大家精准对标当下的面试标准,避开无效刷题、盲目备考的误区,我整理了。前端轻量化AI部署,几乎所有中高级前端岗,都开始要求开发者具备。
2026-05-27 12:05:54
489
原创 尤雨溪亲自点赞!用 Vue 3 写原生 App,这个框架终于来了!
维度传统混合开发渲染机制WebView 渲染,启动慢、长列表卡顿原生渲染,直接调用系统 UI 组件原生能力需要各种桥接、renderjs,维护成本高直接调用原生 API 和 SDK,零延迟开发体验厂商锁仓,Vite/Pinia 支持滞后Vite + TS + Vue 3 全家桶,现代前端体验包体积自带 WebView 内核,体积臃肿纯原生二进制包,平均小 30%有了它,你不仅获得了 React Native 同级别的性能,还保留了 Vue 3 极致的开发体验。
2026-05-27 12:03:19
487
原创 前端面试怎么还有人不准备一下就来了…
更离谱的是,我后来翻了翻他带来的纸质简历(对,他居然还打印了),上面写着“熟练使用Chrome开发者工具”——结果我问他怎么用Performance面板分析页面卡顿,他反问我:“Performance是啥?,让他说说执行顺序。好家伙,他憋了30秒,给我来了一句:“DNS解析,然后…今天面了一个三年经验的前端,简历写得花团锦簇,什么“精通Vue3源码原理”“手写过Webpack插件”“对。10.在网络带宽一定的情况下,切片上传感觉和整体上传消费的时间应该是差不多的这种说法正确吗?行,我换个更基础的——
2026-05-20 14:58:22
237
原创 面试官让我手写Promise,我打开Cursor三秒生成,他愣了两秒说“你过了”
手写Promise,面试经典老题。但2026年了,还有多少人在面试前夜死磕resolverejectthen的链式调用?我不是说这东西不该学——理解原理很重要。但面试时要你一字不差默写出来,意义在哪?工作中你真的会自己写一个Promise吗?不会,你用原生或者蓝鸟。这周我面了三家公司,两家允许用AI辅助编码,一家连Stack Overflow都不让开。结果呢?允许AI的那两家我拿到了offer,不让的那家我连二面都没进。不是因为我不会写Promise,而是因为他们考察的还是五年前的能力模型。
2026-05-20 14:57:00
154
原创 2026年,给大家普及一下前端面试的强度!
闭包、原型链、异步、虚拟滚动、手写 Table、性能优化…… 这些题看着简单,只要一追问原理、场景、踩坑,立刻原形毕露。所以在面试前多看看常问的场景题,记背理解下话术面试会很有用!
2026-05-20 14:54:20
672
原创 H5 嵌入微信 / 支付宝 / 抖音小程序 WebView:调用原生能力完整方案
在业务开发中,经常会把H5 页面通过 web-view组件嵌入到微信、支付宝、抖音小程序中。普通浏览器 H5 的<input在各小程序 WebView 中存在兼容差、权限限制、无法调起相机 / 相册、不支持视频等问题。各平台均提供了专属JS-SDK,让 WebView 内 H5 可以调用小程序原生能力(拍照、选相册、定位、授权、分享等)。本文以选择图片 / 拍照为核心示例,统一讲解微信、支付宝、抖音三端的实现原理、接入方式、代码示例、差异对比。H5 嵌入小程序 WebView,
2026-05-20 14:40:01
183
原创 26年前端面试,发现一个很明显的通病...
而且这个问题和技术深浅无关,很多人哪怕背了一堆八股、刷了大量算法,照样卡在同一个地方,拿不到offer。最近半个月面了十多位前端,有工作1-3年的中级开发,也有刚毕业的应届生。很多人还在死磕老旧冷门面试题,而今年大厂、中厂高频考的。企业不再单纯考察你会不会写DOM、能不能默写。❌ 不会结合业务场景答优化题,只会套模板。坦白说,26年的前端面试真的变了。❌ 手写源码全程卡顿、漏洞百出。但我面试里看到的现状是什么?❌ 一问底层原理就含糊其辞。,反倒没人重点准备。
2026-05-20 14:37:41
352
原创 一篇文章搞懂CSS中的定位布局
参考对象:带定位属性的父级元素(即带relative/absolute/fixed/sticky),找不到继续往上找直到找到body为止。这篇文章会从最基础的文档流讲起,带你彻底搞懂相对定位,绝对定位,参考对象:屏幕 是否脱离文档流: 达到阈值前不脱离,达到阈值后会和fixed一样。无论你是刚刚入门的前端小白,还是想巩固基础的进阶选手,相信读完都会有所收获。在页面布局中,元素的位置往往决定了用户体验的好坏。常见场景:弹窗 ,下拉菜单,自定义提示框,头像角标。常见场景:吸顶导航,表格表头固定,分类标题。
2026-05-20 14:35:02
309
原创 前端面试越来越卷,为什么有人刷算法、堆项目,最后还是被挂?
坦白说,现在前端面试真的变卷了,但绝大多数人。盲目刷算法、死背枯燥八股、堆砌项目技术栈,最后面试一问深挖直接露怯。很多人不是技术不行,是压根不懂面试官到底想问什么。下面把面试官想听到的面试答案贴在下面。
2026-05-20 14:34:01
286
原创 从 Volta 迁移到 mise:Windows 下 Node 版本管理切换记录
最近把Node 版本管理工具从 NVM 切到 Volta 后,发现 Volta 已经不再维护,并且官方推荐使用 mise,所以这次准备从 Volta 迁移到 mise。如果你现在使用 Volta 一切正常,并不需要立刻迁移;但从长期维护的角度看,提前把个人环境和项目配置切过去会更稳。本文记录一次 Windows 环境下,从 Volta 迁移到 mise 的完整过程。
2026-05-20 14:32:30
179
原创 [特殊字符] 告别类名地狱!Tailwind CSS 语义化转换神器来了
是一款 VS Code插件,可以帮助你快速将 Tailwind CSS类名转换为语义化的 CSS 类,让你的代码更加清晰、易于维护。A: 当前版本使用标准格式,后续会考虑添加自定义配置选项。插件旨在提升 Tailwind CSS 开发体验,让你的代码更加清晰、易于维护。无论是快速原型开发还是大型项目维护,它都能为你节省大量时间。如果你也在使用 Tailwind CSS,不妨试试这款插件,相信它会给你带来惊喜!
2026-05-20 14:28:03
358
原创 炸裂!TypeScript 7.0 Beta 发布:底层改用 Go 重构,速度直接提升 10 倍!
TS 7.0 不只是一个版本,它宣告:TypeScript 正式进入原生高性能时代。tsc 太慢大型项目卡爆编辑器卡顿构建耗时长CI 资源爆炸Go 重构 + 并行化 + 100% 兼容这一波,直接封神。
2026-05-07 18:42:21
186
原创 Vue大批量接口请求优化|告别卡顿、超时!前端落地实战指南
Vue大批量接口请求优化,核心是“减少请求次数、控制并发数量、复用数据、减少渲染开销高频批量查询:优先使用“合并请求 + 缓存”,减少接口调用;大量数据渲染:结合“虚拟列表”,避免DOM过载;用户交互类批量请求(如筛选、搜索):使用“防抖 + 并发限制”,避免无效请求;关键业务批量请求(如批量提交):添加“超时控制 + 失败重试 + 部分失败处理”,提升稳定性。同时,需与后端密切配合(如提供批量接口、优化接口响应速度),前端优化与后端优化结合,才能最大化提升大批量接口请求的效率和用户体验。
2026-05-07 18:41:08
278
原创 米哈游前端开发技术面,32k面试已过
一面聊原神大世界角色状态同步,我说弱网下用WebSocket + 客户端预测 +回滚保证最终一致,被追问“丢包30%时预测与服务器回滚怎么平衡”,补了输入队列 + 动态插值算法 + 冗余帧发送才过关。二面给崩坏3深渊实时排名的场景,要求积分秒级更新段位,我提WebSocket推送 + 本地LSM(LevelDB)做增量更新,又被问“千万级玩家同时冲榜,前端本地存储写入风暴怎么解决”,答按段位分层缓存 + 异步批量写IndexedDB +布隆过滤器去重才通过。
2026-05-07 18:34:43
611
原创 从 Vue 3 到 Lyt.js:无痛迁移指南
如果你是一个 Vue 3 开发者,正在寻找一个更轻量、更现代的替代方案,那么 Lyt.js 值得你关注。Lyt.js v5.0.1 是一个零依赖、纯 TypeScript 实现的前端框架,核心 8 包 gzip 仅 ~35KB(Vue 3 约 ~44KB),同时提供了 Vue 3 级别的开发体验。它不仅兼容 Vue 3 的核心 API,还额外提供了 Signal 响应式、Vapor Mode(无 VDOM 渲染)、50+ 内置 UI 组件、完整 DevTools 等能力。
2026-05-07 18:32:32
341
原创 面试官:LangChain中 TS 和 Python 版本有什么差别,什么时候选TS ❓❓❓
回到最初那个问题。和 Python 版今天已经站在同一条架构路线上,核心 agent 能力都够用,真正的差别在生态厚度和运行时环境。Python 胜在 1000+ 集成和更厚的 AI 数据生态,JS/TS 胜在和 Web 产品栈的天然贴合以及一套类型贯穿全栈的工程体验。所以最后给你的结论是这样。做 Web 产品、编辑器、SaaS、Agent 平台这类偏产品交付的系统,优先 TS。做数据实验、检索管线、研究型系统这类偏数据和研究的工作,优先 Python。
2026-05-07 18:27:02
425
原创 5 月已经跑了三家前端 AI 岗面试,基本都过了
先交代背景:23届前端,非科班,没大厂经历,今年 5 月集中冲了,面了 3 家中小厂 + 1 家准一线,全部走到 HR 面,3 家拿到意向,1 家等流程。不是我多厉害,是今年前端 AI 岗的,准备对了真的很好过。。会基础前端 + 懂一点 AI 接入流程,通过率直接翻倍。我身边一起投的朋友,有的背了一堆大模型原理,结果面试一问前端全忘;有的只会写页面,AI 相关一问三不知。而我就靠一套,针对性背、针对性练,3 场面试基本都是半小时结束,面试官问的点资料里全覆盖。
2026-05-07 18:10:34
831
原创 代码 Review 的艺术:如何委婉地告诉同事你写的代码是一坨屎?
有一天下午四点,我点开了同事刚提的一个第一眼,还行。第二眼,嗯?第三眼,我开始怀疑人生。变量叫atemplist1if-else套了六层,在for里await查库,像一锅没加盖的乱炖。我当时脑子里只有一个念头:但问题是——你可以这么想,但不能这么说。因为你不是在写技术博客,你是在上班😖。Code Review 本来是为了让项目更稳,结果很多时候,反而成了团队关系的坟头。后来我慢慢意识到一件事:你要做的,不是指出问题,而是——
2026-05-07 17:59:07
354
原创 [特殊字符]前端性能内卷终点?Signals 正在重塑我们的开发习惯
从 Solid.js 的异军突起,到 Vue Vapor Mode 的革新,Signals 证明了前端开发的未来不仅在于“更好用的框架”,更在于“更智能的更新”。对于高级开发者而言,理解 Signals 的依赖图谱,比单纯学习 API 更有价值。这场革命,本质上是我们在向浏览器原生性能极限的又一次集体冲刺。
2026-04-16 12:33:09
296
原创 建议所有人前端准备到这种程度再去面试
我结合这半年的面试记录,把高频考点和真实遇到的“坑题”整理了出来。如果你能把下面这些吃透,至少能碾压80%的竞争者。三大框架的源码讲得头头是道,结果连“浏览器输入URL后发生了什么”都说不完整;有人在简历上写“精通JavaScript”,结果问。最近帮团队筛了上百份前端简历,也面了四十多个候选人。说实话,大部分人连第一轮都过不了——不是因为基础差,而是。闭包的实际应用场景,支支吾吾半天;还有人背了一堆八股文,可一到手写代码环节,连。面试不是背题比赛,也不是炫技场。面试官真正想看的,是你有没有。
2026-04-16 12:29:22
417
原创 做中后台业务,为什么我不建议你用 Tailwind CSS?
大家好,我又来了😁最近我接手了一个隔壁组转过来的中后台重构项目。交接的时候,对方的技术负责人特意跟我强调,说这个项目采用了最新的技术栈,全面拥抱了,Tailwind CSS开发体验极其丝滑。我当时心里还挺期待,毕竟这两年Tailwind的风刮得太大了,各种国内外大佬都在疯狂带货。结果周末我抽空把代码拉下来,打开VSCode准备梳理一下业务主流程。盯了屏幕不到十分钟,我感觉自己的眼睛快瞎了。光说理论没意思,我直接给你们截取一段真实的、承载了各种表单校验和状态联动的业务侧边栏组件。代码跑得通吗?
2026-04-16 12:22:43
352
原创 卷AI、卷算法、2026 年的前端工程师到底在卷什么?
最近是 2026 年的春招季,前几周密集面了大概快二十个前端。四五年前,大家简历上的高频词还是。现在呢?十个候选人里,有九个写着熟练掌握 LLM接入、深入理解 RAG(检索增强生成)、精通 Prompt 工程、参与过大模型 Agent 平台建设,剩下那个没写 AI 的,简历里赫然写着LeetCode 刷题 150+,精通动态规划与图论。前端这个圈子,仿佛在一夜之间得了严重的技术焦虑并发症。大家都在拼命往简历里塞最高大上的词,生怕在 2026 年这个节点,因为不懂 AI 而被直接淘汰。
2026-04-16 12:17:31
398
原创 字节/腾讯内部流出!Claude Code 2026王炸玩法!效率暴涨10倍
2026 年,AI 编程不再是“辅助”,而是“主力”。Claude Code 代表的自主智能体开发模式,正在彻底重构软件开发流程。今天学会 Claude Code,不是掌握一个工具,而是抢占 AI 时代的开发效率制高点。
2026-04-08 18:45:24
886
原创 因为拿到了offer,说一下前端面试的强度!
我是从去年年底开始准备跳槽的,前前后后投了十几家公司,面了字节、美团、拼多多、影石,最后拿了其中一家的offer。整个过程持续了将近两个月,中间无数次想放弃,现在回头看看,真的踩了太多坑。很多人以为前端面试就是背背原型链、闭包、事件循环,再刷刷LeetCode easy题就能过。现在的面试强度,远比你想象的要大。这些问题,光靠背八股文是答不出来的。下面是我整理的。
2026-04-08 18:38:47
836
原创 从一个截图函数到一个 npm 包——pdf-snapshot 的诞生记
回顾阶段一:一个 utils 函数,解决单点需求阶段二:抽成独立模块,解决内存泄漏、支持取消和多种输入格式阶段三:发布 npm 包,增加进度回调、CLI 工具、完善类型定义这个过程其实挺有代表性的。很多时候我们写的工具函数,一开始只是为了解决眼前的问题,但随着需求的增加和使用场景的扩展,它会逐渐演化成一个更通用、更健壮的模块。关键是要在演化过程中保持代码的可维护性和可扩展性。子进程隔离、输入归一化、取消超时机制……这些设计不是一开始就有的,而是在实际使用中逐步发现问题、解决问题后沉淀下来的。
2026-04-08 18:33:56
336
原创 前端防止重复支付解决方案
双重防护逻辑:节流控制「触发频率」(防快速点击),loading 控制「请求状态」(防请求中点击),覆盖所有重复支付场景;巧妙的设计互补:节流保证“点击即时响应”的体验,loading 作为“兜底保障”适配不确定的请求耗时;体验与安全兼顾:loading 既是防重复的逻辑锁,也是给用户的视觉反馈,减少重复点击的动机。核心逻辑差异:节流是「固定时间内只执行一次」,保证触发即响应;防抖是「等最后一次触发后延迟执行」,会吞掉中间的触发;场景匹配度。
2026-04-08 18:25:38
382
原创 前端开发连续面了一周,我现在强的可怕!
现在的我,闭着眼睛能把事件循环的画出来,张口能讲清楚虚拟DOM的diff原理,手写深拷贝、防抖节流跟喝水一样自然。前三天被虐到怀疑人生,第四天开始突然开窍,等到第七天的时候,面试官一张口,我甚至能猜出他下一句要问什么。面到后面几场,我甚至能一边回答问题,一边在心里给对面的面试官打分:这道题问得可以,有水平;他的语气犹豫了一下,是不是我答偏了?这种感觉怎么形容呢。就像你打游戏被boss连锤一百遍,突然有一天,你能预判它的每一个技能前摇。倒不是因为我拿到了几个offer(虽然确实拿到了),而是因为——。
2026-04-07 18:33:14
729
原创 setTimeout设为0就马上执行?JS异步背后的秘密
不是马上执行,要等调用栈空、微任务清空后才轮到你Promise比setTimeout先执行,因为微任务优先级更高只是 Promise 的语法糖,本质还是异步是做动画的正确方式,别用 setInterval下次你的代码执行顺序不对,先看看是微任务还是宏任务——可能就是它插队了。
2026-04-07 18:21:35
351
原创 告别过度工程:菜鸟前端亲证,浏览器早已帮你搞定这 9 件事
作为一名拥有 14 年前端开发经验的菜鸟,我亲历了前端行业从刀耕火种的 jQuery 时代,到框架百花齐放的工程化时代,再到如今原生 API 日趋完善的现代化时代。在漫长的开发生涯中,我见过太多团队陷入的陷阱:为了实现一个简单功能,引入数十 KB 的第三方库;手写大量冗余 JS 代码,解决浏览器早已原生支持的问题;盲目追求自定义实现,忽略平台原生能力的稳定性与兼容性。
2026-04-07 18:12:49
431
原创 JS 类型判断不用愁:4 种方法,覆盖所有场景
在JavaScript世界里,“类型判断”就像给变量“验明正身”——只有摸清每个变量的“身份”,才能避免代码里的“乌龙事件”。今天就结合实操代码,把()这几个方法讲明白,新手也能轻松拿捏~怕记混?一张表格搞定,直接对号入座~判断场景推荐方法备注快速判断原始类型(除null)typeof简单高效,新手首选判断引用类型(数组、函数、日期等)instanceof适合判断“是否属于某个构造函数”,toString适合精准判断类型判断nulltypeof会误判,必须用这两种方法判断数组。
2026-04-03 16:18:11
361
原创 别再让用户等哭!React 懒加载:让组件 “躺平” 到要用时再干活
组件懒加载管的是“代码包”,图片 / 内容懒加载管的是“可视区域内才渲染内容”。React 懒加载分两类React.lazySuspense实现组件代码按需下载/ 自定义组件实现内容按需渲染。核心价值:减少初始化资源开销,提升页面加载和渲染性能。普通网页的懒加载是让图片“摸鱼”React 的懒加载则是给组件和代码都发了“摸鱼许可证”—— 不用一开场就全员到岗,该躺平时躺平,该干活时再发力。就好比经营一家店,不用把所有商品都堆在门口(初始化加载所有代码),而是把暂时没人要的商品放进仓库(单独打包组件)
2026-04-03 16:08:32
168
原创 因为熬过了前端,浅浅说一下它的强度
,得说清为啥选这些技术,遇到啥棘手问题,怎么解决的。最好用数据说话,比如“通过代码分割和懒加载,首屏时间从 3 秒降到 1.5 秒”,再准备个内存泄漏排查这种复杂问题的复盘。得看看源码,比如 Vue 的双向绑定咋实现、React setState 同步异步咋回事,再想想首屏加载优化、复杂状态管理这些实际问题。原型链、作用域、闭包、事件循环这些要是模棱两可,手写代码还卡壳,肯定不行。的 ESbuild 咋快,再学学微前端、低代码、Node 中间层这些场景的设计思路。不懂打包工具原理,复杂场景没思路可不行。
2026-04-03 15:55:26
507
原创 uni-app使用瓦片实现离线地图的两种方案
最后我做完以后让 Trae 给了一下评价,Trae 表示不建议采用这种方式实现离线地图,首先瓦片地图文件一般非常大,我用的仅仅是其中的一小部分,也超过了60MB,打包出来的 App 包太大了。其次无论是web-view还是renderjs本质上是一样的。在app-vue环境下,视图层由webview渲染,而renderjs就是运行在视图层的。所以无论是渲染效率还是开发上基本没差。
2026-04-03 15:37:11
201
原创 不懂模块化就别谈前端工程化
模块化的概念并不是一开始就有的。早期的网页都靠一个个大文件堆在一起,代码混乱又难维护。后来,项目越来越大,大家发现这样不行,得把功能拆分开。于是就有了“模块化”的想法:把代码分成小模块,每个模块只干一件事。这样一来,改东西的时候不容易出错,也能更好地复用代码。模块化也让多人一起开发的时候更有条理,减少冲突。现在常见的模块化方式有 CommonJS、ES Module 这些,都是让代码更清晰、管理更方便。掌握模块化,写项目会省心多了!
2026-03-31 18:32:15
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅