如何顺利通过下一次编程面试

2025-06-07

如何顺利通过下一次编程面试

在 Twitter 上关注我!我很高兴听到你对此的看法,以及对新文章的建议。

房间里一片寂静,只有荧光灯的嗡嗡声。桌子对面的评委面无表情地盯着你。有些人带了纸笔,有些人没有。他们都盯着你。你的嘴巴干得像吃了一整天的锯末一样。你抓起记号笔,走向白板。一位评委正盯着笔记本电脑。是时候给他们演示快速排序了。

我经历过编程面试的两种情况。我参加过各种工作面试,有时拿到了 offer,有时却没有。有时我通过了白板测试,却没有接到电话,反之亦然。在我的职业生涯中,我面试过几百个人,我尽力让应聘者感到舒服,但很多经理却做不到。他们会试图让你犯错,让你感到窒息。我们可以稍后再讨论白板面试的有效性,但这种情况确实会发生。

让我们来看看一些让你在下一次编程面试中脱颖而出的技巧。你可以为成功做好准备,最终获得成功。别误会,这不是一套“技巧”、“窍门”或某种脑力倾泻。不要用一些卑鄙的手段或诡计来获得你无法胜任的职位。他们以后只会解雇你。遵循这条路,你就能成功通过面试,因为你将成为一名更优秀的开发人员。

他们正在寻找什么

以下是大多数面试官会考察的方面(无先后顺序):   
 
解决问题的能力——你解决问题的能力有多强,更重要的是:你的流程是怎样的。很多测试都会考察这一点。 

编码技能——你需要在这方面非常出色。我曾把笔记本电脑交给别人,让他们帮我写点东西。你可以通过观察他们实际操作来判断他们实际编写了多少代码。 

技术知识——这是琐碎问题出现的地方,但面试官想知道你的技术水平如何。 

经验- 你需要在这里谈谈你过去的项目。面试官想听听你的奋斗故事,以及你从中学到的东西。 

文化契合度——这一点我帮不了你什么忙。这部分是他们评估你能否融入团队的地方。在这方面,你还是有提升空间的。

那么,你需要做些什么准备呢?让我们开始吧。 

第一阶段:奠定基础

所以,以下是你在面试前需要做的事情。提前几天、几个月甚至几周,你需要培养一些核心技能。 

学习计算机科学基础知识

你需要掌握计算机科学的基础知识。你不必成为唐纳德·克努斯(Donald Knuth),但你需要了解理论、语言和惯用语。这是面试的最低要求。如果面试官在面试中随意提到二叉树,你最好知道他们在说什么。 

  1. 复习一下计算机科学基础教程——其中一些内容对你来说可能比较基础,但它能为你提供一个框架,让你了解需要注意的事项。你的优势在哪里?如果你发现自己的弱点在哪里,那就努力提升自己在该领域的知识和技能。 

  2. 回顾自学计算机科学- 我们再次讨论您可能缺乏的基本基础知识。您需要了解基础知识并讲该语言。 

  3. 您甚至可以免费参加斯坦福大学的计算机科学 101 课程。

学习不同的算法

算法掌控着世界,如果你是一名开发者,你就需要了解算法。那么,如何才能精通算法呢?这并非黑魔法,也不是秘传的艺术。 

根据Geeks for Geeks的说法,以下是面试问题中排名前 10 的算法:

  • 图形
  • 链表
  • 动态规划
  • 排序和搜索
  • 树/二叉搜索树
  • 数论
  • BIT 操作
  • 字符串/数组 

我觉得这个挺准确的。了解这一点非常有帮助。你在这个列表中擅长什么?你的弱项是什么?这个链接非常适合从宏观角度了解每个方面,并提供一些示例。 

这些课程将帮助你在这个领域占据绝对主导地位:

大约 6 个小时后,您将能够理解并真正谈论算法。 

行动:研究这些内容。学习它。了解它

第二阶段:练习练习练习

还有一件事你需要融入到你的日常生活中:练习。你需要每周练习几次甚至更多,才能真正达到精通的程度。 

