news 2026/8/29 23:05:41

网易前端实习笔试题型复盘:JS基础与手写编程题全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
网易前端实习笔试题型复盘:JS基础与手写编程题全解析

后台不少同学最近在准备前端实习面试,翻来覆去刷的都是LeetCode和各种面经,结果一碰到笔试就发懵。正好我整理笔记时翻到了早年参加网易校招前端开发实习生笔试时的复盘记录,借着这个话题,把当时印象深刻的题型、考察点、以及我踩过的坑一并梳理出来。这篇内容不是官方原卷,而是基于记忆和同批笔试同学交流后还原的高频考点与解题思路,对于正在备战前端岗位笔试的同学,尤其是目标放在大厂实习方向的朋友,应该能帮你在短时间内理清复习重点。

整场笔试时间紧凑,题量大,最让我意外的不是难度,而是它对“基础细节”的执着。下面我从题型结构、核心考点、编程题实战、以及答题策略几个维度展开聊,尽量还原当时的现场感,也把值得反复琢磨的解题逻辑讲透。

1. 这次笔试在考什么:题型结构与考察意图拆解

1.1 网易前端实习生笔试的题型构成

我当时参加的那场笔试,整体分为四块:客观选择题、基础填空题、代码输出题和手写编程题。时间大约90分钟,题量在40道上下。乍一看时间还算充裕,但真正上手后会发现,选择题里藏着大量需要仔细推敲的边界情况,稍不注意就会掉进陷阱。

选择题部分主要覆盖HTML、CSS、JavaScript基础,以及少量浏览器原理和网络相关的内容。比如HTML语义化标签的适用场景、CSS选择器优先级计算、盒模型在不同box-sizing下的实际宽高、JavaScript数据类型判断、作用域与闭包、this指向、事件循环基础顺序等。这些知识点单独拿出来都不难,但出题风格偏向“给一段代码,问输出什么”或者“在某种场景下选最优方案”,这就非常考验平时写代码时有没有真正理解底层机制。

填空题的比例不大,但分值不低。我当时遇到的有:填写一段正则表达式的缺失部分、补全某个CSS布局的关键属性、补齐事件委托的实现代码等。这类题目没有选项可以蒙,只能靠对知识点的准确记忆和运用。

代码输出题是整场笔试中最让我“血压升高”的部分。它通常会给你一段看似简单的JS代码,混着var、let、setTimeout、Promise、作用域、闭包,然后让你写出最终输出顺序。这类题考的不只是语法,而是你对JavaScript执行机制、事件循环、微任务与宏任务的理解深度。

最后是两道手写编程题,一道偏算法逻辑,一道偏前端场景应用。算法题常见的有数组去重、字符串处理、排序变种这类,考察基础数据结构和编码能力;前端场景题则偏向防抖节流、简单的组件逻辑、数据转换、DOM操作等,考察把需求落地的能力。

1.2 为什么用这些题型筛选候选人

大厂实习生的笔试筛选逻辑和正式社招不一样,它不指望你已经具备多深的工程经验,而是想看你的基础功底和可培养潜力。毕竟实习生进组后,大部分时间是从写页面、改bug、补单测这类基础工作做起,如果连变量提升、事件循环、CSS选择器优先级这些底子都不牢,带起来会非常吃力。

所以笔试题里反复出现的“给代码猜输出”类题目,本质是在考察一件事:你写代码的时候,到底是靠运行结果去猜,还是靠语言规范去推。我记得有一道题是var和let在for循环中配合setTimeout的经典输出题,答案很多人都背过,但真正能解释清楚“为什么var是5个5,let是0到4”的人,其实少之又少。笔试的筛选作用就在这里,它会通过追问细节的方式,把“背答案”和“真懂”区分开。

另外,编程题占比不低也说明了网易这类公司在选拔时的倾向:他们希望实习生具备独立拆解问题的能力,而不是只会复制粘贴代码。手写编程题往往没有太偏的算法,但要求逻辑清晰、边界处理完整,这恰好是判断候选人是不是“能干活”的直观方式。

