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

本文由 伯乐在线 - darkinlight 翻译自 thegeekstuff。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。

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

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

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

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

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

2.不要硬记代码

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

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

3.与面试官极少交流

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

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

4.不准备电话面试

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

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

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

5.代码凌乱

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

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

6.对思路避而不谈

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

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

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

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

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

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

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

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

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

9.没有自信

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

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

10.压力过大及睡眠不足

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

费曼技巧与博客

费曼技巧与博客 什么是费曼技巧? 费曼技巧是一种学习方法,核心是以教促学。 具体实践 以学习费曼技巧为例: 确定学习目标为学习费曼技巧。寻找资料(网络、书籍、报刊等)学习费曼技巧,直到自己认为已经理解了…

阿里云服务器 CentOS 7上-- Docker 安装 网关(API-Getway)--KONG

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 全程操作按官方文档来就可以了。 1.将 Kong 连接到 Cassandra 或 PostgreSQL 容器 Kong支持 2 种数据库:Cassandra 或 Post…

每个程序员都应该了解的内存知识

英文原文:lwn.net,翻译:开源中国 [编辑的话: Ulrich Drepper最近问我们,是不是有兴趣发表一篇他写的内存方面的长文。我们不用看太多就已经知道,LWN的读者们会喜欢这篇文章的。内存的使用常常是软件性能的决定性因子&…

山区建小学

题目描述 政府在某山区修建了一条道路&#xff0c;恰好穿越总共nn个村庄的每个村庄一次&#xff0c;没有回路或交叉&#xff0c;任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为d_idi​&#xff08;为正整数&#xff09;&#xff0c;其中&#xff0c;0<…

idea debugger console 不见了--还原 console 图标

1 找了好久&#xff0c;也找不到&#xff0c;调试的时候挺麻烦的。 2 最后发现 有个一个重置&#xff0c;视图的按钮。点击一下就恢复 。 如下图。转自&#xff1a;https://blog.csdn.net/changdejie/article/details/64127026

实验五:任意输入10个int类型数据,排序输出,再找出素数

import java.util.Scanner; public class Pxsushu {public static void main(String[] args) {// TODO Auto-generated method stubScanner s new Scanner(System.in);int temp;//对数组事先声明并创建10个空间int[] a new int[10];//把输入的数存储为数组for (int i 0; i &…

Vue笔记(六)——Vue组件通信Vuex

组件通信 vue本身的组件通信 父>子&#xff1a;父组件向子组件传参或者调用子组件的方法子>父&#xff1a;子组件向父组件传参或者调用父组件的方法兄弟之间&#xff1a;兄弟组件之间传参或者调用方法父子通信 传参 - props思路&#xff1a;定义子组件的属性&#xff08;…

灼灼夏日 - 遥思故乡 - 赤子无相忘

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 偶然翻看旧照片&#xff0c; 想起没有带过来的一本本诗集、散文集、手抄本、画册 ... 想起母亲的寄挂 ... 想起父亲的沉默 ... 想起少…

钱生钱最好的办法是什么?

当你养成理财的六种好习惯时&#xff0c;你能钱生钱了。这六种习惯是&#xff1a; 习惯一&#xff1a;记录财务情况。能够衡量就必然能够了解&#xff0c;能够了解就必然能够改变。如果没有持续的、有条理的、准确的记录&#xff0c;理财计划是不可能实现的。因此&#xff0c;在…

grid - 隐式命名网格线名称

1.隐式的指定网格线反向指定了隐式的网格区域名称&#xff0c;命名的网格区域隐式的命名了网格线名称. 指定网格区域会给网格区域边线添加隐式的网格线名称。这些网格线的命名是基于网格区域来命名&#xff0c;只是在网格区域名称的后面添加后缀-start或-end. 1 <view class…

前端笔试题小结(一)

前端笔试题小结&#xff08;一&#xff09; 2020-03-13 题目一&#xff1a; 将一个js数组去重。 样例&#xff1a; 输入&#xff1a;[ 1, “apple”, 3, “a”, 3, 1, 5, 6, “a”, 4 ] 输出&#xff1a;[ 1, “apple”, 3, “a”, 5, 6, 4 ] 分析1&#xff1a; 将两个数组循…

2019-3-1

伪静态: .html url(^page/(?P<id>\d).html/$,views.page,namepages) /page/1|2|3.html/ | {% url pages 1|2|3 %} 3.request对象 --method,GET,POST --FILES,META,body,path,get_full_path(),is_ajax(),COOKIE,session 4.CBV处理请求的另外一种方式 from django.…

java 使用 new Date() 和 System.currentTimeMillis() 获取当前 时间戳

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 在开发过程中&#xff0c;通常很多人都习惯使用new Date()来获取当前时间。 使用起来也比较方便&#xff0c;同时还可以获取与当前时间…

持币过节也能让钱生钱

今天是国庆长假前最后一个交易日。从盘面上看&#xff0c;投资者包括部分基金公司减仓明显。对于目前大盘高位震荡&#xff0c;很多人选择落袋为安&#xff0c;持币过节&#xff0c;不失为明智之举。但你知道吗&#xff0c;持币过节也能让钱生钱。今天我就来为各位讲讲其中的奥…

关于cat命令修改文件内容(导入变量符号以及变量内容)

关于cat命令修改文件内容&#xff08;导入变量符号以及变量内容&#xff09; cat >1.txt<<END $11 $22 $1 $2 END 查看文件内容为&#xff1a; [rootserver04 ~]# cat 1.txt 1 2[rootserver04 ~]# 说明导入的$1,$2自动被解析了。但是当我们想输入一些变量而不被解析…

Android - AsyncTask你知道多少?

http://www.cnblogs.com/qlky/p/5658070.html 为什么asyncTask最好在主线程初始化&#xff1f;在子线程怎么办&#xff1f; AsyncTask四个方法的执行顺序&#xff1f; mWorker和mFuture对象分别是什么&#xff1f;有什么作用&#xff1f;和doInbackground还有postExecute有什么…

2020-3-15

题目一&#xff1a; 问答 请写出如下代码运行后产生的结果&#xff0c;并给出解释&#xff0c;说明结果是如何得出的。 setTimeout(() > console.log(a)); Promise.resolve().then(() > console.log(b);).then(() > Promise.resolve(c).then((data) > {setTimeout…

Kong-dashboard 安装 启动运行

Kong Dashboard 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Kong is a scalable, open source API Layer (also known as a API Gateway, or API Middleware). Kong runs in front o…

自动让钱生钱方法100%安全稳定

中国区网友问题&#xff1a;   手里有一些余钱&#xff0c;希望找一个方法能够让钱自动生钱。最好不要让我烦心的&#xff0c;能够自动操作。并且不能有风险&#xff0c;本钱绝不能有风险&#xff0c;利润要很丰厚才可以。像银行存款、股票基金就不要介绍了。因为前者生钱太慢…

linux lnmp15 部署laravel项目

使用composer创建一个 laravel项目 安装composer&#xff1a; https://www.jianshu.com/p/ce1d36cbe00f composer create-project laravel/laravel5.5.* --perfer-dist /home/web/blog 复制代码添加虚拟主机配置文件 sudo lnmp vhost add 复制代码注&#xff1a;由于laravel的入…