写点什么

AI 工具的普及,让程序员面临当下的应聘困境

作者:Nackydeng
  • 2025-05-08
    广东
  • 本文字数:4927 字

    阅读完需:约 16 分钟

AI工具的普及,让程序员面临当下的应聘困境

无止境的解题、打怪升级,像病毒一样在我脑海中盘旋,挥之不去。它不仅仅是我个人的感受,更是我看到、听到,甚至亲身经历到的,这个时代无数技术从业者共同的疲惫与沮丧。我们身处算法的炼狱,挣扎在代码与面试官的凝视之下,似乎每一次呼吸都带着 LeetCode 硬题的压迫感。

当代码变成了“AI 代写”的罪证

记得 1 年多以前,在北美某大厂初面过程中,我只不过使用了再寻常不过的正则表达式 \t[a-zA-Z]+\t,就被指控为 AI 生成。天哪!这个简单的表达式,对于任何一个有过基本脚本或文本处理经验的工程师来说,都是直观且基础的工具。它不过是查找被制表符包围的字母序列。告诉我,哪个“真正的”工程师无法理解它的含义?又或者,难道现在使用任何一个常见的代码模式,都可能因为“AI 也可能生成同样的代码”而成为被质疑的理由吗?


这太荒谬了。更荒谬的是,当这我提出愿意进行线下当面面试以证明清白时,对方却拒绝了。这传递出的信号令人不安:他们似乎并不真正关心你的能力,而是预设了某种怀疑,并固守这种怀疑。在一个本应以技术实力说话的行业,我们却要为使用了基础工具而辩护,甚至被贴上“作弊”的标签。这种信任的缺失,腐蚀着工程师与招聘者之间本应建立的桥梁。

45 分钟,两道 Hard:极限生存挑战

更普遍的痛点是,在于当下技术面试的强度和形式,面试活动常常被压缩在一天之内,面试官单调乏味,而一旦在某个环节出现哪怕一点失误,整个过程就戛然而止。最令人窒息的是,45 分钟内要解决两道 LeetCode Hard 级别的问题。


45 分钟!这意味着你平均每道题只有 20 分钟左右的时间来理解问题、设计算法、编写代码、进行测试。对于 Hard 级别的问题,这几乎是一种不可能完成的任务。很多 Hard 题需要巧妙的思路转换、对数据结构和算法深刻的理解,甚至需要一些灵感。它们往往包含复杂的边界条件和潜在的陷阱。在如此高压、极度有限的时间内,要求候选人完美无瑕地完成,这真的是在考察他们解决实际工程问题的能力吗?


实际工作中,我们有时间查阅资料、与同事讨论、进行多次尝试和重构。招聘面试本应是模拟未来的工作场景,考察的是解决问题的思路、沟通能力、代码质量和学习潜力。但现在,它更像是一场比拼谁能在极端压力下,快速回忆并实现某个特定算法的极限运动。一次小小的疏忽,一个没考虑到的边界,一句卡壳的解释,都可能导致前功尽弃。这不仅仅是对技能的考验,更是对心态和运气的巨大挑战。

守门员与“前浪”:是能力还是既得利益?

我相信有不少人也隐约感觉到,尤其是那些来自知名科技公司(通常被称为 FAANG 或大厂)的面试官。一种强烈的看法是,很多面试官是在行业景气、招聘相对宽松的时期进入这些公司的,而现在,他们成为了“守门员”,紧紧抓住自己的位置,并用他们自己可能都难以通过的当下高标准来衡量后来的求职者。


这是一种痛苦的猜疑,但并非全无道理。如果一位面试官在面试过程中需要查阅 LeetCode 答案来验证候选人的代码是否正确,这至少说明他对这道题的解法并不烂熟于心,甚至可能并不完全理解其精髓。那么问题来了:他们是否真的具备设置如此高难度门槛所需的深厚功底?或者,这仅仅是一种无意识或有意识的筛选机制,目的并非找到最优秀的人,而是限制进入的人数?


更令人不齿的是,一些在“好时候”入职的人,如今在 LinkedIn 等社交平台上大肆贩卖成功学,分享他们是如何“轻松”应对挑战,如何通过“简单”的方法取得成就。在那些为算法焦头烂额、为面试辗转反侧的求职者看来,这些说辞无异于凡尔赛式的嘲讽,甚至是站着说话不腰疼。


这种情绪的背后,是一种深刻的隔阂感。求职者们怀疑,面试官是否真的希望他们成功?毕竟,潜在的成功者,在某种意义上,也是未来的竞争者,即使不是同一个团队,也可能争夺公司内部的资源或晋升机会。当然,这可能是一种过度解读,大多数面试官还是希望找到合适的人才。但当面试过程如此冰冷、如此难以捉摸时,这种怀疑就会在求职者心中滋生。