2. 高频基础题解析:JS核心概念是拿分基本盘

2.1 数据类型与变量提升题目

笔试选择题里“给代码猜输出”最集中的考点,第一就是数据类型判断。比如会给你typeof nulltypeof undefinedObject.prototype.toString.call([])[] instanceof Array这类组合,让你选结果。这里有个常见的坑:typeof null返回的是"object"而不是"null",这个历史遗留问题当年不知道坑了多少人。不止笔试,我后来面试别人时也经常拿这个当考察点,因为它能反映出候选人有没有真正读过权威文档。

变量提升是另一个必考项。题目往往会写成这样:在函数内部先console.log(a)var a = 10,问输出什么。答案是undefined,因为var a会被提升到函数顶部,但赋值不会提升。如果出题人再加点料,把函数声明和函数表达式混在一起,比如同时有var foo = function(){}function foo(){},那情况就更复杂了,函数声明提升优先级高于变量声明提升,但同名变量赋值会覆盖函数声明。

我的建议是,准备这类题目不要死记答案,而是去理解JavaScript引擎执行代码时的两个阶段:编译阶段(创建执行上下文、处理声明)和执行阶段(逐行执行赋值与调用)。脑子里有了这个模型,不管题目怎么变,你都能推出正确结果。我当时就是靠画执行上下文的栈结构图,把这类题目彻底搞定的,强烈推荐你也试试。

2.2 作用域闭包与this指向的必考套路

作用域和闭包在选择题、输出题里都是重头戏。常见套路是:外层函数return一个内层函数,内层函数引用了外层函数的变量,然后连续调用,问输出结果。这题只要理解“闭包会保留对外层作用域变量对象的引用,而不是值”就能解对。

还有一道让我印象深刻的变形题:在循环里用var创建一个闭包,闭包内引用循环变量,然后立即执行或者延迟执行,问你输出什么。这里需要特别注意“立即执行”和“延迟执行”的区别。如果循环体内是fn()立即执行,那输出是每次循环时的当前值;如果是setTimeout(fn, 1000)延迟执行,那等回调执行时循环已经结束,拿到的全是最终值。很多人只背了“var是最终值、let是当前值”的结论,但没搞懂为什么,一旦题目换壳就翻车。

this指向属于典型的“背会口诀也不一定做对”的考点。笔试喜欢出的是:对象方法中的this、普通函数调用中的this、箭头函数中的this、以及通过call/apply/bind改变this后的输出。我当时的做题思路是抓住一条主线:this的指向取决于函数被调用时的调用方式,而不是定义位置,箭头函数例外,它没有自己的this,直接沿用定义时所在作用域的this。遇到题目先判断是不是箭头函数,再判断调用方式,思路清晰之后正确率会大幅提升。

3. 编程题实战:从读题到AC的全过程拆解

3.1 拿稳基础编程题的答题节奏

笔试里的第一道编程题通常不会太难,目的是让大多数候选人能拿分,但想把分数拿满也不容易。我遇到的一道题是:给定一个字符串,找出里面出现次数最多的字符并返回它和出现次数。乍一看很简单,但要注意题目有没有限定“只考虑小写字母”“是否包含空格”“多个字符出现次数相同时返回哪个”等边界条件。

我当时写题时的习惯是:先不急着写代码,花1分钟把题目要求逐条拆出来,确认输入输出格式,然后把可能的边界情况列在草稿纸上。这道题的常规解法是用一个对象或Map来统计每个字符的出现次数,然后遍历找出最大值。但如果你直接用{}作为计数容器,又没处理Object.create(null)或者Map的特殊情况,遇到constructortoString这类原型链上的属性时就会统计出错。我笔试时用的Map,既避免原型链问题,又能保证插入顺序,算是一个稳妥的选择。

