0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编程面试的9大技巧

h1654155971.7688 来源:21ic电子网 2019-12-09 15:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作为程序员,在面试过程中都需要经历一次又一次编程的考验,这其中有何技巧可言?又该如何通关成功拿到心仪的 offer 呢?

关于编程面试中遇到的困难和算法问题,我们已经讨论了很多,但是首先在面试环境中让自己保持舒适本身就是一种技巧。 除了提出正确的解决方案之外,在每次编程面试中,你还需要做一些额外的事情。

要求澄清问题。

运行你的算法并用测试用例进行验证。

主动提供算法的时间复杂度和空间复杂度信息。

很多时候,应聘者会立即全神贯注于编写代码,而忽略了做上面的一件或多件事情,这会对他们的面试结果产生负面影响。面试官肯定会发掘出应聘者编写正确算法的能力,但他们也会基于沟通能力和验证能力等其他技能来评估应聘者。要求澄清问题 在开始编写代码之前,一个好的应聘者总是会问清楚面试官提出的问题。这有三个主要目的:

它缩小了问题的范围。例如,也许你会问面试官,“这个数组中的所有整数都是正的吗?”。如果答案是肯定的,那么你就不必考虑整个负整数空间,这可能使问题更容易解决。

它向面试官表明你正在积极考虑边缘案例。面试是为了证明你有能力进行批判性和周密的思考,同样也是为了证明你的原始编码能力。

它允许你和面试官就问题的理解达成一致。因为有些时候,我给了应聘者一个问题,他们提出的解决方案却稍有偏差。所以在开始之前,确保你和面试官对你要解决的问题的理解一致。

验证算法 在面试过程中,仅仅在黑板上写好代码并称之为“完成”是不够的。一个高质量的应聘者总是会用边缘案例和例子逐步检查他们的算法以找出任何错误。这是几乎每个面试官都希望看到的关键步骤。 在验证算法时,尽可能周密。下面是一些提示:

在算法的每个步骤,写出存储在任何数据结构或变量中的内容。

如果执行for-或while循环,请确保运行算法直到完成,以捕获任何“off-by-one”错误或终止错误。

选择non-trivial的测试用例。可能是该算法适用于特定的输入集,但不适用于更复杂的输入集。尝试提出破坏算法的测试用例。

理想情况下,你写的算法没有任何缺陷,但现实中更可能发生的是,你会发现一些小错误。通过修改算法来修复这些错误,并再次运行几个测试用例,将能很好地反映出你的代码调试能力。 提供算法的时间复杂度和空间复杂度 几乎每个面试官都会关心算法的时间复杂度和空间复杂度。主动提供这些信息,而不是等待他们询问,可以向面试官表明你熟悉这些概念,并且可以轻松计算这些信息。 需要牢记的一些事情:

当开始考虑一个问题时,试着想想绝对的最好和最坏情形时的复杂度是什么。例如,要在未排序的列表中查找某个元素,我们知道必须至少查看列表中的每个元素一次,所以这个算法的复杂度至少是O(n)。

试着用“压力测试”测算一下你的算法的复杂度,尤其是当它依赖于两个或更多的变量时。例如,如果你的算法执行次数是O(n*k):如果k非常小会发生什么?当k接近n时会发生什么?有时,你会发现一个算法对于特定的n和k值是最优的,另一个算法对于不同的n和k值是最优的。

对于内存限制,如果你确实需要跟踪数据结构中的所有值,请尝试解释。此外,还要认识到一个事实,即不同编码语言中的某些函数可能会使用额外的内存。一个很好的例子是在Python中进行列表切片,这会创建一个新的列表(可能会产生另一个O(n)内存使用)。

编码面试是很困难的,精通算法和编码问题并不能保证总是能够通过面试。幸运的是,有了这三个技巧,你可以更好地了解如何进行编程面试。祝你好运! 你正在面试编程工作吗,还是只是喜欢有趣的编程问题?查看我们的时事通讯-Daily Coding Problem,你就能每天在你的收件箱中收到一个关于编程的问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4761

    浏览量

    97167
  • 编程
    +关注

    关注

    90

    文章

    3708

    浏览量

    96778
  • 代码
    +关注

    关注

    30

    文章

    4942

    浏览量

    73161

原文标题:9 大技巧拯救你的编程面试!

