蔚来秋招前端笔试全攻略:考点拆解与避坑指南
2026/8/29 23:45:21 网站建设 项目流程

先交代一下背景。2024年秋招,我认认真真准备了一轮蔚来汽车前端岗的笔试。从投递简历到收到笔试通知,中间隔了不到一周,真正用于复习的时间其实很紧。笔试考完复盘的时候,我发现自己踩了不少坑,也确认了一些判断——蔚来这种智能电动车企业的前端笔试,和传统互联网大厂的考察方向并不完全一样。所以这篇帖子我就把整个笔试的备考思路、考点拆解、答题策略和踩过的坑完整记录下来,给后面准备秋招、尤其是目标放在智能汽车赛道的同学一个参考。

贴一下我整理的备考背景。蔚来的前端业务主要分布在车主App、智能座舱相关Web应用、车联网数据可视化大屏、内部中后台系统,以及部分小程序和H5活动页。基于这个业务分布,笔试里除了常规的JavaScript、CSS、浏览器原理、框架基础,还很可能会碰到和后端交互、高并发请求、性能优化、地图渲染、数据可视化相关的场景题。这些判断在后来练习和搜集经验贴的过程中基本都得到了验证。

这篇内容适合三类人看:正在准备2024年下半年或2025年秋招的前端同学;目标投递新能源车企但还没摸清笔试套路的人;以及前端基础还可以、但想补一轮系统化复习的在职开发者。下面我按笔试前怎么准备、笔试中怎么答题、考后怎么复盘这条线来写。

1. 秋招前端笔试的方向判断与备考布局

1.1 蔚来前端笔试到底在考什么

先说结论。蔚来的前端笔试并不是单纯考“前端面试八股文”,它的题型分布更接近:计算机基础 + 前端基础 + 框架工程化 + 手写代码 + 少量算法。整体难度中等偏上,但覆盖面很广,如果不做针对性准备,很容易在“感觉都会但写不对”的题目上翻车。

我备考时主要分成了五个模块:

  • 计算机网络与浏览器:HTTP缓存、跨域、Web安全、浏览器渲染机制。
  • JavaScript语言核心:事件循环、闭包、原型链、this指向、异步编程。
  • CSS与页面布局:盒模型、BFC、Flex/Grid、移动端适配、响应式布局。
  • 框架与工程化:React或Vue的实现原理、状态管理、组件通信、打包工具、微前端。
  • 手写代码与算法:数组方法手写、防抖节流、深拷贝、Promise相关、简单算法题。

为什么会有这种结构?因为车企前端面对的场景往往更贴近“真实业务”。比如车主App里要展示车辆控制状态,这就需要处理实时推送和长连接;数据可视化大屏要展示车辆运行数据,就涉及图表渲染优化和大数据量处理;中后台系统里大量配置页面和表单,会考察组件抽象能力和工程规范。所以笔试不会只停留在“说一下浏览器从输入URL到页面展示的过程”,而是会把知识点揉进业务场景里问。

我在复习的时候用了一个笨但有效的办法:每复习一个知识点,就逼自己想一想“这个能力在蔚来的什么业务里会被用到”。比如复习Web Worker的时候,我会联想到车机端上传行车记录仪视频的大文件切片场景;复习WebSocket的时候,想到车主远程控制指令的下发和状态回传。这个方法能极大提高记忆效率。

1.2 备考优先级与复习路径

时间有限的前提下,建议按优先级分三轮复习。

第一轮:先把JavaScript核心和浏览器网络这两块吃透。这是笔试出题密度最高的部分,而且手写题基本都从这里出。我当时给自己定的目标是:事件循环的题目要做到100%做对,闭包和this的题目要能讲清楚为什么,HTTP缓存相关的字段要能默写。

第二轮:主攻框架原理和工程化。如果时间不够,与其纠结React源码级别的细节,不如先把这两件事搞清楚:第一,框架的核心运行机制(比如Vue的响应式原理、React的render和commit流程);第二,状态管理和组件通信的常见方案。这两个知识点在笔试里出现频率最高。

第三轮:专项刷手写代码和算法。每天保证至少手写两道题,不求多,但求边界条件完整。算法题不用追求难题,重点放在数组去重、字符串处理、链表反转、二叉树遍历这类“笔试高频”。

