你在面试。面试官手里拿着一串 JavaScript 冷知识题而且答案早就写在他那份题库里。你很清楚只要答错一道他就可能抬起下巴用那种“你还是太 junior 了”的眼神看你。然后他丢出这样一段代码(() {})();这种题你一定见过。它经常出现在 LinkedIn、X或者各种技术博主的帖子里。评论区会挤满人写下自己的“答案”然后很遗憾大概 97% 的人确实答错了。但更有意思的是这类帖子通常不会只是安静地问问题。它们一定会配一个很会制造焦虑的标题“大多数开发者解释不清这个。” “Vibe coder 原形毕露。” “真正懂 JavaScript 的人才能答对。”然后下面有 8000 个点赞。最讽刺的是点赞的人里很多人大概率也没真正搞懂。所以我们直接把这件事说清楚。这玩意儿没那么神秘。甚至可以说它就是一场纯粹的浪费时间。和很多面试题一样。答案是什么这段代码(() {})();什么也没做。就这样。它是一个箭头函数并且这个函数不接收任何参数 函数体里没有任何语句 默认返回undefined 然后被立即执行了一次。如果把它整理成更容易看懂的形式大概就是const fn () {}; fn();或者说得再术语一点它就是一个 Immediately Invoked Function Expression也就是 IIFE立即调用函数表达式。只不过这里用的是箭头函数。所以它并不神秘也不高级。它只是执行了一个空函数。然后什么都没有发生。那为什么会有这种题因为这类题从来不是真正关于编程的。它更像是一种表演式聪明。它出现的场景通常很熟悉有人想显得自己很懂 有人想让别人显得很笨 大家都在讨论语法细节但没人真正交付任何有用的东西。这恰恰很符合某些技术面试里的气氛。不是在判断你能不能解决问题而是在观察你是否背过某些冷门表达式。不是在看你有没有工程能力而是在测试你能不能在压力下认出一段符号游戏。我见过一些开发者他们真的会在 code review 里把这种东西丢出来像是在展示肌肉。也是同一批人会为了 import 顺序争论半天而你的功能还在审批里卡 8 个小时。问题是这些东西真的没那么重要。这类题之所以常被拿来问只是因为它很方便容易出题 容易制造门槛 容易把记忆力伪装成理解力。但它并不能证明一个人会不会写好代码。它只能证明一个人最近有没有刷过这类 JavaScript trivia。面试里最荒唐的地方很多技术面试都有一个问题它们把“聪明”误认为“能力”。更准确地说是把“看起来懂很多语法细节”误认为“能做好工程”。于是候选人被要求在高压环境下回忆一些晦涩细节。面试官坐在对面沉默地看着你挣扎仿佛你没能立刻解释某段奇怪代码就说明你不够优秀。但这测出来的不是能力。测出来的只是你昨晚有没有刚好背到这道题。真正的软件开发根本不是每天坐在那里破解标点符号谜题。真正的软件开发是理解需求 处理混乱系统 和不认真读 PR 的人沟通 修一个下午 4 点冒出来的 bug然后发现它莫名其妙吞掉了整个 sprint 在旧代码、新需求、时间压力和团队沟通之间找到能落地的方案。这才是工程。不是盯着(() {})();然后假装它能决定一个人的水平。行业真正的问题我们一直在混淆两件事。把 cleverness 当成 competence。 把 syntax tricks 当成 engineering skill。会解释冷门语法不等于会构建可维护系统。 能秒答奇怪题目不等于能调试线上问题。 熟悉语言边角料也不等于能和团队把复杂功能推进上线。当然理解语言机制是有价值的。但问题在于这类题经常不是为了帮助人理解语言而是为了筛掉那些“不像自己”的候选人。它变成了一种 gatekeeping。你答上来了就像加入了某个小圈子。 你犹豫了就被贴上“不够资深”的标签。这很荒唐。如果一个候选人能够构建可维护的系统 清晰沟通复杂问题 调试真实世界里的故障 在混乱需求中找到可靠方案但他看到这段空箭头函数时停顿了一下。那你大概率应该录用他。反过来如果你的招聘流程因为这种题把他筛掉了。那问题可能不在候选人。而在你的招聘流程。这段代码真正暴露了什么它没有暴露开发者太菜。它暴露的是行业太爱装。一段什么都不做的函数被包装成“检验水平”的题。一个空函数居然能被拿来制造焦虑、筛选候选人、收割流量。这本身就很讽刺。因为这段代码确实什么都没做。但我们却假装它很重要。更糟的是很多开发者也配合这种表演。我们明知道它对实际工作帮助有限却还是会转发、点赞、评论、争论。仿佛只要在这种题上赢了就能证明自己更专业。可真正的专业不是靠这种东西证明的。真正的专业是你能把复杂问题讲清楚把混乱系统理顺把团队需要的东西交付出来。不是在面试里对着一堆括号表演背诵。最后这段 JavaScript(() {})();就是一个立即执行的空箭头函数。它不接收参数。 它不执行逻辑。 它返回undefined。 它没有副作用。 它什么也不改变。它不神秘。也不值得被包装成行业智商测试。如果你答不出来不代表你不会写代码。如果你答出来了也不代表你就是高级工程师。它最多只能说明你见过这种题。而一个行业如果总是用这种东西来判断开发者那真正需要被面试的可能不是候选人。是这个行业自己。最后精通 React 面试从零到中高级(针对面试回答)CSS终极指南Vue 设计模式实战指南20个前端开发者必备的响应式布局深入React:从基础到最佳实践完整攻略python 技巧精讲React Hook 深入浅出CSS技巧与案例详解vue2与vue3技巧合集