文章出处:【微信号:weixin21ic,微信公众号:21ic电子网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)

    后台私信雯雯老师,备注:循环神经网络,领取更多相关面试题随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以
    的头像 发表于 10-17 16:36 495次阅读
    人工智能工程师高频<b class='flag-5'>面试</b>题汇总:循环神经网络篇(题目+答案)

    STMicroelectronics EV-VN9E30F评估板技术解析与应用指南

    STMicroelectronics EV-VN9E30F评估板简化了ST VIPower M0-9 SPI技术与现有系统的集成。STMicroelectronics EV-VN9E30F预装
    的头像 发表于 10-16 17:35 555次阅读
    STMicroelectronics EV-VN<b class='flag-5'>9</b>E30F评估板技术解析与应用指南

    用30道电子工程师面试题来拷问堕落的你...

    今天用30道电子工程师面试题来拷问堕落的你,你能扛住第几题?1、下面是一些基本的数字电路知识问题,请简要回答之。(1)什么是Setup和Hold时间?答:Setup/HoldTime用于测试芯片
    的头像 发表于 10-15 17:37 726次阅读
    用30道电子工程师<b class='flag-5'>面试</b>题来拷问堕落的你...

    2025 职场新规则:不会AI智能体,可能连面试都过不了

    技能,尤其是对AI智能体的运用,早就成为职场人不可或缺的核心竞争力,甚至成为能否通过面试的关键因素。企业招聘趋势大变革:AI智能体从辅助走向核心AI智能体在招聘全
    的头像 发表于 06-23 14:16 537次阅读
    2025 职场新规则:不会AI智能体,可能连<b class='flag-5'>面试</b>都过不了

    【硬件方向】名企面试笔试真题:大疆创新校园招聘笔试题

    名企面试笔试真题:大疆创新校园招聘笔试题-硬件 是几年前的题目,不过值得参考一下哦 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-16 17:31

    硬件工程师面试/笔试经典 100 题

    分享一些常见的硬件工程师面试/笔试题。公众号后台回复关键字:100题,可获取完整的PDF。--END--免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!加入粉丝
    的头像 发表于 04-30 19:34 1221次阅读
    硬件工程师<b class='flag-5'>面试</b>/笔试经典 100 题

    硬件工程师面试必看试题(经典)

    硬件工程师面试试题 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念
    发表于 04-21 15:36

    Xobin入选2024年Gartner®《开发者技能评估与面试平台市场指南》

    印度金奈2025年4月2日 /美通社/ --  行业领先的技能评估软件 Xobin欣然宣布其入选2024年Gartner® 《开发者技能评估和面试平台市场指南》。 Xobin每年吸引 400多万名
    的头像 发表于 04-02 14:00 427次阅读
    Xobin入选2024年Gartner®《开发者技能评估与<b class='flag-5'>面试</b>平台市场指南》

    硬件面试(一)

    硬件面试(一)
    的头像 发表于 02-26 13:55 1065次阅读
    硬件<b class='flag-5'>面试</b>(一)

    ABB PLC编程手册

    ABB  PLC编程手册
    发表于 02-07 15:23 15次下载

    一文解析高频交易中FPGA的作用及面试建议

    和其他人的亲身经历,写了一篇关于测试职位是什么样子以及如何准备面试的文章。 HFT 世界是什么样的 为了理解这些术语并以更合适的方式做好准备,我们首先来谈谈 HFT 是什么,以及为什么 FPGA 在交易
    的头像 发表于 01-23 10:57 1438次阅读
    一文解析高频交易中FPGA的作用及<b class='flag-5'>面试</b>建议

    面试题】人工智能工程师高频面试题汇总:概率论与统计篇(题目+答案)

    ​随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以,提前准备一些面试常问的问题,比如概率论与统计知识
    的头像 发表于 01-22 13:00 1409次阅读
    【<b class='flag-5'>面试</b>题】人工智能工程师高频<b class='flag-5'>面试</b>题汇总:概率论与统计篇(题目+答案)

    gitee 支持的编程语言有哪些

    Gitee(码云)是一个基于 Git 的代码托管和研发协作平台,类似于 GitHub 和 GitLab。它支持多种编程语言,允许开发者托管和管理代码,进行版本控制,以及协作开发。以下是一些
    的头像 发表于 01-06 09:50 1111次阅读

    面试题】人工智能工程师高频面试题汇总:机器学习深化篇(题目+答案)

    随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以,提前准备一些面试常问的问题,比如机器学习的那些算法
    的头像 发表于 12-16 13:42 3318次阅读
    【<b class='flag-5'>面试</b>题】人工智能工程师高频<b class='flag-5'>面试</b>题汇总:机器学习深化篇(题目+答案)

    面试题】人工智能工程师高频面试题汇总:Transformer篇(题目+答案)

    随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以,提前准备一些面试常问的问题,比如机器学习的那些算法
    的头像 发表于 12-13 15:06 2395次阅读
    【<b class='flag-5'>面试</b>题】人工智能工程师高频<b class='flag-5'>面试</b>题汇总:Transformer篇(题目+答案)