有的面试候选人甚至遇到面试官自己对问题理解错误,却因此拒绝了给出正确反例的候选人;或者面试官对要考察的特定语言(如 Python)不熟悉,需要频繁查阅文档。这些案例都指向一个问题:面试流程和执行者的专业性出现了偏差。当面试官的能力或准备不足时,整个面试过程就失去了其应有的公平性和有效性。

AI 作弊与信任危机:为何面试越来越难?

当前的面试困境部分归咎于技术的发展。AI 确实让获取代码变得异常便捷,很多简单的编程任务,甚至一些基础的算法实现,现在都可以通过 AI 快速生成。这无疑增加了面试中识别候选人真实能力的难度。


如果一道中等难度的算法题,可以通过手机上的应用轻松获得答案,那么面试的有效性就会大打折扣。招聘者开始担忧,他们招聘进来的人,究竟是具备真才实学,还是仅仅擅长使用工具“借力”?这种担忧是合理的。为了应对这种潜在的作弊风险,公司不得不提高面试的难度和复杂度,设置更多变、更深入、更难以被 AI 直接给出完美答案的问题。


这形成了一个恶性循环:AI 使得作弊更容易 -> 公司提高面试难度 -> 诚实的求职者面临更大的挑战 -> 更多的求职者感到压力并可能铤而走险 -> 公司进一步提高面试难度。最终,这场“猫鼠游戏”的代价,由所有求职者承担,尤其是那些坚持不作弊的人。


另一个原因是:技术行业的高薪与相对较低的入门壁垒(特别是缺乏强制性的专业认证或许可证)是导致面试难度飙升的根本原因。


技术领域拥有“无需正式许可”和“高薪”这两个特点,根据经济学原理,第三个特点——“轻松的面试过程”就必然无法实现。相比之下,医生、律师、注册会计师等职业,它们同样是高薪领域,但它们有严格的执照考试、认证流程和监管机构。这些认证本身就是能力的证明和诚信的背书。想成为医生,你必须通过医学考试并完成住院医培训;想成为律师,你必须通过司法考试。这些流程标准化、受监管,并且作假成本极高,一旦被发现,后果极为严重(吊销执照,甚至法律责任)。


而技术行业缺乏这样的标准化认证。简历粉饰、面试作弊相对容易且后果不那么严重。这就迫使雇主必须在招聘环节投入巨大的精力,通过高难度的技术面试来尽力筛除那些不具备真实能力或诚信有问题的人。结果就是,面试的门槛被推得越来越高,让所有人都疲惫不堪。那些诚实、努力的求职者,却不得不为别人的不端行为付出代价。

文凭的光环与市场的变迁

曾经,名牌大学的计算机相关学位在一定程度上起到了“认证”的作用。它证明了候选人具备独立学习的能力、解决问题的基础以及投入数年时间深耕一个领域(技术)的承诺。对于真正热爱技术的人来说,这是一个不错的起点。


然而,随着互联网行业的飞速发展,高薪吸引了大量非技术背景的人涌入,各种培训营(bootcamps)应运而生,为快速进入行业提供了另一条路径。在市场疯狂扩张、投资回报信心爆棚的时期,公司对人才的需求量巨大,甚至不惜降低门槛、快速扩张团队。学位的光环不再是唯一的通行证,培训营的毕业生也能找到不错的工作。


但当宏观经济下行,科技行业回归理性,甚至面临裁员时,岗位减少,竞争加剧。现在,即使是名校计算机科班出身的毕业生,也要和来自各种背景、通过各种途径进入行业的人才同台竞技。雇主的选择余地变大,自然会提高筛选标准。而在缺乏统一认证体系的情况下,高难度的算法面试就成了最容易操作、最能快速区分(或淘汰)候选人的手段,尽管它的有效性备受争议,而你如果在医生或会计师领域求职,很少看到这种因背景多样化导致的面试模式剧变。

“内卷”的代价:当 LeetCode 成为“海洛因”

这种无休止的算法军备竞赛,对个体造成了巨大的心理和生理伤害。大部分工程师在不知不觉中已经成为“LeetCode 成瘾者”,它毁掉了他的社交生活,让他对生活失去了普遍的乐趣,却像海洛因一样让他无法摆脱。工作之外,就是 LeetCode,这种单调、重复、充满压力的生活,让他觉得自己“可怜又可悲”。


这种“成瘾”并非真正意义上的毒瘾,而是一种在巨大生存压力下的强迫性行为。当整个行业都以某种标准进行筛选时,个体为了生存,不得不投入大量精力去满足这个标准,即使这个过程是痛苦的,即使它挤压了生活的其他部分。这种“不进则退”的恐惧,使得许多人陷入了无止境的刷题循环。