注意:不要一上来就刷一堆LeetCode困难题。前端笔试的算法题基本是中低难度,但非常看重代码风格的完整性和边界处理。能写对一大半题的人,往往比只钻研难题但笔试基础题丢分的人更有优势。

2. 高频考点拆解与答题要点

2.1 JavaScript核心机制:事件循环、闭包、this、原型链

2.1.1 事件循环

事件循环是前端笔试几乎必考的题目,而且通常不只是问概念,会给一段代码让你写出输出顺序。这种题的难点在于把宏任务、微任务、同步代码、Promise、async/await组合在一起。我在备考时就翻过几次车,尤其是new Promise里执行函数体的时机和await之后的执行时机,特别容易混淆。

我后来总结了一个稳定的“三层判断法”:先找同步代码,再找微任务队列,最后找宏任务队列。Promise构造函数里的回调是同步执行的,Promise.then里的回调是微任务,setTimeout属于宏任务。遇到async函数时,在await之前的代码是同步的,await右边的表达式立即执行,await之后的代码相当于Promise.then,需要进入微任务队列。

举个例子,经典的一段代码:

console.log('script start'); setTimeout(() => { console.log('timeout'); }, 0); Promise.resolve() .then(() => { console.log('promise1'); }) .then(() => { console.log('promise2'); }); console.log('script end');

输出顺序是:script start, script end, promise1, promise2, timeout。原因就是同步代码先执行完,接着微任务Promise.then连着执行完,最后才轮到setTimeout这个宏任务。这类题在笔试中很常见,也是拿分的基础,一定要练到条件反射。

2.1.2 闭包

闭包在笔试里很少让你背定义,考察方式一般是这两种:写出某段代码的输出结果,或者要求手写一个利用闭包实现的函数。

比如这道很典型的题目:

for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 100); }

输出结果是5个5,而不是0到4。因为var声明的i是函数作用域,循环结束后i已经变成5,setTimeout回调执行时访问的是同一个i。把var改成let后,每次循环会创建一个独立的块级作用域绑定,输出就是0到4。笔试里如果遇到这种题,就是要考察对闭包和变量作用域的理解。

手写闭包方面,会出现“用闭包实现一个计数器”“实现一个只能调用一次的函数”这类基础题。这些其实不难,关键是把闭包的特性活用起来:函数内部引用外部变量,并且外部变量的状态在多次调用间被保留。我在笔试时的策略是:先写核心逻辑,再用注释说明自己对外部变量生命周期和内存泄漏风险的考虑,这样就算代码没满分会,至少能让阅卷人看到基础扎实。

2.1.3 this指向与原型链

this指向的题目,老实说属于“死记硬背但背完还是会错”的类型。笔试常考的无非是:普通函数调用、对象方法调用、构造函数调用、call/apply/bind调用、箭头函数。

我建议刷题时多画调用栈,而不是靠感觉。普通函数调用时this指向全局对象;对象方法调用时this指向调用者;new调用时this指向新创建的实例;箭头函数不绑定this,沿作用域向上查找。这种题目做顺之后,反而比闭包好拿分。

原型链则是以选择题或判断题出现,比如“以下代码输出什么”:

function Foo() {} Foo.prototype.say = function () { console.log('Foo'); }; const f = new Foo(); console.log(f.say === Foo.prototype.say); // true console.log(f instanceof Foo); // true

考察点就是实例的__proto__指向构造函数的prototype,以及原型链上方法的查找机制。原型链不用背得特别深,但至少要能说清楚:对象属性查找会沿着原型链向上走,直到找到或者走到null为止。

2.2 浏览器原理与网络:缓存、Web安全、性能优化

2.2.1 HTTP缓存

HTTP缓存在笔试中属于高频但容易拿满分的题,只要把字段和流程理清楚就基本不会丢分。

用生活化类比来理解:强缓存相当于“你家冰箱里存了菜,做饭前先看看冰箱里有没有,有就直接做,不用去超市”;协商缓存就是“冰箱里没菜了,先去超市逛一圈,如果超市老板告诉你这个菜没变过,你就用原来冰箱里的老菜做”。强缓存的字段是Cache-Control和Expires,其中Cache-Control的max-age指定缓存有效时间,优先级高于Expires;协商缓存的字段是Last-Modified/If-Modified-Since和ETag/If-None-Match,ETag优先级高一些。

笔试常出比较题:

类型触发条件状态码是否发起请求常用字段
强缓存未过期,直接从缓存读取200 (from disk/memory cache)Cache-Control, Expires
协商缓存缓存过期,向后端确认304ETag / If-None-Match, Last-Modified / If-Modified-Since

这里有个坑:很多同学会把“协商缓存不返回数据体”和“不发起请求”混淆。实际上协商缓存一定会发起请求,只不过服务端返回304时不需要重新传输数据体,页面直接从缓存读取。笔试里如果选项写着“协商缓存不会发起请求”,那一定是错的。

2.2.2 Web安全

Web安全部分考察集中在这几个方向:XSS、CSRF、CORS。其中XSS和CSRF容易混淆,我总结了区分口诀:XSS是“恶意脚本被注入页面执行”,CSRF是“浏览器带着用户的登录凭证,跨站伪造请求”。

应对方案也是常考点。XSS的核心思路是过滤和转义用户输入,禁止不可信内容直接插入DOM;如果需要动态渲染,优先使用textContent而不是innerHTML。CSRF的核心思路是验证请求来源,常见手段有校验Referer/Origin、使用CSRF Token、设置SameSite Cookie属性。CORS则是解决跨域问题的浏览器机制,笔试里会问到简单请求和预检请求的条件,以及Access-Control-Allow-Origin字段的配置,我记得蔚来笔试相关的讨论帖里也有不少人分享过类似的考点。

2.2.3 性能优化

性能优化题在前端笔试里属于“既要背框架又要能展开讲”的题目。常考点包括:首屏加载优化、图片懒加载、长列表优化、资源压缩合并、CDN、SSR、Web Worker处理耗时任务。

车企相关的场景里,地图渲染和车辆数据可视化是常见优化点。比如渲染大量车辆坐标点时,直接操作DOM会导致卡顿,常用的方案是Canvas绘制结合分帧渲染,或者使用虚拟滚动只渲染可视区域内的节点。我在备考时专门练过“前端使用Worker上传大文件”这个场景题,把文件切片、并发上传、进度回传、错误重试这条链路完整写了伪代码。这种场景题很容易在笔试的大题里碰到,而且一旦会写一题,同类题目基本都能举一反三。

2.3 框架、组件与工程化:React/Vue、状态管理、微前端

2.3.1 Vue响应式原理与React渲染机制

蔚来前端岗笔试在框架层面没有限定React还是Vue,官方招聘描述里通常两者都接受,但笔试题目可能会让你选做。如果是Vue方向,核心考点就是响应式原理:Vue 2用的是Object.defineProperty对对象的每个属性做劫持,Vue 3改用Proxy代理整个对象,能监听到属性的新增和删除。

如果考React方向,最常见的问法是“setState之后发生了什么”。答案分三步:触发更新调度、执行render函数构建新的虚拟DOM、通过diff算法对比新旧虚拟DOM并提交更新到真实DOM。这里很爱考一个点:为什么setState是异步的?因为React会把多个setState批处理合并成一次更新,避免频繁渲染。

2.3.2 状态管理与组件通信

状态管理的选择也是笔试高频。React方向常见选项是Redux、Zustand、MobX;Vue方向是Pinia和Vuex。笔试不会让你写完整代码,更多是问:state、action、reducer之间的关系;如何在组件里派发action并获取最新状态;什么场景下需要引入全局状态管理。

组件通信则更基础:父子组件通过props传递数据和事件回调;跨层级通信可以用Context或Provide/Inject;复杂跨组件通信则借助全局状态管理或事件总线。这里容易丢分的是“把父子通信和全局状态管理混为一谈”,答题时最好分场景说明,而不是把所有通信方式一股脑列出来。

2.3.3 微前端与工程化

微前端在前端面试热的这几年里出现频率稳定上涨。蔚来有多个中后台系统和车主运营平台,微前端在大型团队里几乎成了标配。常考的问题包括:微前端的核心价值是什么?主流方案有哪些?qiankun和Module Federation的区别?

我结合自己所在团队的实际落地经验,把重点放在“为什么需要微前端”上:多团队独立开发和部署、技术栈异构共存、存量系统增量改造、应用间隔离。笔试题如果出微前端,大概率是让你分析某场景下选型是否合理,而不是让你默写某个框架API。