这类基础题的关键在于“稳”,不需要奇技淫巧,也不需要一行流,但代码结构要清晰、变量命名要语义化、边界处理要完整。阅卷人虽然主要看结果,但笔试系统往往会有额外测试用例来校验边界情况,漏掉空格、大小写、空字符串这些细节直接就是扣分点。

3.2 手写工具类题目是拉分关键

第二道编程题通常更贴近前端实际场景,我当时遇到的是让我实现一个简单的防抖函数。原题大概是:实现一个debounce函数,要求传入一个函数和延迟时间,返回一个新的函数,新函数在连续触发时只在最后一次触发后的延迟时间后执行。

防抖节流这种题现在已经是前端笔试标配了,但那年它还属于“会的人不多”的拉分题。实现防抖的核心是理解闭包和定时器的配合:外层函数保存一个timer变量,内层函数每次被调用时先清除上一次的定时器,再重新设置定时器,延迟时间到了才执行原函数。关键是this要指向调用者,参数要透传,所以内部要用applycall来实现。

我还记得当时额外考虑了“立即执行版本”的扩展,虽然题目没要求,但写上去后会让阅卷人觉得你对这个概念理解得更深。所谓立即执行版,就是第一次触发时立即执行,后续连续触发只在停止后重新计时,这个场景在表单提交按钮上非常实用。如果题目没明确要求,不建议主动写复杂版本,因为容易引入bug,但可以在注释里简单说明思路,展示你的扩展思维。

这种手写工具类题目,拉分效果非常明显。因为大部分候选人只知道防抖节流的“概念”,能把代码完整写对的人并不多。所以如果你正在准备笔试,我强烈建议把防抖、节流、数组去重、深拷贝、数组扁平化、发布订阅、Promise.all这些经典手写题都过一遍,最好做到闭卷能写、边界能讲。

4. 笔试中的常见失误与排查策略实录

4.1 时间分配失误:前松后紧导致编程题没写完整

我这场笔试最大的失误就是在选择题上花的时间太多。当时遇到一道关于CSS选择器优先级的计算题,我反复算了三遍,结果浪费了将近8分钟,导致后面手写编程题时时间紧张,第二道题只写完主体逻辑,边界处理部分匆匆带过。考完复盘时才意识到,笔试的时间分配应该按照分值占比来,而不是按照题目顺序来。

合理的分配策略是:选择题和填空题控制在总用时的40%以内,代码输出题控制在20%,剩下40%留给手写编程题。编程题哪怕思路不完整,也要把关键逻辑写出来,尽量把能拿的分拿到。一道编程题完全空着和写了一部分但没跑通,在阅卷时的印象分差距非常大。

另外,做题过程中遇到卡壳的题,建议先标记出来跳过去,做完后面的再回头处理。我在笔试时发现一个现象:很多选择题的正确答案往往能从其他题目的上下文里找到线索,比如前面代码输出题里用到的某个API特性,正好能解答后面选择题里的一个陷阱。先易后难不仅节省时间,还能帮你建立信心。

4.2 对“基础但不常用”知识点的忽视

考后和几个同学交流,发现大家失分最多的不是难题,而是那些平时很少写、但笔试爱考的基础API。比如Array.prototype.reduce的完整用法、Object.defineProperty的参数说明、querySelectorAll返回的是静态NodeList而不是动态集合、getBoundingClientRect拿到的位置信息包含哪些字段等。

这些知识点不是不会用,而是平时写业务代码时很少主动用到,导致在笔试压力下记忆模糊。我当时在填空题里就栽在了一个正则表达式上:题目要求写一个匹配手机号的正则,部分缺失让补全,我纠结了很久是否应该考虑带国家区号的场景,结果越纠结越乱。其实这类题只要抓住题干的限定条件就好,不要自己给题目加需求,默认最简单清晰的解法通常就是出题人想要的。

最好的应对办法是,在笔试前抽出两三天,把MDN上高频API的文档过一遍,不要求背参数,但要能回想起“有什么方法可以用、大概怎么用、有没有坑”。这个复习量看起来很大,但当你真正进入面试季时会发现,这些细节恰恰是区分候选人的关键。

