• 编程面试中的十个常见错误


    身为程序员,你肯定知道和其他技术工作面试比起来,编程工作的面试流程略有不同。

      这篇文章会就你在编程面试中应当避免的 10 个问题展开讨论。

      1. 从未在纸上或白板上写过代码

      这是求职者最容易犯的大错之一。绝大多数编程面试都会安排在纸上或白板上。而与电脑上大量的编码练习相比,绝大多数求职者极少在纸上或白板上进行编码练习。

      用惯了 IDE(或是文本编辑器)的求职者会在如何保持纸间良好代码规范这第一步上磕磕碰碰。众所周知,编码规范是编程面试的必要条件。而且,在纸上写代码的时候,没有编译器帮你指出明显的编译时错误。此外,在专家组前方的白板上编码时,绝大多数求职者会感到不安。所以面试前,做些纸上或白板上的编码练习吧。

      2. 不要硬记代码

      很多毕业新生会去背一些常见问题的答案。好比很多程序员都知道如何“用C中的位运算来交换两数”。但并不是所有人都知道那段代码真正做了些什么,又是如何完成这项任务的。

      死记硬背并不是C编程面试的捷径。即便你侥幸答对了一两题,如果不了解基础概念还是无法通过整个面试。关键要了解编程背后的概念。重点并不在于你知道多少种语言,而在于你有多了解这些语言。

      3. 与面试官极少交流

      觉得题目有问题或是有其他疑问时,最好和面试官谈谈。

      即便不知道某个特定问题的答案,比起静静坐着或是谈些与该问题全然无关之物,诚实地承认不知道会更好。你还可以讲讲其他与原来问题相关的话题,并告诉他们你在这个话题上很擅长。

      4. 不准备电话面试

      近来很多公司在让求职者参与下一轮面试前会安排电话面试以便初步评定。电话面试与面对面面试有很大不同。电话面试要求良好的听说技巧。

      保证在回答前认真听问什么。面试官也许会给你一段代码并让你基于这段代码回答一些问题。参加电话面试前手里有只笔,有张纸很重要。

      还有,不要用精准的书面用语回答所有问题,因为那样的话,面试官也许会觉得你答题时一直在完全搬照网上资料。

      5. 代码凌乱

      不要低估代码规范的重要性。不管你多博闻强识,多有创造力,记得他们是在为你的编程技巧评定。面试官下任何结论前都要先读懂你的代码,如果你代码很凌乱,面试官也许压根就不想看。

      面试官只是一方面,规范编码还有助于求职者写出正确的程序。相比一团糟的代码,规范编码出 bug 的可能性更小。

      6. 对思路避而不谈

      面试官会对你解决问题的方法很感兴趣。他们不期望你能解决所有提出的问题,但希望你能给出正确的思路。

      例如,你正写一个用C指针交换两数的程序,正确的思路(即调用含待交换变量地址的函数并获取指针参数地址)才是真正重要的。面试官应该会在其他卡壳的地方提示你。

      所以,答题时大声说出你的思路把。这是让面试官参与其中的好方法。

      7. 不好的函数、变量命名习惯

      无论面试时用哪种语言解决问题,尽量用相关的变量和函数名,这会有助于代码维护。

      举个例子,假设你随手为函数和变量命名,写了成千上万行代码。现在,新人要加入并调试这段代码。可调试这种甚至无法理解变量代表什么的代码,纯粹是做梦。

      面试官可能认为这是一个缺点,也可能不这样认为,但站在安全的一方总是更稳妥。此外,编写交换两个变量的函数时,明明可以取名为‘swap’非用‘func’做名字的行为是不会被赏识的。

      8. 简历中有你所不知道的技术

      这是新手的另一大错。为了让简历入围,求职者会列很多编程语言以及很多不甚了解的技术名词。虽然这也许能为你赢得面试机遇,但余下的经历肯定不会很愉快。几分钟内,面试官就能了解你的真正水平和技能。

      9. 没有自信

      和任何面试一样,自信在编程面试中也很重要。有时面试官故意让你回答一道错题。这种情况下,如果知识过硬也有信心的话,你可以轻易指出题目中的疏漏并向面试官提。

      回答正确却对自己的回答信心不足的话,入选几率不会很高。这是因为没有公司愿意雇佣没有自信的人。

      10. 压力过大及睡眠不足

      面试前不要熬夜准备。面试过程中,你要保证头脑清晰,精力充沛。

      很多求职者在答题时头脑一片空白,尤其是站在白板前面对专家组时。面试压力使得这对求职者而言是常事。好好睡一觉,面试前尽量放松。

  • 相关阅读:
    Maven pom.xml文件获取当前时间戳
    maven依赖jdk的tools.jar包坐标怎么依赖
    解决Git问题:git登录账号密码错误remote: Incorrect username or password、如何快速关联/修改Git远程仓库地址、git修改用户名邮箱密码
    浅析Java里的内存分析及常量池加强对Java里字符串的理解
    浅析Java数据结构:稀疏数组的介绍和使用场景
    UmiJS简单介绍及使用UmiJS开发结构浅析
    React基础知识笔记:如何渲染html代码、条件渲染与循环渲染、如何获取动态路由传参、动态设置背景图、umi+dva中全局使用dispatch
    git commit提交时报错husky > pre-commit (node v10.16.3)
    浅析npm报错ENOTFOUND npm ERR! network request to https://npm.***.com/*** failed 及 .npmrc 文件的作用、npm --verbose命令
    浅析为什么说Java中只有值传递
  • 原文地址:https://www.cnblogs.com/zmlctt/p/3864372.html
Copyright © 2020-2023  润新知