练习得越多,在任何白板情况下你都会做得越好。大多数时候他们要求写伪代码,但如果你认真练习,你就能毫不费力地在白板上写出真正可编译的代码。 

  1. 查看HackerRank 面试准备工具包- 它将是你掌握的算法知识的实践之选。用实际案例来运用它们吧。 

  2. 开始参加HackerRank 挑战赛- 让你真正地将知识运用到不同领域。这是终极白板练习区。   
      
        它细分如下:   
          
        -算法
        -数据结构
        -数学

    尽可能每天做一项练习。努力完成各种挑战。如果你每天挑战一项,坚持30天,你就能顺利通过白板面试,成为一名更优秀的程序员。我向你保证。 

  1. 注册 LeetCode,开始参与挑战吧!没有什么比与他人竞争更能磨练你的技能了。这里有海量挑战和趣味内容。 

  2. 查看欧拉计划 (Project Euler),并开始编写代码来解决那里的问题。欧拉计划是一组数学和编程问题,能够真正挑战你的解决问题能力。在这里使用代码解决问题,你的技能将会得到提升。 

行动:写一些代码。大量的写。努力精通它

第三阶段:建立你的公众形象

你需要把你做过的工作放在网上,方便大家查阅。每个招聘人员、经理或对你感兴趣的人都会在谷歌上搜索你。确保他们能找到你的作品。 

  1. 把你的东西放到网上,如果你还没有GitHub 账户,就创建一个。把你的所有代码都放上去。你的个人项目、你为教程写的东西,所有的东西。

  2. 在JSFiddleCodePen等网站上创建帐户- 这主要针对 Web 开发人员,但它为人们提供了一个可以找到您的作品的好地方。 

  3. 创建博客- 无论是 WordPress、GitHub 页面还是像我的博客这样的自定义托管服务器设置,您都应该创建一个博客来讨论您正在做什么、您正在学习什么以及您可以教什么。 

注意:如果我找不到某人的 GitHub 或任何公开作品,我会把他们的简历扔掉。这表明他们缺乏热情,而那些寻找热情人士的经理会寻找你公开发布的作品。无论你的作品有多好,都请把它发布出来。 

行动:注册并开始公开您的代码和项目

第四阶段:准备面试

准备最终决定你的成功。没有准备,谁也无法成功。以下是如何准备面试,让你的面试顺利通过。 

  1. 买一本《破解代码面试》 ——这本书堪称编程面试的圣经。和这篇文章一样,它不会告诉你如何作弊或走捷径才能获得工作——而是为你提供了一个提升技能的绝佳框架。书中包含练习题,并提供了真正提升技能所需的所有工具。 

  2. 参加这门关于准备工作面试的课程- 这将为您提供真正做好准备所需的信息。 

    本课程涵盖:

    • 求职面试基础知识
    • 基于算法的问题
    • 典型问题
    • 计算机科学问题
    • 获得经验 它涵盖了你在两个半小时内取得成功所需的知识。非常值得。 
  3. 锻炼——我知道这听起来可能有点傻,但这里有一些方法可以让你更有优势。无论面试时间是什么时候,在面试前一两个小时去健身房或做一些有氧运动
    。 这将确保:

    • 你精神焕发、精力充沛
    • 你的血液中流动着氧气
    • 你的肌肉会放松

    充分的高强度锻炼能让你精力充沛,为面试做好准备。你肯定不想在面试中显得疲惫不堪或萎靡不振。你应该保持身心最佳状态。 

准备至关重要。准备得越充分,面试当天的感觉就会越好。

行动:像拳击手一样开始训练。做好战斗准备

结论

编程面试可能会很残酷。你可以采取以下措施来缓解面试的痛苦:

  • 学习 
  • 磨练你的技能
  • 练习

这些事情能确保你成功。相信我,在解决了 LeetCode 和 HackerRank 上的那些棘手问题之后,白板测试就会容易得多。如果你能独自完成这些,你就能成功。 

如果您有任何意见,请随时分享或在 Twitter 上向我喊话,我们可以讨论。 

文章来源:https://dev.to/pluralsight/how-to-nail-your-next-coding-interview-2152
PREV
缅怀斯科特·艾伦 000——与斯科特·艾伦的对话
NEXT
如何构建您的第一个 JAMstack 网站:完整指南