程序员面试问题

简介: 又是一年毕业时,很多学弟学妹从学校走出来,第一件事情就是面对就业,就业的第一件事情就是面试,如何如何面对呢? 看看这里,当年我就是如此过来的〉 来源:Koder and Architect 从程序员到架构师 前两天跟着项目经理参加了一个面试。

又是一年毕业时,很多学弟学妹从学校走出来,第一件事情就是面对就业,就业的第一件事情就是面试,如何如何面对呢?

看看这里,当年我就是如此过来的〉

来源:Koder and Architect

从程序员到架构师

前两天跟着项目经理参加了一个面试。虽然不是第一次参加面试,但是还是有点紧张:)

我觉得我们面试的题目已经基本的不能再基本了,但是还是找不到一个合适的人。现在真的成了一种普遍的困境,很多人找不到满意的工作,很多公司找不到满意的人。

闲话不多说了,说说我们的几个题目吧。同时也说说对即将参加面试的兄弟的建议,从一个面试者的角度。

第一个题目:自我介绍。

自我介绍,几乎是每个面试的必备的题目(99%以上)吧。但是,我仍然遇到非常多的人连这个题目都“不准备”。我说的是“不准备”,而不是“准备的不好”。这个题目要准备的出色,是比较难的。我们是外企,我知道很少参加外企面试的兄弟参加外语会紧张,特别是刚开始。所以会出现这样的开头:“Thank you for giving me this oppertunity. It's my honor to talk with you. The following is my self-introduce”。没关系,面试官会理解你,但是,你要背熟,至少要背完。我遇到过好几个连自我介绍都没有背完的,你说怎么会有心情继续!

通常,很难靠自我介绍给你加多少分。但是自我介绍给你减分却非常快,快得出乎你的意料。第一,如果自我介绍没有准备充分,说明你对面试不够重视,当然面试官也会觉得自己不受重视;第二,如果自我介绍没有条理,说明你的总结能力不够;第三,如果自我介绍和简历里面有哪怕一点点的冲突,说明你的人品有问题,不够成熟,或者不够细心。一般来说,说明自己的姓名,年龄,工作年限。再说一下上一家公司就职期间的一两个项目就好了。项目这块是重点,不要云山雾罩,如果你里面有太多的术语,面试官多半是不了解的,除非你们在一个非常相近的领域。说的越简单易懂越好。

第二个题目:你最近在读什么书?或者你毕业后都读过哪些书?

这个是很难作弊的题目。你读过什么就说什么,千万别吹嘘,而且向金瓶梅这类的书就算了。如果真的没读过也就说没读过好了,如果读得一知半解,自己衡量,碰上面试官读过那本书可能会以为你不诚实,或者至少自学能力差。人文类的书也可以说,但是只提一句,看面试官的表情再说。如果面试官一脸茫然,见好就收,不要企图用这个时间向面试官灌输你关于文艺复兴的认识。多说一些经典的书,当然前提是你要多看书。或者你实在没看过什么书,也可以说经常上的网站和论坛或者邮件列表。CSDN这个年头最好不要重点提,因为大抵专心做事的没有多少时间泡在上面。

第三个题目:你认为OO和面向过程的区别是什么?(OO有哪些特点?)进而,多态是什么意思?能不能写一段代码展示一下多态?

这个题目的关于多态的部分是我们项目经理的保留题目,所以别人跟他一起面试通常会跳过这个题目。或者问完了OO的特点,就转过身用期望的眼神看着他?他也就知道该自己了:)。这个问题很基本,OO的特点基本上都能回答上来。至于和面向过程的区别,却比较难回答,但也很难出错:)仁者见仁,智者见智。

多态,我觉得是OO里面一个很基本的概念了,从某种程度上过去我们有些过于强调多态和继承,甚至有说法说理解了多态就理解了OO。写代码的部分,能完全没有错误的很少。不过也减不了多少分,但是要是完全没有体现多态就不好了。

到此为止基本上是个分水岭,如果前三个问题答得好,后面多半不会为难你了。如果答得特别不好,后面的也不会为难你了。