工程化方面则常考:Webpack/Vite的核心差异、Loader和Plugin的区别、Tree Shaking的原理、Babel的作用、CI/CD里前端构建流程。这些内容不必做到源码级理解,但要能说出核心原理和典型使用场景。比如Vite之所以快,是因为开发环境用了原生ES Module加载,省去了Webpack的打包步骤,这是高频考点。

2.4 手写代码与笔试现场题

手写题是我复习投入时间最多的模块。笔试里出现过的类型我大致归成三类:工具函数、场景题、基础算法。

工具函数层面上,数组去重、防抖节流、深拷贝、Promise.all、函数柯里化、发布订阅模式都比较常考。想拿高分的关键只有一条:边界条件写全。比如数组去重,基于Set的写法最简单,但如果面试官要求性能最优,就要考虑使用Map保存类型和值,或者用filter加indexOf处理。深拷贝的坑更多:循环引用、Map/Set特殊类型、Date等非普通对象、Symbol属性,这些都要在代码里处理,写完再自测几个边界用例才稳。

场景题里,我印象比较深的一个题目方向是“前端水波纹进度条如何实现”。乍看像CSS题,其实是CSS和JavaScript的联动题。实现思路分三步:一是用CSS动画或Canvas画一个圆形进度条,stroke-dasharray和stroke-dashoffset控制显示比例;二是监听上传进度或加载进度事件,计算当前百分比并更新进度条的stroke-dashoffset;三是水波纹效果,可以用CSS动画配合伪元素或者Canvas绘制正弦波图形来模拟。答题时不需要写出完整可运行代码,但思路要清晰,关键API要写对,比如Canvas的arc方法、strokeStyle属性,CSS的transition和animation事件。

算法题方面,我刷题时主要针对链表、数组、字符串、二叉树这类“笔试常客”。比如反转链表、合并两个有序数组、两数之和、二叉树的中序遍历。难度不大,但要求能在白板环境或者在线编辑器里快速写出无语法错误的代码。我有个习惯:平时练手写时不开IDE的自动补全,逼自己在空白文件里直接写,面试笔试时就不会因为环境不熟悉而卡壳。

建议:手写题尽量用原生JavaScript,不要用第三方库。有些同学熟悉lodash,笔试里直接写_.debounce,这种答案基本拿不到分,笔试环境大概率也不允许引入外部库。

3. 模拟笔试的实操复盘与答题策略

3.1 一场笔试的时间分配方案

网上能搜到的蔚来秋招前端笔试相关信息,加上我自己的经历,整体来看题型通常覆盖选择题、问答题、手写代码和算法题,总时长大概在90到120分钟。我模拟复盘时给自己定的时间是90分钟,题量大约在12到15道题。

我的时间分配策略:

题型建议用时策略
选择题(基础概念、代码输出)20分钟快速作答,不纠结,超过2分钟没思路就先蒙一个并标记
问答题(原理、方案设计)25分钟分点作答,先结论后展开,字数适中
手写代码题30分钟先写主逻辑,再补边界条件,最后检查语法
算法题15分钟先想暴力解,再优化,用例跑通即可

时间分配的原则很朴素:把会做的题先稳稳拿到分,不会做的题最后再回来啃。我见过不少同学在选择题上纠结太久,导致最后算法的简单题都没时间写,非常可惜。

3.2 典型题目实战演示

下面挑三道具有代表性的题目,演示一下我在模拟笔试时的完整答题过程。

第一道:手写防抖函数

防抖的语义是:在事件被连续触发时,只执行最后一次触发后的回调。核心是维护一个定时器,每次触发时清除上一个定时器,再重新设置一个新定时器。

function debounce(fn, delay = 300) { let timer = null; return function (...args) { if (timer) clearTimeout(timer); timer = setTimeout(() => { fn.apply(this, args); }, delay); }; }

注意点有两个:一是保存this指向,用apply或call调用原函数;二是把event对象等参数透传进去。这个版本已经能覆盖大部分笔试场景,如果面试官追问“是否需要立即执行版本”,可以再补充一个使用immediate参数的扩展写法。我笔试时会先把基础版写出来,再用注释说明可扩展的方向。

第二道:深拷贝

深拷贝要处理的边界条件非常多,但笔试时不用写出生产级完整版本,重点是体现出对边界情况的考虑。