表面上看我确实有一份体面的大厂高薪工作,但担心落后,加上刚经历分手,心理状态糟糕,刷题和工作成了他分散注意力的唯一方式。他甚至为此找借口拒绝朋友的邀约。这种将工作和算法作为逃避现实和缓解痛苦的手段,令人深感忧虑。我们的职业追求,不应该以牺牲健康和生活为代价。硬时代确实可能催生出顶尖的 DSA 解题机器,但这难道是我们想要成为的样子吗?

实践与理论的脱节

我记得十年前刚学 Regex 时,也是通过 Stack Overflow 查询和反复尝试。另一位用户也承认,即使能看懂简单的 Regex,也未必能自己写出来。这反映了一个现实:在实际工作中,我们更依赖于查阅文档、利用现有库、通过实践调试来解决问题。对工具的熟练使用和对领域知识的掌握同样重要,甚至在很多日常工作中更为关键。


然而,当前的面试体系似乎更看重对抽象算法和数据结构的掌握程度,而不是这些接地气的实践能力。虽然解决算法题能够锻炼逻辑思维和解决问题的能力,但过度侧重是否能在短时间内手撕某个复杂算法,与实际工程中如何有效地利用工具、协作和构建系统之间,存在着一定的脱节。

另一种可能?标准化的认证体系

面对这种无休止的“应试教育”和重复证明自己的过程,我相信大家更渴望出现一种更合理、更高效的评估方式。比如,一个流程化、标准化的 DSA(数据结构与算法)认证体系,包含不同等级的考试。通过这个认证后,面试时就可以跳过那些“30 分钟内解决 LC Hard”的环节,而是更专注于与具体岗位相关的技能、项目经验和系统设计能力。


这种想法并非空穴来风。它借鉴了其他行业的成功经验,试图建立一个更可信、更统一的能力评估标准,从而减少求职者在不同公司之间反复应对相似算法考验的内耗。如果存在这样一个被广泛认可的认证,求职者可以通过一次或几次考试证明自己的基础算法能力,然后将更多精力放在提升专业技能和项目经验上,而公司也能更高效地找到所需人才,减少招聘成本和风险。

坚持,或放弃:一个艰难的选择

市场行情我们无法控制,但通过持续的练习,确实有可能将那些原本看起来“Hard”的问题变得“Medium”。练习不仅是提高解题速度和准确率,也是建立信心和应对压力的过程。如果现在放弃,那些难题可能永远是难以逾越的障碍。


当然,坚持也需要策略和心态调整。不是每个人都必须进入大厂,也不是只有算法工程师才有价值。很多优秀的公司并不采用这种极端的面试模式,它们可能更看重你的实际项目经验、沟通能力和团队协作精神。


有时候面试不仅仅是实力的体现,也有运气的成分。遇到一个好的面试官、一个你恰好准备过的题目,都可能影响结果。一次失败的面试,可能仅仅是因为运气不好,或者这家公司本身就不适合你。重要的是从失败中学习,不断提高自己,并相信自己的努力最终会有回报。

在困境中寻找出路

我们正身处一个充满不确定性的技术招聘时代。算法的门槛被不断抬高,信任危机因 AI 而加剧,市场竞争异常激烈。这种“算法炼狱”让无数工程师感到疲惫、焦虑甚至绝望。


这不是某个人的问题,而是整个行业在特定历史时期、特定技术发展阶段所面临的共同困境。我们不能简单地责怪求职者不够努力,也不能完全指责公司设置了高门槛。这背后是多重因素交织的结果:技术快速迭代、缺乏标准化认证、市场供需关系变化以及 AI 带来的新挑战。


作为个体,我们能做的也许有限。我们无法立刻改变整个招聘体系,无法一夜之间建立起完善的认证机制。但我们可以调整心态,认清现实,并在力所能及的范围内做出选择。


也许是找到更适合自己的公司,它们更看重你的实际能力而非算法技巧;也许是在算法练习中找到更健康的方式,避免过度消耗;也许是与其他同行抱团取暖,分享经验和情绪;也许,只是简单地允许自己喘口气,记住技术不仅仅是冷冰冰的算法题,更是创造、解决问题和连接世界的工具。


这条路可能充满荆棘,算法的幽灵依然会时不时地造访。但正如黎明前的黑暗,希望总是在最艰难的时刻孕育。愿所有在这场“算法炼狱”中挣扎的同行,都能找到属于自己的出路,不被焦虑吞噬,不放弃对技术的热爱,最终抵达梦想的彼岸。我们都是这场大潮中的一员,我们的心声,值得被听见。


用户头像

Nackydeng

关注

还未添加个人签名 2025-04-26 加入

北美微软在职高级研发工程师

评论

发布
暂无评论
AI工具的普及,让程序员面临当下的应聘困境_个人感悟_Nackydeng_InfoQ写作社区