ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

前端实习面试全攻略:从简历到offer的实战指南

前端实习面试全攻略:从简历到offer的实战指南 题记这篇文章是给那些正在准备前端实习面试的同学们写的也是我多次带队校招、审过几百份前端简历之后最想对你们说的一些大实话。内容不会像教科书那样罗列全部八股文而是把前端实习生面试这条路上的关键节点、常见误区和真正能帮你拿 offer 的实操方法一次讲透。前端实习面试和正式社招面试是完全不同的物种。社招看的是你解决了什么问题实习面试看的是你值不值得培养。所以整场面试的底层逻辑只有一个让面试官在30到45分钟里相信你是一个基础扎实、有自驱力、能沟通、上线后不给他添麻烦的人。想清楚这一点你准备的方向就对了。很多大一大二的同学问过我说学完HTML和CSS就去投实习行不行。我的回答是简历可以投但大概率会挂。因为实习面虽然不会卡架构设计但也不会低到只看标签和属性。尤其现在前端岗位的竞争明显前置了我见过不少大二学生已经在GitHub上维护组件库或者用Vue3TypeScript写过完整的中后台项目。这种情况下你只准备基础语法就去面试在简历筛选环节就被比下去了。这篇面经我按实习面试的实际顺序来写先讲怎么准备简历和投递再说面试中一定会碰到的八股文高频考点然后是框架、项目拷问、手写题和机试题最后是面试流程实录和复盘方法。每一部分我都会结合真实的面试场景来说明包括面试官问某个问题时的潜台词、他真正想考察什么、以及你怎么回答才能加分。1. 前端实习面试的整体认知与准备路线很多同学准备实习面试的时候第一反应就是去背八股文。这没错但只背八股文一定不够。前端这个岗位经过这么多年的发展已经从“切图仔”变成了一个完整的工程化领域。面试官问你的每一道题背后都对应着真实开发中的某个场景。你死记硬背的答案是死的但如果你理解了这个问题的来龙去脉知识就是活的。1.1 面试官到底在考察什么我之前带过的一个实习生技术基础非常扎实笔试几乎满分但一到面试环节就露怯。问他在项目中遇到的难点他说了半天也没说清楚自己负责哪块最后只能给一个很模糊的答案。后来复盘我才明白他不是技术不行而是没有建立“面试官视角”。面试官考察实习生通常就三个维度基础知识的扎实程度HTML、CSS、JavaScript、计算机网络这些大学课程和自学内容是否真学会了。问两三个深一点的问题就能看出一个人是背的答案还是真理解了。学习能力和自驱力前端技术迭代快今天会Vue2不代表明天能跟上Vue3更别说React Server Components这种新东西。面试官会通过你关注什么技术、怎么学习、遇到问题怎么解决来判断你的成长性。表达能力和协作意识前端开发不是一个人闷头写代码而是要跟产品、设计、后端不断沟通。面试官会在对话中观察你能否清楚表达自己的想法能否听明白对方的问题出现分歧时怎么处理。这三个维度第一个靠积累第二个靠积累加表达第三个纯靠平时习惯。所以实习面试最忌讳的就是临时抱佛脚你大学前两年是怎么学的前端、写过什么项目、踩过什么坑这些才是面试时真正能拿出手的东西。1.2 实习面试的完整时间线规划说实话我看到很多同学到大三下学期才开始慌疯狂刷题、突击项目然后海投简历。这种路径不能说一定失败但成功率非常低原因很简单你短时间内填进去的东西没有经过内化和实践检验面试官稍微追问一下就露馅了。合理的实习面试准备时间线应该在面试前至少三个月开始第1个月梳理自己已有的知识体系用思维导图列出前端知识点清单找出薄弱环节。同时更新简历把做过的小项目、课程设计、开源贡献都整理出来。第2个月针对薄弱环节系统补课同时开始刷高频面试题。这里的刷题不是背答案而是把每道题当成一个小课题理解背后的原理和真实应用场景。第3个月开始投递简历约面试。每一次面试后都要详细复盘把没答上来的问题记录下来查资料弄懂下次面试前再看一遍。这个方法看起来很朴素但执行到位的人真不多。我见过太多同学简历上写“熟练掌握Vue”但被问到Vue3的响应式原理和Vue2有什么区别时完全答不上来。这种诚信问题在面试中是致命的。1.3 根据自己的情况制定差异化策略前端的知识体系很庞杂实习面试不可能面面俱到。你需要根据自己的情况做一个战略取舍哪些是必须掌握的哪些是了解即可的哪些可以直接放弃。我建议的最低配置是这样的HTML语义化、SEO基础、Canvas和SVG的区别CSS盒子模型、Flex和Grid布局、BFC、CSS选择器优先级、移动端适配方案JavaScript数据类型、闭包、作用域链、原型链、this指向、事件循环、Promise、异步编程浏览器从输入URL到页面渲染的过程、缓存机制、跨域、渲染原理网络HTTP和HTTPS、TCP三次握手、常见状态码Vue或React至少精通一个包括生命周期新老版本、组件通信、响应式原理、虚拟DOM工程化Webpack或Vite的原理与配置、Git基本操作、模块化规范如果你有余力可以再准备TypeScript、Node.js基础、性能优化、设计模式这些东西。但注意这些是加分项不是必须项。实习生的精力有限把上面这些基础打牢比什么都强。2. 简历准备与投递策略没有大厂实习经历怎么包装简历是你和面试官的第一次对话。前端实习岗的简历门槛其实不算高但因为投的人多筛选简历的人往往只能花不到一分钟时间扫一遍。你要做的就是让这一分钟里对方能看到你的亮点产生“这个人值得约来聊聊”的想法。2.1 简历的核心模块怎么设计一份前端实习简历基本上包含个人信息、教育背景、技能清单、项目经历、校园经历或开源经历这几个模块。其中项目经历是最重要的需要花最多的精力去打磨。个人信息和联系方式没什么好说的重点提醒两点一是邮箱别用幼稚的昵称二是如果写了博客链接或GitHub链接一定要确认里面没有空仓库和半成品哪怕只有几个小demo也要整理得像模像样。技能清单这个模块我建议用分类的方式写别写“熟练掌握H5了解C3”这种缩写混搭的话。比如这样熟悉HTML5语义化标签、CSS3动画与过渡、Flexbox和Grid布局掌握JavaScript ES6语法理解闭包、原型链、事件循环等核心概念熟练使用Vue 3 TypeScript Vite进行项目开发了解Vue响应式原理了解HTTP协议、浏览器渲染机制、前端常见性能优化手段熟悉Git工作流了解Webpack和Vite的基础配置这里有一个关键技巧你在技能清单里写的每一项都要做好准备被面试官深入追问。如果某个技术你只是看过文档、没真正用过就别往上写。技术面试中简历上的技能点就是你的承诺兑现不了会非常尴尬。2.2 没有实习经历怎么把项目经历写好看实习面试高频场景是同学简历上没有任何实习经历项目只有学校的课程设计。这是最正常不过的情况但很多同学在项目描述上犯了大忌——只写功能不写难点和思考。我给你一个改进前后的对比改前使用Vue开发了一个个人博客系统支持发布文章、评论、分类等功能使用localStorage进行数据存储。改后基于Vue 3和TypeScript开发个人博客系统实现了文章发布、分类筛选与评论互动功能。在数据持久化方面自主对比了localStorage和IndexedDB的使用场景最终选择IndexedDB用于存储较大数据并封装了通用数据读写层。通过自定义v-model组件实现了文章编辑器的复用减少了30%的重复代码。看出区别了吗改前写的只是“做了什么功能”改后强调的是“我怎么思考、怎么选型、解决了什么问题”。面试官想看到的不是你的功能清单而是你的技术决策能力和踩坑能力。项目不一定要多高大上把一个课程设计做成精品也好过流水账式地列三个没有深度的项目。我在筛选简历时最反感的就是那种“仿携程网”“仿豆瓣App”的项目一看就是照着培训班的模板敲了一遍别说追问了光看代码结构就知道没有自己的思考。2.3 投递渠道和时机怎么选前端实习的投递渠道大概有这几种大厂官网的校招实习系统、牛客网这类求职社区的内推板块、拉勾和BOSS直聘这种招聘平台、以及高校就业信息网和辅导员推送的招聘信息。我的建议是能走内推就走内推没有内推就走官网投递。内推的好处不是保证通过而是简历会被优先看到还能通过内推人了解岗位的真实情况。至于官网投递大厂的系统一般会要求填写多个开放性问题比如你为什么选择我们、你最近在看什么技术书之类别随便写几句就提交这些问题也会影响简历筛选。投递时机上前端实习的黄金期通常集中在大三下学期开学到现在正式找实习之前也就是2月到5月这段时间。很多大厂的暑期实习招聘在3月初就启动了4月进入笔试面试高峰5月开始发放offer。如果你等到6月再投岗位基本被占满了。还有一个容易被忽视的点投递记录要做好管理。我建议你用一个表格记录每家公司投递的岗位、日期、内推人、笔试时间、面试进度、面评关键点。不要小看这个动作它能让你在同时收到好几家面试邀约时不慌乱也能帮你在复盘时一目了然地看到自己的时间分配。3. 前端基础八股文核心考点拆解八股文这个词很多同学觉得是贬义词。但在我看来前端面试中的那些“八股文”问题其实是帮你查漏补缺的最佳框架。面试官问这些问题不是为了刁难你而是用一个标准问题来快速探测你知识体系的完整性。所以态度上重视它准备上理解它面试时就能游刃有余。3.1 JavaScript基础闭包、原型链、this、事件循环JavaScript的前端面试地位怎么强调都不为过它几乎是每场面试的必考项。而对实习生来说最常见的几个考点如下闭包。面试官通常会让你解释什么是闭包举一个实际使用的例子再说说闭包有什么缺点。如果你能答到“函数定义时所在的词法作用域被保留下来使得函数可以在外部访问这个作用域中的变量”再补一个防抖函数或柯里化的例子这一问基本就稳了。但要注意千万别只在逻辑层面答最好现场写一段代码哪怕是不到十行的节流函数也能证明你真的理解闭包。原型链。这道题的考察形式通常是给你一段代码问输出什么比如[].map Array.prototype.map返回什么、Object.create(null)创建的对象有什么特别之处。你得能准确说出原型链的查找规则、__proto__和prototype的区别、以及ES6 class到底是怎么基于原型链实现的。如果能在答完基础内容后主动提到“instanceof判断的原理就是沿着原型链查找prototype”会让面试官觉得你知识是连成片的。this指向。这道题常见的坑是箭头函数、普通函数、bind/call/apply混在一段代码里问输出。我的建议是回答时先分情况列举this的四种绑定规则再用代码说明箭头函数为什么没有自己的this最后总结一句“谁调用就指向谁箭头函数看外层”这种直白但准确的总结。事件循环。说实话这道题我做过面试官也做过应聘者。核心掌握宏任务和微任务的执行顺序即可同时要弄清Promise的then回调是微任务、setTimeout是宏任务、requestAnimationFrame有自己的执行时机这个点。面试时如果被问“宏任务和微任务哪个先执行”千万别答错在第一轮就挂掉这个高频送分题太可惜了。3.2 CSS与浏览器渲染盒模型、BFC、从输入URL到页面渲染CSS部分实习生常被问到的是盒模型、Flex布局、BFC、移动端适配。盒模型要能说清楚标准盒模型和IE盒模型的区别即box-sizing取content-box和border-box时width到底包不包含padding和border。BFC的问题问法很多比如“什么是BFC”“如何创建BFC”“BFC有什么应用场景”。你可以用一个回答把这些串起来BFC是块级格式化上下文它决定了一个独立的渲染区域外边距不会穿透、浮动不会溢出。创建方式包括overflow非visible、display: flow-root、position为absolute或fixed、float非none等。最常见的应用是清除浮动和防止margin合并。能说到这个程度BFC这块就够了。从输入URL到页面渲染完整过程几乎是前端面试必考的大题。这道题看起来简单但真正能答完整的同学不多。完整的回答应该包含这几步浏览器解析URL判断是否是合法地址查找DNS缓存解析域名得到IP地址建立TCP连接HTTP请求如果是HTTPS还需要TLS握手浏览器发送HTTP请求服务器返回响应浏览器收到HTML后进行解析构建DOM树和CSSOM树两者结合生成渲染树执行布局和绘制JavaScript的解析和执行会阻塞DOM构建所以script标签建议放在body底部或使用defer、async回答的时候每一句都要有依据别说得太细也别太粗。面试官一般会根据你的回答继续追问某一步比如“JS执行会阻塞DOM构建那defer和async有什么区别”如果你能接上这个环节就成了加分项。3.3 HTTP与跨域状态码、缓存、CORSHTTP这一块实习生需要掌握的知识点不算多但都是硬核的。状态码至少要知道1xx、2xx、3xx、4xx、5xx每一类的含义以及200、301、304、401、403、404、500、502这些常见状态码的具体场景。特别是304它跟缓存机制强相关面试官可能顺带问协商缓存和强缓存的区别。缓存面试官经常问“浏览器有哪些缓存方式”。你需要能说出强缓存和协商缓存的区别强缓存用Cache-Control和Expires协商缓存用ETag/If-None-Match和Last-Modified/If-Modified-Since。进一步答出“强缓存命中直接走本地缓存协商缓存需要发请求给服务器确认”就合格了。跨域这道题几乎必考问法一般是“什么是跨域如何解决”。要答到同源策略协议、域名、端口三者一致才算同源以及常见的跨域解决方案JSONP的原理和限制、CORS的配置和预检请求、代理服务器开发环境常用Webpack/Vite proxy生产环境用Nginx反向代理。这里有一个细节很多同学会答出“用document.domain降域”或者“用postMessage”但如果你不了解这些方案的适用场景不如老老实实把CORS和代理讲清楚。4. 框架篇Vue/React面试重点与项目拷问前端框架是实习面试中占比最重的一块。现在的市场行情Vue和React基本二分天下你至少需要精通一个同时对另一个有基本认知。下面我以Vue为例把实习面试中最常考的几个点拆开讲。4.1 Vue生命周期和响应式原理Vue生命周期是送分题但也是最容易被问到变体的题。实习面试的常规问法是“Vue3的生命周期和Vue2有什么不同”又或者“created和mounted有什么区别分别在什么场景使用”。我建议你准备一个标准回答模板Vue2的生命周期有beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed八个阶段Vue3把最后两个改名成beforeUnmount和unmounted同时新增了setup函数它是beforeCreate和created的替代。在created阶段可以访问data和methods但DOM还没生成在mounted阶段DOM已经挂载完成可以操作DOM节点了。Vue3响应式原理是另一个高频考点。要能说清楚reactive基于Proxy实现、ref基于Object.defineProperty或Proxy实现推荐回答时说明ref在Vue3里也是通过Proxy做访问拦截以及Proxy相比Object.defineProperty的优势可以监听动态新增属性、可以监听数组索引变化、不需要递归进行深层defineProperty。如果还被问到“为什么Vue2里用$set才能让新增属性变成响应式”这个问题自然就答出来了。4.2 组件通信和虚拟DOM组件通信的考察方式很直接面试官问“父子组件、兄弟组件、跨层级组件之间怎么通信”你按层级分别回答即可。父子组件用props和emit兄弟组件用共同的父组件做中转或者在React里用状态提升跨层级组件用provide/injectVue或者ContextReact全局状态用PiniaVue3或Redux/ZustandReact。这里要提醒一点千万别在回答里暴露技术栈混乱的问题比如学Vue的同学一通乱说“Redux”就不好了。虚拟DOM的题面试官喜欢问“虚拟DOM是什么为什么要用虚拟DOM它一定比真实DOM快吗”我的回答思路是这样的虚拟DOM是JS对象描述真实DOM结构的一种方式。为什么要用它主要原因是直接操作真实DOM代价高频繁操作会引起页面重排重绘而虚拟DOM可以批量计算差异后一次性更新。到“它一定快吗”就要诚实一点说虚拟DOM不是绝对快它的优势在跨平台和复杂视图更新场景下代码可维护性和性能的平衡如果不考虑这些手写操作DOM在某些简单场景可能更快。这个回答逻辑清晰还能体现你的辩证思维。4.3 项目拷问面试官最关心你简历上的哪几件事简历上的项目是实习面试的重头戏。面试官会围绕项目问你“做了什么、遇到什么难点、怎么解决的、还有什么可以优化”这个过程本质上是想验证两个东西你是不是真的做了这个项目以及你的技术成长曲线是什么样的。这里我给出一个实战性的回答框架先把项目定位说清楚给谁用的、解决什么问题、我负责哪部分再讲技术选型为什么选这个框架、为什么用这个状态管理、为什么选择这种数据缓存策略然后讲难点和踩坑这里要具体比如“我遇到组件跨层传递数据的麻烦发现Vue2的event bus在组件销毁后没有清理导致内存泄漏后来我改用Vuex/Pinia来解决”最后说自己做项目过程中沉淀的通用能力封装了什么组件、抽象了什么通用逻辑、写了什么工具函数面试官最怕的不是项目小而是项目描述一看就是抄的。如果你在项目中确实遇到了问题并解决了就如实说如果实在没有印象深刻的难点可以主动从“性能优化”角度讲比如“项目打包后发现首屏加载很慢我用Chrome DevTools分析发现体积最大的依赖是x后来通过按需引入和路由懒加载把首屏体积从800KB降到300KB”。这一段经历哪怕你很晚才做也会让面试官觉得你有工程思维。5. 手写题与机试题实战演练前端实习面试手写题几乎是固定环节。有的公司在视频面直接让你共享屏幕写代码有的公司安排独立的机试环节。不管以哪种形式手写题考察的都是同一个能力你能不能在没有IDE提示、没有搜索引擎的环境下写出高质量的前端代码。5.1 高频手写题清单与回答思路根据我这几年的观察前端实习手写题的高频范围相对固定大约有这些手写Promise.all或Promise.race实现防抖debounce和节流throttle深拷贝一个对象要处理递归、循环引用、Date和RegExp等特殊类型数组去重和数组扁平化手写call、apply、bind实现一个简单的事件总线EventBus手写一个new的实现用原生JS实现一个instanceof我以Promise.all为例说说怎么准备。标准实现思路接受一个可迭代对象返回一个新的Promise内部用一个数组保存每个Promise的结果用计数器记录已完成的数量当全部完成时resolve所有结果如果任何一个Promise失败就reject失败原因。这段代码大约二十行考察点在于事件监听、回调函数和边界条件处理。你至少要把这段代码背熟并且能在写完后清楚地解释每一行在做什么。手写题的关键不只是写对还要边写边讲。面试官其实很愿意看到你在写代码时自言自语比如“这里需要考虑数组为空的情况”“这里要处理thenable对象”等等这种表达能显示出你的思考过程比闷头写完再解释的效果好得多。5.2 机试题的常见题型与答题策略机试题一般比手写题复杂通常给你一个需求描述要求你在规定时间内实现一个完整功能。前端实习的机试题常见题型有这些实现一个表格组件支持排序、筛选、分页实现一个图片懒加载功能实现一个todo list要求用原生JS或Vue实现一个防重复提交的按钮实现一个简易的轮播图组件用CSS实现一个常见的布局比如圣杯布局或双飞翼布局机试题的评分标准通常不是“功能跑通就行”还会看你的代码风格、注释质量、边界处理、交互细节。我给你几个通用的答题策略第一拿到题目后先花3到5分钟读题明确需求把功能点列表列出来然后规划数据结构。不要一上来就疯狂写写到一半发现理解错了需求浪费时间还影响心态。第二优先保证核心功能跑通再考虑优雅实现和边界条件。比如实现轮播图先把切换逻辑写对再考虑自动播放、触摸滑动、循环切换这些加分项。第三写完代码后一定要自己测试一遍。很多同学机试结束后才发现某个按钮根本不触发事件或者数组越界报错这种低级错误直接浪费了前面所有的努力。5.3 算法题前端实习需要准备到什么程度提到算法题很多前端同学都头疼。说实话前端实习的算法题相比后端岗位难度要低很多主要集中在数组、字符串、链表等基础数据结构以及双指针、哈希表、递归这些基础算法思想。贪心、动态规划属于加分项不要求掌握得很深。如果你时间有限我的建议是剑指Offer和LeetCode热题100里的简单题中等题刷透就完全够了。每天刷2到3道题坚持一个月基本能覆盖90%的面试题范围。准备算法题还要注意实习面试的算法环节通常会跟实际应用场景结合。比如给你一个数组要求找出出现次数最多的元素其实用哈希表计数就完了又比如判断一个字符串是不是回文串用双指针从两头往中间比较。这些题不难但需要你快速想到正确的解法并且能流畅地写出无bug的代码。6. 面试全流程实录与临场技巧这一部分我会详细记录一场典型的实习面试流程包括每个环节注意什么、说什么话、做什么动作让你从走进会议室那一刻就不慌。6.1 从自我介绍到项目介绍前5分钟定基调面试开场的自我介绍很多人把它当成背简历。这是个巨大的误区。面试官在拿到你简历的那一刻已经浏览了你的基本信息自我介绍的意义在于给你一个暖场机会同时让面试官快速建立对你的印象。我建议的自我介绍结构是这样的“面试官你好我叫xx目前是xx大学计算机专业大三学生。我主要的技术栈是前端熟练使用Vue和TypeScript也做过几个完整的项目。今天面试前端实习岗位希望能在实际项目中学到更多工程化的经验。”三句话包含了基本信息、技术栈、求职动机全程不超过30秒。介绍完之后面试官通常会顺着你的技术栈开始问Vue的问题这就进入了技术面环节。项目介绍环节很多同学恨不得把所有功能都念一遍。不要这样。正确的做法是挑一个你最熟悉、最喜欢的项目按照“业务背景→我的角色→技术选型→难点解决→最后成果”的结构讲。一般讲3到5分钟就可以了关键是讲清楚“你做了什么”而不是“项目有什么功能”。6.2 面试中的常见追问与应对策略技术面试中面试官会不断追问目的是测试你知识的深度和边界。这个环节的心态很重要面试官不是在为难你而是在探测你的知识天花板在哪里。应对策略有三条知道自己会的就答不知道的就说不知道但可以补充自己知道的相关知识。比如“这个API我没实际用过但我之前了解过它和xx的对比如果你感兴趣我可以分享我的理解”。遇到不会的题别急着放弃尝试从已知概念推导。比如不会Vue3的computed实现原理也可以从“computed对响应式数据的依赖追踪”开始推理一步步接近正确答案。对面试官提出的建议或质疑虚心接受表示“你说得对我此前确实没有考虑到这个点回去我会重点看一下”。这种态度在实习面试中非常加分。另外别在面试中和面试官抬杠哪怕你觉得自己是对的。我之前遇到一个候选人面试官说某个方案性能不好他不服气当场找了一堆理由反驳。虽然他的观点不无道理但这种沟通方式在真实团队协作中是不受欢迎的最后他的评价也受了影响。6.3 反问环节怎么问出水平面试最后面试官通常会问“你有什么想问我的”。很多实习生回答“没有”这没什么大错但很浪费机会。一个有质量的反问既能体现你对岗位的思考也能帮你判断这个团队适不适合你。适合实习生反问的问题有“贵团队目前前端在做什么技术栈未来的技术规划是什么方向”“如果有幸加入实习生的培养机制是怎样的会有导师带吗”“团队在做的业务中前端最近遇到的最大技术挑战是什么”“您觉得一个优秀的实习生在入职前需要在哪方面多做准备”这类问题既不会越界又能让面试官觉得你有思考。不过有两点要注意一是别问“薪资多少”“加班多吗”这类敏感问题这些留给HR环节聊二是别问网上能查到答案的问题比如“你们公司是做什么的”会让人觉得你来做面试准备不充分。6.4 线上面试的细节不要在这些小地方失分现在很多实习面试都是在线进行的线上环节虽然省去了通勤时间但多了很多意外风险。我见过不少候选人技术答得不错却因为网络卡顿、摄像头模糊、环境吵杂影响了整体评分。线上面试的准备工作至少包括提前一天测试网络、摄像头和麦克风关掉所有可能弹窗的软件面试房间选一个安静的地方背后别太乱摄像头要能看到你的正脸准备一个手写板或者纸笔方便打草稿写代码的软件提前打开把项目代码也放在本地面试官要求看项目时马上能打开面试前10分钟再检查一遍耳机和电源另外提醒一个大家容易忽略的细节面试官会通过视频观察你的表情和仪态。坐直、眼神专注、说话清晰是基本要求。我以前有一个面试者技术问题答得不错但全程低头看屏幕声音还特别小面试官对他的评价就差了半档。这些小细节看着不起眼但在综合评定里真的能影响结果。7. 常见问题与降级准备写到这里再补充几个同学们最关心的问题和一些备选策略希望能帮你少走一些弯路。7.1 前端实习面试高频问题的自查清单你可以把下面这份清单当成一个自测表面试前逐一对着检查做到心中有底解释一下从输入URL到页面显示发生了什么什么是闭包实际开发中你用闭包解决过什么问题原型链是什么__proto__和prototype的区别事件循环中的宏任务和微任务分别有哪些浏览器如何缓存资源强缓存和协商缓存有什么区别跨域是什么平时开发中怎么解决手写防抖函数和节流函数。说说Vue3的响应式原理和Vue2相比有什么改进说说虚拟DOM的作用和实现原理。描述一下你在项目中遇到的一个难点以及你是怎么解决的。每一道题你都要能用口语化的方式讲清楚而且要在30秒到1分钟内回答完。如果一道题你连怎么开口都不知道说明你还没准备好需要回到第3和第4章查漏补缺。7.2 被通知“面试未通过”之后怎么办实习面试不是一锤子买卖被拒是大概率的事情特别是大厂竞争极其激烈。我自己当年面前端实习时前五家全挂了到第六家才拿到offer所以不要太在意一两次的失败。面试被拒之后我建议你做三件事第一回忆并记录面试中所有没答上来的问题不管是通过邮件复盘还是自己回忆。不要只记答案要理解为什么当时答不上来是知识盲区还是紧张导致的临时遗忘。第二对简历和项目进行优化。面试官通常会问最感兴趣的部分如果多个面试官都问了同一个问题而你答得不好说明简历上这块内容有夸大嫌疑或者讲得不够好需要重新梳理。第三一周之内重新投递其他公司。面试是状态活刚面完一轮你对高频考点和面试节奏记忆最深刻趁热打铁面试下一家成功率往往更高。7.3 实在找不到实习还有什么降级方案说实话找不到实习不代表你前端之路就结束了。如果你投了一圈都没拿到实习offer或者准备时间确实不够充分下面几个策略也值得认真考虑找远程开源项目或实验室平台贡献代码。GitHub上有大量标注了good first issue的项目你可以从修bug开始逐步参与功能开发。这也是一段有说服力的项目经历。参加小程序、黑客松或一些高校联合的技术比赛。虽然没有工资但能在规定时间内做出一个完整项目还能写进简历。把精力放在打磨一个高质量的个人项目上。一个人在GitHub上维护一个小而精的项目无论是Star数还是代码质量都更能打动面试官。考虑投小厂或外包公司的实习岗先入门积累真实业务经验再往更大的平台跳。前端这个行业能力和经验是慢慢积累出来的实习只是敲门砖并不是终点。做好准备抓住机会后面还有很多可能性。最后再分享一点我个人体会最深的东西。前端实习面试难的不是某一门技术难的是在高压环境下展现出你真实的水平。大多数同学不是不会而是没被问过、没讲过、没练过这种回答节奏。所以我真心建议大家在正式面试之前找同学或者学长学姐做几次模拟面试把讲的过程过一遍。这比闷头刷一百道题都管用。好好准备祝你顺利拿到满意的实习offer。
返回列表