4.3 编程题提交前不检查边界条件的坏习惯

我以前写算法题有个非常不好的习惯:能跑通示例用例就急着提交,总觉得边界条件是小概率事件,结果笔试系统一跑隐藏用例就挂掉一大半。后来我养成了一个固定动作:代码写完后,先花一分钟检查三件事。第一,空输入能不能处理,比如空数组、空字符串、null;第二,极端值会不会出问题,比如全是相同字符、数组只有一个元素、超大数字;第三,输出格式是不是严格符合题目要求,比如该用引号的用了单引号,该换行的没换行。

特别是手写编程题,笔试系统判题通常很严格,多一个空格少一个分号都可能判错。我记得当时防抖函数里,题目要求返回的新函数需要透传参数,我一开始写的是fn.apply(this, arguments),后来想了想,如果考试环境是ES6,应该用剩余参数...args更安全,最后把两种写法都注释上了,并在最终代码里用了剩余参数形式。这种细节如果没注意到,可能整道题就白写了。

建议准备笔试的同学,平时刷题时尽量用牛客网这类模拟笔试的环境,它和真实笔试的判题机制非常接近。多练几次之后,你就会自然而然地养成写完整边界处理的习惯,而不是每次都被隐藏用例教做人。

5. 准备策略复盘:从这场笔试反推复习优先级

5.1 基础巩固优先于框架学习

我在笔试前其实花了不少时间看Vue源码分析和各种工程化教程,结果笔试题里几乎没怎么涉及框架内容,反而全是JS基础、CSS布局和浏览器原理。那次经历给我的冲击很大,我开始重新思考实习笔试的复习优先级:框架可以等拿到面试机会后再针对性地补,但语言基础、浏览器机制、网络基础这些内容,是每一轮笔试都会反复考察的硬通货。

现在再回头看,我会建议准备前端实习岗位笔试的同学,把复习重心按此排序:JavaScript核心机制(原型、闭包、异步、事件循环)、CSS布局与选择器、浏览器渲染原理与HTTP基础、手写代码能力、数据结构与算法基础。把前四项搞定,通过笔试的概率会大很多。不是说框架不重要,而是框架的知识更适合在面试环节去展示,笔试环节它很难出彩。

5.2 用“输出”驱动输入:拿真题和模拟题做限时训练

再有效的复习资料,如果只看不练,效果也会大打折扣。我后来准备笔试时的核心方法,是限时刷整套的真题或模拟题。手机调成勿扰模式,定好90分钟倒计时,用白纸当草稿纸,完全模拟笔试现场的节奏和压力。每套题做完后,不急着看答案,而是先把每一道错题对应的知识点列出来,再回MDN或者权威书籍里去查漏补缺。

这种“输出倒逼输入”的方式,比漫无目的地刷知识点效率高得多。因为你做的每一道错题,都能非常精准地暴露出一个具体的薄弱环节,而不是笼统的“我不太会JS”。我当时就是通过这种方式,发现自己对Object.defineProperty的属性描述符理解不够透彻,于是专门花了半小时把valuewritablegetsetconfigurableenumerable各自的含义和组合效果梳理了一遍,后面再碰到相关题目基本都能秒答。

5.3 不会的题,要有一套考场应急策略

考场上总会遇到个别完全没思路的题,这时候怎么处理,也会影响整体成绩。我的策略是:主观题一定不能留白,哪怕写不出标准答案,也要写出你的思考过程和能想到的相关知识点。比如让你实现一个“无限级联动选择器”,你即使写不出完整代码,也可以先把组件的数据结构描述出来,把选择器的交互逻辑拆解清楚,再写一部分静态结构代码。阅卷人看到的是你的思考能力,而不只是最终代码。

客观题如果完全不会,可以用排除法结合知识迁移去猜。前端笔试的选择题,四个选项里通常有一两个是明显错误或者比较片面的说法,排除掉之后剩下两个再仔细对比差异点,猜对的概率会提升不少。但记住这是最后手段,如果时间允许,还是优先静下心来做推导。