function deepClone(obj, hash = new WeakMap()) { if (obj === null || typeof obj !== 'object') return obj; if (obj instanceof Date) return new Date(obj); if (obj instanceof RegExp) return new RegExp(obj); if (hash.has(obj)) return hash.get(obj); const clone = Array.isArray(obj) ? [] : {}; hash.set(obj, clone); Reflect.ownKeys(obj).forEach((key) => { clone[key] = deepClone(obj[key], hash); }); return clone; }

这段代码包含了三个关键点:用WeakMap处理循环引用;用Reflect.ownKeys解决Symbol属性丢失的问题;单独处理Date和RegExp对象。笔试时能写出这个版本,基本可以超过大部分候选人。

第三道:用Web Worker实现大文件分片上传的思路设计

这道是结合蔚来车联网场景的比较综合的方案题。我模拟时的答题结构是:

第一,明确为什么用Web Worker:文件分片和哈希计算是CPU密集型任务,放在主线程会阻塞UI,尤其在大文件上传场景中,用户可能还在操作页面,不允许卡顿。

第二,分片策略:将文件按固定大小(比如5MB)切成多个Blob分片,读取文件时使用File.slice()方法。每个分片生成独立的hash,用于服务端秒传校验和断点续传。

第三,Worker通信:主线程通过postMessage把分片数据转交给Worker,Worker计算hash后用postMessage回传结果。整个计算过程中主线程不参与重计算,UI保持流畅。

第四,并发控制:控制同时上传的分片数量,比如4到6个并发,避免瞬间占满带宽导致请求全部超时。

第五,异常处理:分片上传失败后单独重试,不要重新上传整个文件;全部完成后由服务端触发合并接口,前端轮询或通过WebSocket接收合并完成通知。

这种方案型题目在笔试里时间压力大,想全写完整很难。我的策略是先把主流程画清楚,再挑最重要的两个细节展开说明,比如并发控制和断点续传。能体现工程思维本身就是加分项。

3.3 笔试现场的写作表达技巧

笔试答题和平时自己刷题有一个很大差异:你写的文字是在向另一个工程师展示你的思考过程。所以回答问答题时,我强烈建议用“结论先行、分点展开、最后补充边界”的结构。

举一个例子。题目是“简述前端如何进行性能优化”。差的回答是:通常可以通过懒加载、压缩图片、减少DOM操作来优化。这种回答没有层次,也没有关联场景。好的回答应该这样组织:

  • 先说性能优化的核心指标:首屏加载时间、交互响应时间、页面流畅度。
  • 再分三个层面展开:网络层(资源压缩、CDN、缓存)、渲染层(减少重排重绘、虚拟滚动、懒加载)、计算层(Web Worker承担耗时代码、合理拆分任务)。
  • 最后补充一句:具体方案需要根据业务瓶颈来选择,比如面向地图渲染的可视化系统,重点在Canvas绘制和大数据量处理上。

这种答题方式即使知识点掌握不完全,也能让阅卷人看出你的系统思维。

对于手写代码题,我还有一个独家习惯:写完主逻辑后,在代码上方加一行注释,说明“此处考虑了XX边界情况”。比如“// 处理循环引用场景,使用WeakMap保存已克隆对象”。这行注释花不了10秒钟,但能非常直观地体现代码意识,比代码本身更能区分候选人水平。

4. 常见丢分点与避坑指南

4.1 知识点混淆现场

笔试里丢分最可惜的不是不会做,而是两个知识点记混了。我整理了一份高频易混淆对照表,这些在复习时很有用:

易混淆点正确理解典型误区
var / let / constvar函数作用域且可重复声明;let块级作用域;const声明常量并需初始化以为const定义的对象属性不可修改
== / ======比较值和类型,不做隐式转换以为==只是比值的效率更高
splice / slicesplice会修改原数组;slice返回新数组不修改原数组把两者返回值类型记反
强缓存 / 协商缓存强缓存不发起请求;协商缓存发起请求但可能不返回体积误以为协商缓存完全不发请求
Promise.all / Promise.allSettledall只要有reject就整体失败;allSettled等所有Promise完成任务并返回状态以为allSettled遇到reject会抛错
组件key的作用帮助diff算法识别节点是否复用以为key是直接操作DOM的标识
盒子模型box-sizing不同,宽高计算范围不同;content-box是默认,border-box包含padding和border忘了尺寸计算方式不同会导致布局错乱

