山东机关建设网站老版,网站建设玖金手指排名14,南京市建设厅网站,什么好的网站学做食品导读#xff1a;作者lzprgmr写了一篇《谈谈技术面试》文章#xff0c;他在文中讲述了自己对于技术人员面试的经验和心得#xff0c;以下是文章内容#xff1a;
只要是招一个技术人员#xff0c;不管是初级的程序员还是高级软件工程师#xff0c;技术上的考核都必不可少。…导读作者lzprgmr写了一篇《谈谈技术面试》文章他在文中讲述了自己对于技术人员面试的经验和心得以下是文章内容
只要是招一个技术人员不管是初级的程序员还是高级软件工程师技术上的考核都必不可少。很荣幸作为面试官参与过公司的一些技术面试从中也体会到了一些东西。
首先我觉得技术面试是需要讲究技巧的不是随随便便拉一个技术不错的人就可以因为面试的过程是双方相互交流的过程你需要给对方营造一个轻松的气氛并在不断的提问与回答的过程中进行“合理的引导”“适时的追问”与“正确的判断”。
所以我觉得一个公司的技术面试需要有良好的经验传承不光光只是留来一些题库也不光光是一句要相互尊重你代表公司的形象更重要的如何去主导一场面试全面、准确的了解对方的能力。一个新的面试官在上场前需要培训一下如何去做到这些最好能新老搭配带一下这样我觉得才是最靠谱的也是我们之前做的不够好的地方。
一般情况下软件公司招人总会对这三个方面的能力做一下考核一是编程语言二是数据结构与算法三是系统设计。
编程语言
语言是工具是一个程序员每天都要使用的东西。在我看来考察编程语言不仅能考察一个人对一门语言的理解程度也能反应一个人的对待知识的态度——你会怎么看待一个有10年C经验但却对这门语言所知甚少的人恐怕是安于现状不求甚解。
针对被面者熟知的语言与库来考察其对语言各个特性的了解与应用最后让被面者写个程序看看其对这们语言的操控程度。
数据结构与算法
工作5、6年在我以前的项目中需要用到数据结构与算法的机会不是很多。我也曾经怀疑考察算法是不是有必要。那么有必要吗?
我是这么说服自己的
的确有些项目涉及更多的只是调用第三方库去堆彻代码实现业务逻辑没有太多的机会去直接的、明显的应用算法但如果因此而自我设限难免沦为平庸。
算法其实考的也是一个人思考问题的套路一个人的创造力。说句俗气的话不管你现在做的是什么如果你具备了这种思维方式你总能找到地方应用它。或许以前你所认为的那些没有意义的事情只是因为你选择了没有意义的方式去完成它而已。
考察一些初级数据结构与算法的概念别考的太深太偏。准备一些具有“可伸缩性”的算法题看看被面者如何分析问题如何分析算法复杂度以及如何用其选择的语言实现算法。
系统设计
这个主要是考察被面者在面向对象软件设计方面的能力一般针对高级一些的职位。
可以先了解一下被面者对面向对象设计的基本概念与原则的了解然后让其谈谈他之前项目中做过的设计并准备几道可以逐步深入的设计题让其当场设计。哦别忘了问问他为什么这么设计。
需要注意是要了解面试者真实的实力你必须要好非常好的临场应变的能力善于从面试者的回答中提取有用信息并加以追问。
另外因为现场面试需要耗费双方很多的时间与精力所以针对上面三个方面最好能先进行一下电话面试做一个大概的了解这样可以避免不必要的耗费——所以做好电话面试也就非常重要有了你需要做成尽量准确的判断——来要是不来。