web前端面试自我介绍

 人参与 | 时间:2026-10-17 07:29:32

面试官你好,端面我叫张明,试自今天来应聘前端工程师岗位。介绍我直接说结论:三年 React 实战经验,端面做过两个日活过万的试自项目,代码洁癖晚期,介绍能独立扛起从设计稿到部署上线的端面全链路。

上家公司我接手过一个老旧的试自 jQuery 后台系统,表格渲染三秒起步,介绍每次筛选都像在等火车。端面我把虚拟滚动和按需加载塞进去,试自首屏时间从 3.2 秒压到 800 毫秒。介绍老板没夸我,端面但运维同事说服务器 CPU 使用率降了 40%。试自那一刻我明白,介绍前端的价值不是动画多炫,而是让用户少等两秒。

说到技术选型,我不追新。团队用 Vue 我就写 Vue,用 React 我就切 React。去年带两个实习生重构电商小程序,我坚持用 Composition API 组织代码,把购物车逻辑拆成七个可测试的 composable 函数。后来新来的同事改需求,只动了两个文件就搞定,这在以前是不可想象的。

我写 CSS 有个习惯,所有颜色和间距必须走设计令牌,哪怕设计稿只给一个色值,我也会先建变量再使用。有次设计师临时改主题色,全站 200 多处引用,我只改了三个变量文件。这种枯燥的坚持,在关键时刻省下的时间,比任何炫技都值钱。

性能优化这块我较真。上周刚把公司官网的图片全部换成 WebP 格式,顺手加了懒加载和预连接。Lighthouse 分数从 72 涨到 96,SEO 流量涨了 15%。这些数字不是我吹的,有 Google Search Console 后台截图可以作证。

我调试 bug 有个土办法,先看网络面板再断点,八成问题出在接口返回的数据结构和我想的不一样。前阵子修一个偶发的白屏问题,排查了三天,最后发现是某个接口在弱网环境下返回了空数组,而我的代码用 if (data.length) 做判断。改成 Array.isArray(data) && data.length 后,问题彻底消失。这种坑踩多了,就会养成防御性编程的习惯。

团队协作上,我习惯把组件文档写在代码注释里,关键逻辑必须配时序图。不是说我多爱写文档,而是半年后自己回看代码,能少死一半脑细胞。上周 Code Review 时,我指出同事的 useEffect 依赖数组漏了变量,他还不服气,结果测试环境果然出了状态不同步的 bug。从那以后,他每次提交前都主动跑一遍 lint。

我最近在啃 TypeScript 的泛型约束,不是赶时髦,而是被 any 坑怕了。之前线上事故就是后端改了字段类型,前端编译期没报错,运行时炸了。现在团队新代码必须带类型定义,老代码逐步迁移。这个过程很痛苦,但值得。

最后说下我的期望。我想找一支把代码质量当回事的团队,能接受为了可维护性多花两小时写测试的团队。薪资可以谈,但别让我写没意义的重复页面。如果你们也在意首屏时间超过一秒就算失败,那我们可以聊聊了。

顶: 519踩: 44877