每天刷题前把这张表过一遍,比盲目刷题效率高得多。

4.2 手写代码的隐形失分项

手写题拿到题目后不要立刻写,先花30秒在草稿纸上列出输入、输出和边界条件。我见过太多同学一上来就写,结果在空数组、null、极端参数这些边界上大面积翻车。

以下是我做题时必查的隐形失分项:

  • 参数校验:函数是否处理了undefined、null、空字符串?
  • 数组边界:循环访问arr[i]时会不会越界?length为0时是否走通?
  • 循环引用:写深拷贝时是否考虑了对象循环引用?
  • 异步时序:写防抖节流时,定时器的清理位置是否正确?
  • 代码可读性:变量命名是否清晰?有没有魔法数字?
  • 环境兼容:代码里是否使用了太新而笔试环境不支持的API?

另外,笔试环境通常没有代码提示,语法拼写错误非常致命。我备考后期专门练习过“不看参考写全API”,比如Array.prototype.reduce的参数顺序、Canvas的ctx.arc(x, y, r, startAngle, endAngle)参数顺序,这些一旦写错,整个题可能一分都拿不到。

4.3 简历与项目经历如何反哺笔试

笔试不只是考知识点本身,很多大题都会围绕项目经历展开。我在准备蔚来笔试时,把简历上的前端项目重新过了一遍,重点提炼了三个方向的能力:性能优化、复杂交互、工程化能力。

具体做法是:每个项目都整理出一段“我曾经做了什么 -> 通过什么技术方案 -> 达到了什么效果”的表述。比如我做过一个数据大屏项目,那对应的笔试大题如果问到前端性能优化,我就能很快联系到大屏场景中的Canvas渲染、数据更新频率控制、内存释放等细节。

这里提醒一下:笔试前的项目复盘,重点不是背项目介绍,而是把项目中用到的每一个技术点都展开成一棵知识树。项目里用到ECharts,那就要顺带复习Canvas和SVG的差异;用到WebSocket,就顺手复习心跳机制和断线重连;用到微前端,就梳理主应用和子应用的通信方案。笔试考场上经常出现“项目里的技术点被包装成笔试题”的情况。

延伸一步说,从笔试到面试的衔接也很重要。笔试通过后,面试官大概率会深挖笔试中暴露的知识盲区,尤其是手写题和方案设计题。所以我笔试结束后做的第一件事,不是等结果,而是把笔试里写得不完整的题目全部重新做一遍,确保能独立写出来。这个习惯帮我避开了很多“笔试会做但面试问倒”的情况。

5. 笔试复盘的价值与后续扩展方向

这里我想多说一点关于“复盘”的体会。很多人把笔试当成一次性的筛选,考完就忘,其实是不太划算的。秋招笔试的题库和面试风格每年有延续性,许多公司的高频考点在公开题库里反复出现。我每场笔试结束后,会花30分钟做一次快速复盘:把回忆得起来的题目按考点分类,标记正确率和卡壳点,然后集中补漏。到秋招投递到十几家公司之后,这份错题本就成了最有针对性的复习资料,比到处找面经效率高得多。

具体操作上,我使用的复盘模板很轻量:题目描述 -> 考察知识点 -> 我的答案 -> 正确答案或优化思路 -> 是否可以在简历项目中加深印象。这个模板写多了之后,你会发现各个公司的高频考点高度重叠,比如事件循环、HTTP缓存、手写防抖、React或Vue原理,这些几乎每家都考。把高频点练到“肌肉记忆”级别后,笔试整体压力会小很多。

做项目时也可以把笔试题里遇到的技能点反向用到真实业务里。比如笔试考了大文件分片上传,项目里刚好有文件上传功能,那就主动把Worker切片和并发控制方案落地进去,既丰富了简历项目,又巩固了笔试知识点。我在复盘中的一个体会就是:笔试、项目、面试三者本来就该形成闭环,而不是割裂的三个环节。

最后一点建议,关于心态。秋招的笔试战线通常拉得很长,投递的公司多,笔试场次密,偶尔一两场发挥失常很正常。我自己的经验是,不要因为一次笔试没考好就否定自己的技术积累,但要因为一次没考好就认真找原因。把错题整理成册,把薄弱点逐一击破,等到考场上再见到同类题目时,那种“这道题我见过”的从容感,就是前面所有积累最直接的回报。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询