首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编程访谈中的推理机制

编程访谈中的推理机制
EN

Software Engineering用户
提问于 2014-06-02 12:45:37
回答 2查看 490关注 0票数 1

这不是通常的“我不想在面试中写代码”,在这个问题中,假设是

  • 我需要在面试中编写代码(想想从头开始重写快速排序或合并的程度)。
  • 我知道算法是如何工作的,或者我对如何从那里开始工作有一个基本的想法,那就是我不记得这个算法了。

我注意到,即使在白板上,我也总是会编写错误的代码或不编译的代码。如果有错的话,不管我平时怎么看.但是当有一个意外的特殊情况下,我最终失去了对我的技能的信心。

我意识到,也许面试官可能想看看我是如何编写代码和/或如何解决问题,而不是证明--编译我的白板代码,但我想问,我应该如何从心理角度来处理上述问题,也就是说,在为上面两个要点的面试编写代码时,我应该遵循哪些心理步骤。

我必须遵循一系列独特和一致的步骤,以避免陷入特殊的例外情况(极限情况),这可能会浪费我的时间和精力,而不是专注于一般情况下的总体算法。

我希望我把我的观点说清楚了

EN

回答 2

Software Engineering用户

发布于 2014-06-02 13:36:06

如果我被要求为我认为特别挑剔或有边缘情况复杂的问题编写代码,我肯定会先在黑板上写笔记。对于一个简单的例子,假设我被要求用Java编写方法Arrays.toString(int[] array)。我会在黑板上写这样的话:

  • 如果输入为null,则返回"null"
  • 如果输入为空数组,则返回"[]"
  • 否则,我必须:
    • 输出第一个元素的"["
    • 输出最后一个元素的"]"
    • 在元素之间输出一个", "
    • 如果只有一个元素,就不要打印", "

然后,我会告诉面试官,通常我会先写测试用例来测试每一颗子弹,然后问他们是否希望我在这里这样做。假设他们说不,在我编写代码时,我会记住每一个子弹,并检查它们,因为我相当肯定它们是工作的。

执行这个计划步骤是您可以并且应该肯定地在欧拉项目上或节目访谈的要素书中使用一些更容易的问题来练习自己的事情。

票数 2
EN

Software Engineering用户

发布于 2014-06-02 13:55:43

我注意到,即使在白板上,我也总是会编写错误的代码或不编译的代码。

我在面试中见过这种情况,之后经常会有一种否认的说法。候选人将很难写出有效的代码,然后做出诸如“我写的代码比这个更好”这样的语句。这里的问题是,候选人刚刚证明了他/她没有。

尽管你可以反驳,但问题在于环境。在面试中解决问题和在你自己办公桌的安静的私人空间里解决问题是不一样的。成功地为那张安静的办公桌找到工作,最重要的是面试环境。

我意识到,也许面试官可能想看看我是如何编写代码和/或如何解决问题的,而不是验证如何编译我的白板代码。

如果问题不编译,就没有解决办法,面试官可以看到,一旦将代码放在白板上,就可以看到如何编写代码。

您的论点是:我使用这种编程语言解决问题的能力与我对语言语法和编译规则的理解无关。

如果您只想演示解决问题的能力,那么请使用不同的编程语言解决问题。一个你不会犯错误的。

我应该如何从心理角度来处理上述问题,即在为上述两个要点编写面试代码时,我应该遵循哪些心理步骤

实践:

谷歌流行的编程挑战面试,然后练习解决它们。如果白板提出了一个挑战,然后购买一个白板,并在其中一个练习。

练习用笔在纸上写源代码。检查您的工作,以确保编译的准确性,然后努力改进它。

研究正在使用的编译器的规则。

除了在他们最弱的领域努力提高自己之外,没有其他简单的答案。

祝你面试顺利。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/242762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档