第四个题目:你最熟悉的设计模式是什么?能不能随便找其中一个画个类图或者序列图或者协作图?

这个题目我几乎每个面试都可以问。因为几乎每个人的简历里面都回写上“熟悉OOD”,后面紧跟着“和设计模式”,下一条则是熟悉UML。对于大多数人,所谓的熟悉设计模式不过是Factory(而且是简单工厂,而不是GOF所说的工厂方法或者抽象工厂)、Singleton(千刀万剐的设计模式,被最广泛误用的模式之一)、Observer(因为jdk里面有Observer和listener)、MVC(好有名啊,但是你问到C的几种用法和适用情况就傻眼了,所以我也几乎从来不问)、Visitor(不知道为什么这个也这么出名)。

画类图,绝对不是要求背过GOF的书上的原图。只要差不多能反映模式的含义即可,因为我也记不清楚那么多经典图。顺便会问一下这个图里面的几个箭头表示什么。以经常被选中的Factory为例,要能看出返回的是接口(不管是那种工厂模式,除了简单工厂)。

第五个题目:OO的设计原则能说上几个?随便找其中一个说说。

这个题目用的比较少,一般是前三个题目答的比较好,所以有兴趣继续聊聊稍微深入的话题。或者前面的问题时间太短,用来占用时间:)OO的设计原则有很多,也不要求局限于bob列出的OCP、DIP、SRP等等。像什么面向接口编程啊、封装变化啊等等都可以说。可是就这样能列出一两个的很少,能进一步说两句的就更少了。

说了半天,我希望这是我们公司遇到的特殊情况。如果国内的程序员真的这么不禁面,实在是一个不好的事情。我曾经跟国外的一个实习生一起做一个项目,他所表现出来的素质比我不知道高多少。我们公司虽然在软件行业没有什么名气,但是开发实力在全球还是很靠前的。公司正在把很多的开发移到中国来,但是从我们的面试情况看却很不乐观。

我在软件行业也是一个新手,谁让咱们这个行业吃青春饭呢。建议大家多看书,现在的气氛仿佛过于重实践、轻理论了。要勇于深究理论,理论联系实践。

与大家、与自己共勉。

目录
相关文章
|
7月前
|
数据采集 数据挖掘 程序员
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
|
3月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
59 10
|
4月前
|
JavaScript 前端开发 小程序
CoderGuide 程序员前后端面试题库,打造全网最高质量题库
CoderGuide涵盖范围包括且不限于:前端面试题(Vue,React,JS,HTTP,HTML,CSS面试题等),后端面试题(Java,Python,Golang,PHP,Linux,Mysql面试题等),以及算法面试题,大厂面试题,高频面试题,校招面试题等,你想要的,这里都有!
73 2
|
6月前
|
前端开发 应用服务中间件 程序员
老程序员分享:Nginx相关面试题
老程序员分享:Nginx相关面试题
64 2
|
6月前
|
SQL JavaScript Java
java程序员面试题大全含答案(2018--2019)
java程序员面试题大全含答案(2018--2019)
|
7月前
|
前端开发 JavaScript 程序员
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
|
6月前
|
前端开发 程序员 JavaScript
9年程序员总结个人的面试技巧
9年程序员总结个人的面试技巧
43 2
|
7月前
|
数据采集 XML 程序员
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
|
7月前
|
算法 程序员
2024年有哪些话一听就知道一个程序员是个水货?(1),2024年最新面试真题及答案
2024年有哪些话一听就知道一个程序员是个水货?(1),2024年最新面试真题及答案
2024年有哪些话一听就知道一个程序员是个水货?(1),2024年最新面试真题及答案
|
7月前
|
前端开发 程序员 开发工具
2024年最全0基础程序员如何快速进阶成为编程老司机?_码农速成(2),字节跳动面试攻略
2024年最全0基础程序员如何快速进阶成为编程老司机?_码农速成(2),字节跳动面试攻略
2024年最全0基础程序员如何快速进阶成为编程老司机?_码农速成(2),字节跳动面试攻略

相关实验场景

更多