程序员面试常见问题

啊南 2486阅读 2020.03.19

【导语】: 有什么技巧可以让面试问题不再成为职场拦路虎呢?只有提前了解才能从容应对,对于求职者来说,程序员面试有哪些问题是比较常见的,别着急,你想要的这里都有!

程序员面试常见问题有哪些

1、你最喜欢的编程语言是什么?你讨厌哪些编程语言?为什么?
2、如果让你在自己最常用的编程语言上面添加功能,你希望是什么功能?
3、说一个你曾经参与过的项目,在这过程中经历了哪些困难,最后如何克服?
4、你有没有干过什么事情最后却铩羽而归?
5、在某个休息天,突然有同事打电话来要你快速回复有关于你最近写的代码片段的问题,你会不会觉得生气烦躁?
6、你被要求去搞定一堆艰巨的代码,但是你却不知道它是如何工作的,没有文档也没有测试,你会怎么做?
7、在Zelda系列中你最喜欢什么游戏?你还喜欢哪些?你是否曾想过如果是你先开发的minecraft,那会怎么样?
8、你喜欢什么网站?
9、你会推荐什么书作为必读?
10、请解释以下名词:DRY、SOLID、YAGNI、乐观锁与悲观锁)、MVC与MVVM

程序员面试技巧

技巧1:如何回答面试官的问题?
面试就是回答面试官提出的一些问题,同样的问题,不同的回答方式,往往会有截然不同的结果。回答面试官的问题必须谦虚谨慎,不能表现的自卑,也不能让面试官感觉到你清高自负,要表现出自己自信从容,不卑不亢。
例如,面试官问你:“你在项目中做了些什么?”,如果你回答:“我在项目中做了最难的一块,……”,这样的回答会让面试官感觉你居功自傲。如果你回答:“我在项目中做了……,感觉这块挺有挑战性的,因为之前没有做过类似的,遇到一些不懂得还查了资料,感觉自己的技术又提升不少。”,这样的回答同样能表达你做了最难的一块,但是不会让面试官感觉不适。
在回答问题中,我们要做到回答的问题要简单明了,条例清晰。但不能简单地回答“是”或者“不是”,要具体分析“是”或者“不是”的理由。也不要什么都说,只说关键点,不说细节,要适当无意的留下悬念。这可能会让面试官好奇的问下去,这样可以加深面试官对你的印象。
在面试的时候,最重要的是不要紧张,往往很多人都是由于紧张的原因,一紧张就不知道怎么回答了。如果你能把面试当成一场普通的聊天,不再是你问我答的形式,当然不是什么都说哈!相信面试结果会很理想。

技巧2:如何回答面试官技术性的问题?
在程序员面试中,当然免不了问一些技术性的问题。有些技术问题可能是历年面试题中有的,你在平时复习中会经常遇到,对于这些问题自然不在话下。但也免不了一些难的,比如针对这次面试专门设计的题型。如果对于这些技术问题不会,也不要失去信心,会多少答多少,千万不要不懂装懂。
还有一类问题,就是面试官问的很抽象,不知道它具体问的是什么?让你不知所措,无从下手。这时候,你要勇于向面试官提问,把不明确的或二义性的问题问清楚。不要担心你的问题会让面试官感到不适,有可能还会有积极的作用。

技巧3:如何回答自己不会的问题?
在面试过程中,往往会遇到一些刁钻犀利的问题,那这类问题我们又该如何应对呢?
就算是大神级别的程序员,计算机技术博大精深,总会遇到自己不会的。如果我们在面试中遇到自己不会的问题,切记不要保持沉默或不懂装懂,吱吱语语乱说一通,这样会让面试很难继续下去。其实遇到不会回答的问题也不是很糟糕的事,只要你实事求是的回答就行了,例如:“对不起,这个问题我孤陋寡闻了,回答不出来,能向您请教吗?”。
重要的事说两遍,遇到不会的问题一定要实事求是,坦然面对,给面试官留下一个诚实的好印象。千万不要不懂装懂,吞吞吐吐胡乱说一通,这样反而会适得其反。

程序员面试注意事项

面试常见错误:

1、不准备经历方面的问题
一定要多花时间回忆你过去的相关经历,包括你参与的项目,你遇到的各种困难,以及如何解决的这些难题。你的回答会影响面试官对你技术能力的印象,所以一定要回顾和整理一下你过去的项目经历。

2、依赖于事先背诵的答案
试图通过事先背诵一些答案,然后在面试派上用场是一个非常不好的方法。首先,恰好能用上你背的答案的概率微乎其微,其次,这样的准备会花费你大量的时间和精力,而没有真正能力上的提高。记住,你在现场发挥的越好、越真实,你身上的价值就越高。

3、缺乏对面试的模拟
这是很显然的,做很多事情前你都要准备和模拟一下,防止意外的情况发生。PHP程序员面试也是一样的,如果你正在准备一个PHP程序员面试,你应该找一些可以和你一起准备的PHP程序员,你们一起模拟面试的场景,互相提问。

4、没有展现思考的过程
如果你在回答问题时很长时间不说话,就会让人理解为你无法解答这个问题。你不提供一个思考的过程,面试官就无法了解你的想法,不知道你是在思考还是被难住了。但是,如果你和面试官一直交谈,他就会了解你的想法,看到你的思维过程,这是很重要的。而且当你的思路有偏差时,面试官还可以引导你回到正确的解决方案中来。

