wed前端开发主要考什么

前端开发笔试和面试,端开考的发主根本不是你会不会写代码。我见过太多能把Vue源码讲得头头是端开道的人,一上机就卡在布局上。发主也见过培训班出来只会复制粘贴的端开,反而拿到了offer——因为他把浏览器底层原理背得滚瓜烂熟。发主

说白了,端开前端考核就三条线:基础扎实度、发主工程化思维、端开浏览器底层认知。发主这三条线交叉着考,端开哪条线断了都容易翻车。发主

先说说基础。端开别以为考的发主是标签语义化或者CSS选择器优先级这种入门题。现在大厂笔试直接给你一段ES6代码,端开让你手写转成ES5,还得解释每一步的this指向。更狠的是让你现场实现一个Promise.all,或者模拟Array.prototype.map的内部逻辑。这些题看着简单,但真动笔写,十个人里能有两个完全正确就不错了。

CSS这边也早就不考flex垂直居中了。现在爱考grid布局的隐式轨道怎么计算,或者contain属性对渲染性能的实际影响。我面过一家做在线文档的公司,直接甩了个问题:当页面有上千个DOM节点需要频繁更新位置时,用transform和用top/left差多少毫秒?为什么?这种题没有标准答案,但答不出合成层和重排的区别,基本就凉了。

工程化这块更实际。现在前端项目哪个不用webpack或vite?但很多人只会配devServer和proxy。面试官会问:你们项目的首屏加载时间怎么优化?你要是只答“路由懒加载”和“图片压缩”,对方会追问:SplitChunks的cacheGroups怎么配置才能让公共库单独打包?Tree Shaking在什么条件下会失效?这些细节没踩过坑的人根本答不上来。我认识一个朋友,就因为能说清楚sideEffects: false和module: false的区别,直接进了字节。

浏览器底层认知是拉开差距的地方。比如问你:从输入URL到页面显示,中间发生了什么?这题老掉牙了,但能答得完整的人极少。多数人背到DNS解析和TCP握手就卡住,后面渲染流程里的关键渲染路径、图层合成、脚本阻塞全讲不明白。再比如事件循环,不光要说出宏任务微任务的顺序,还得解释requestAnimationFrame在哪个阶段执行——这直接影响你写动画的性能。有次面试官问我:“为什么setTimeout延迟设为0,实际执行却大于4ms?”我答了嵌套层数和clamping之后,明显感觉对方眼神变了。

还有个常被忽略的考点:代码调试能力。不是让你背console的命令,而是给你一段有bug的代码,看你怎么定位。我面过一家,直接扔了段React代码,里面有个useEffect依赖数组写错了导致无限循环。有人上来就改依赖,有人先打日志排查,有人直接看控制台的警告。其实正确答案是:先用React DevTools看组件渲染次数,再检查依赖引用类型。这种实操题比任何八股文都管用。

最后说个反直觉的。现在很多公司开始考算法,但不是LeetCode那种。他们考的是“给一个数组,让你实现一个虚拟列表”或者“设计一个带过期时间的localStorage封装”。这种题考的是数据结构和业务场景的结合能力。你要是只刷题不写业务,碰到这种题会懵;反过来,天天写业务但不总结抽象逻辑,同样答不好。

所以你看,前端考核早就不是背知识点就能过的了。它考的是你有没有真的在浏览器里“摔过跤”,有没有在打包配置里“熬过夜”,有没有为了优化一个交互细节去翻过Chrome的源码文档。那些能通过面试的人,不是记性好,而是真的用代码解决过问题。面试官一眼就能看出来,你简历里写的“精通”到底是背出来的,还是踩坑踩出来的。