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

    文章

    4800

    浏览量

    98503
  • 编程
    +关注

    关注

    90

    文章

    3723

    浏览量

    97427
  • 代码
    +关注

    关注

    30

    文章

    4975

    浏览量

    74349

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索COP8CBR9/COP8CCR9/COP8CDR9 8位CMOS闪存微控制器

    探索COP8CBR9/COP8CCR9/COP8CDR9 8位CMOS闪存微控制器 在电子设计领域,微控制器是众多项目的核心组件。今天,我们就来深入了解一下德州仪器(TI)推出的COP8CBR
    的头像 发表于 04-19 09:10 36次阅读

    线性化编程与结构化编程的不同点

    线性化编程是将整个用户程序连续放置在一个循环程序块(OB1)中,按顺序执行的编程范式。这种结构与PLC所代替的硬接线继电器控制类似,CPU逐条地处理指令,体现了早期PLC编程的简单性和直观性。说白了就是一条路走到黑,所有功能从上
    的头像 发表于 03-16 16:58 490次阅读
    线性化<b class='flag-5'>编程</b>与结构化<b class='flag-5'>编程</b>的不同点

    AI面试的真与假,不在报告是否漂亮,而在评分是否可追溯

    在招聘场景中,AI面试真正需要回答的,并不是“能不能生成一份看起来足够智能的报告”,而是两个更基础、也更严肃的问题: 第一,评分究竟是否真正由算法独立完成; 第二,这一评分是否具备足够的信度与效度
    的头像 发表于 03-16 16:28 138次阅读
    AI<b class='flag-5'>面试</b>的真与假,不在报告是否漂亮,而在评分是否可追溯

    面试必看!排队自旋锁32位变量的域划分与核心作用

    在操作系统面试中,并发同步机制一直是高频考点,而排队自旋锁作为解决传统自旋锁“饥饿” 问题的关键技术,其 32 位变量的域划分更是面试官青睐的 “细节题”。不少同学能说出排队自旋锁的基本概念,却对其
    的头像 发表于 02-09 16:54 911次阅读
    <b class='flag-5'>面试</b>必看!排队自旋锁32位变量的域划分与核心作用

    面试必看:排队自旋锁之MCS锁的实现原理与关键考点

    在并发编程面试中,“锁” 是绕不开的核心话题,而自旋锁作为轻量级锁的代表,其优化方案更是高频考点。
    的头像 发表于 02-09 16:51 833次阅读
    <b class='flag-5'>面试</b>必看:排队自旋锁之MCS锁的实现原理与关键考点

    AI面试,正在变成一场没有人的表演

    优化了数十份简历后,拿到了心仪面试;有人靠实时辅助软件,顺利通过了某国企的AI视频初筛。 当企业用AI快速筛选简历、用虚拟人进行第一轮面试时,求职者也开始用AI武装自己,试图以技术对抗技术。 一个怪圈已然形成: 企业部署AI以求效率,
    的头像 发表于 12-23 16:36 8053次阅读
    AI<b class='flag-5'>面试</b>,正在变成一场没有人的表演

    C语言的编程技巧

    设计,分层开发代码,便于理解和维护。 ‌8、避免使用GOTO语句‌:尽管GOTO语句在某些情况下仍然有用,但现代编程更倾向于使用函数和循环控制结构,以提高代码的可读性和维护性。 ‌9、利用C语言的灵活性
    发表于 11-27 06:46

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

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

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

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

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

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

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

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

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

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

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

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

    商汤科技与编程猫达成战略合作

    近日,商汤科技与青少年AI编程教育头部品牌编程猫正式达成战略合作。
    的头像 发表于 04-30 18:13 1819次阅读

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

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