6. 写在最后的一点体会

复盘这场笔试,我最深的感触是:前端开发实习生笔试虽然看起来涉及面很广,但它的核心逻辑其实非常朴素——考察你对JavaScript语言本身的理解、对浏览器运行机制的认识、以及对代码边界情况的敏感度。这些东西靠临时突击很难补上来,它们更像是长期写代码过程中积累出来的“肌肉记忆”。如果你现在还在大二大三,最好的准备方式不是刷题,而是多写、多踩坑、多想一想“为什么运行结果和自己预想的不一样”。等真正进入笔试阶段,再用真题去做查漏补缺,你会发现很多题目你其实已经通过实践经验默默掌握了大半。

最后分享一个我后来一直在用的复习习惯:每次笔试或面试结束后,不管结果如何,第一时间把遇到的考点和题目回忆版整理成笔记,标注出自己的失分原因和对应的知识盲区。坚持几场下来,你手上就会积累一份非常宝贵的个人题库,这份题库的含金量比任何网上的面经都高,因为它完全基于你自己的真实情况。毕竟,笔试只是起点,真正的成长发生在每一次复盘和查缺补漏里。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 23:05:15

CSP-S 2022 提高级 第一轮 阅读程序(1)

【题目】 CSP-S 2022 提高级 第一轮 阅读程序&#xff08;1&#xff09; 01 #include <iostream> 02 #include <string> 03 #include <vector> 04 05 using namespace std; 06 07 int f(const string &s, const string &t) 08 { 09 int …

作者头像 李华
网站建设 2026/8/29 23:04:49

牙科AI训练数据集:多类别蛀牙精细分割实战指南

简介&#xff1a;牙齿影像分割是医学图像分析中的基础任务&#xff0c;其核心在于将X光片中不同病理阶段的龋坏区域进行像素级定位与分类。该技术依赖对灰度渐变、解剖边界和伪影干扰的鲁棒建模&#xff0c;关键原理涵盖多类别语义分割、亚像素级掩膜标注及真实临床场景泛化。其…

作者头像 李华
网站建设 2026/8/29 23:01:13

JWT中的Header部分包含哪些信息?

JWT中的Header部分&#xff0c;我们可以把它想象成一张“通行证”的封面或者标题页。这部分主要告诉我们关于这个“通行证”的一些基本情况和制作方式。那么&#xff0c;Header部分通常会包含哪些信息呢&#xff1f;类型&#xff08;Type&#xff09;: 这就像告诉我们这张“通行…

作者头像 李华
网站建设 2026/8/29 23:00:51

商业名册调研参与指南:从材料准备到价值落地

商业之王系列年度名册调研启动的消息&#xff0c;最近在不少创业圈子里传开了。这类年度商业调研评选&#xff0c;表面上是给企业和个人发一个名号&#xff0c;实际上是在做一次行业级的年度价值盘点。如果你正在犹豫要不要参与&#xff0c;或者已经被推荐进入初筛&#xff0c;…

作者头像 李华
网站建设 2026/8/29 22:59:30

编程自学完整指南:Python与C++八个月学习计划

编程自学完整指南&#xff1a;Python与C八个月学习计划 【免费下载链接】cs-self-learning 计算机自学指南 项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning 这篇文章写给没有编程基础、但想认真学会 Python 和 C 的人。它基于开源的计算机自学指南…

作者头像 李华
网站建设 2026/8/29 22:56:06

七天速记前端八股文:高频考点与面试实战策略

“七天速记前端八股文”&#xff0c;这几个字一出来&#xff0c;我就知道屏幕对面大概率是个正在准备跳槽、眼看面试日期逼近&#xff0c;或者刚被简历筛选折磨完、终于拿到一个面试机会的朋友。说实话&#xff0c;前端八股文这几年风评两极分化严重&#xff0c;有人觉得它纯粹…

作者头像 李华