5、写代码离不开编辑器
如果你要参加一个技术型的面试,面试官通常会要求你在白板/白纸上写代码,而不是在电脑上。所以,你不能过度依赖于代码编辑器,因为在那里它会帮你补充代码、显示出你的语法错误等。赶快拿出笔和纸,写下你的代码,当你满意自己在纸上写的程序的时候,再把它输入到电脑,让编译器验证它正确与否。

6、没有养成良好的编程习惯
不要因为你仅仅写了一个可以执行的程序,就以为自己已经做得很好了。你还要注意在程序中有没有重复的代码、混乱的数据结构、过度的空格等等。要像在实际的开发中一样,设计更有逻辑性的数据结构、有更好的框架、代码更整洁和易读。

7、不进行测试
当你的程序写完后,花点时间检查一下你的代码,以确保其中没有bug。如果是在用笔和纸来练习,就要把程序再写到编辑器中,让编译器帮助你检查。

8、总是着急忙慌
在解决问题时不要着急,否则只会导致更多的错误,显得你很粗心。要有条理和准确的的做事,经常回头看看你的代码,如果有错误就改正它们。这样做,其实完成项目的时间会更短,而且错误会更少。

程序员面试经验

经验一:
面试过程:
通过网络招聘去的,去了先是笔试,大概做了一个小时..主要考察逻辑思维,没什么程序题,然后HR给打分 如果分数过了多少就免面试,如果没过就稍等主管再来给你一对一面试,过了的话直接就会通知你了,薪水是先培训再实习然后第二年毕业的时候开始试用期,试用期三个月过了转正,实习期薪资1000多,然后试用期是2000,转正2400..
面试官问的面试题:
知道软件开发流程吗?sql和Access有没有区别?在校期间做过什么活动有没有参加过什么比赛之类的


经验二:
技术面试,两轮,地点:某大厦6层,
面试时间:20XX_03_19_10:30(提前到了45分钟)
1、自我介绍
2、项目介绍
3、LiveChat项目,第一个
4、XXX项目,第二个,最熟悉
5、技术:
问:介绍一下你用的最熟的技术
答:数据结构和算法基本入门,java的话,了解设计模式和jvm还有框架使用
问:框架你有用那些
答:Spring+SpringMVC+Mybatis
问:Spring的AOp你是怎么使用的
答:日志管理,事务管理

程序员必备条件

1. 懂得分享
尽可能使用开源,并且当你有能力的时候,要对其有所贡献。聚全社会之智慧,胜过某些 “大” 公司之短视。

2. 公平竞争
尝试其他技术、框架、方法和观点。不要总以为只有你的选择才是可行的。别的选择也有可能比你的要强得多。要以开放的心态,来检验其他人的选择。

3. 不要闭门造车
读读博客、学习新语言和框架、参与讨论以及看看同行在干什么。两耳不闻业界事,你就无法成为一名更优秀的程序员。

4. 自我完善
尽量发布可以运行的代码。不要指望 QA 能给你找出所有的程序错误。要经常并且全面深入地测试你的代码。

5. 不要拿不属于自己的东西
使用软件要遵守许可,不要偷了之后又装无辜。

6. 未雨绸缪
动手写代码之前要尽量理解要解决的问题。要做原型、从网上查找实例、跟其他也做这个的人讨论或者只是练练手而已。构建你从未做过或用过的东西是个坏习惯。如果开始就有思路,结果可能会更好。

7. 拿得起放得下
不要害怕替换、重写、重构或者放弃垃圾代码。有时候,如果碰到可留可不留的代码,直接扔掉才是上策。永远不要爱上你的代码。

8. 平衡生活
学习、思考、绘画、唱歌、跳舞、工作、玩耍,每样都会一点。我喜欢 Google 的方式,在那里,你有 20% 的时间用来思考任何你认为值得做的事情。老板应该提供休息室、娱乐室或者一些能让人放松清醒的环境。
编程是一项艰苦的脑力劳动活;有时你的大脑确实需要休息一下。拒绝例行公事地每周工作 80 小时,否则你的工作质量将大打折扣,花费大量时间取得的成果将前功尽弃。另外,如何释放工作生活压力,可以参考伯乐在线的这篇文章:《3 步释放工作和生活压力》。

9. 保持好奇心
想想塑料杯中的种子:根向下长,枝叶向上长,没有人知道这是为什么,但是我们都是这样的。一般来说,在编程和技术世界,每天都有新奇东西出现。看!很神奇吧!每天学习,让你思维更广,技能更新,选择也就更广。如果你认为编程枯燥乏味,那么你要该换行了。

10. 劳逸结合
每天工作 24 小时不会让你更有效率。休息、回家,然后打个盹。通常,很多难题是在我回家的时候解决掉的,解决方法通常在我开车时或第二天早上突然想到。

哪种性格的人适合做程序员

1、程序员岗位虽然与计算机打交道时间比较多,但也需要和项目经理、客户沟通需求,也需要一定的沟通的能力。如果你想往管理岗位发展的话,那么得适当锻炼自己的沟通能力与管理能力了。

2、程序员的工作是非常需要耐心与细心一起兼备的,这个就必须要从事这一行的人在工作的时候可以专心致志,静心思考。有时候必须得面对漫长的黑夜和一个人的孤独,排查问题,定位问题,解决问题,或者说这是一种职业的基本素养。

3、性格内向与程序员行业其实并没有多大关系,无论性格内向还是外向,每种性格都有各自的特点,要学会扬长避短。如果你性格内向,不擅长社交,也不怕加班,也想拿高薪,数学基础也好,逻辑思维严谨,建议你从事软件编程。

关联标签: