36

如何进行技术面试

 5 years ago
source link: http://fuzhii.com/2018/10/03/how-to-interview/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前段时间帮项目组面试了一些应届毕业生,在写代码的间隙和这些快毕业的年轻人交流也学到了很多。针对面试中遇到的问题,写一篇文章总结一下如何进行技术面试。

一、简历

简历很重要,排版和文字体现了态度和专业程度,写到上面的项目和技能决定了面试方向。

1、简历排版

排版的基本原则

a) 对齐。简历整体应保持一个对齐样式。

b) 字体和色彩保持一致,最好不要出现三种以上的色彩和字体。

c) 页数为一到二页,大多数好的简历都是一页写完。便于 HR 和技术面试官筛选。

排版工具不限,Word、Markdown、网页都可以,推荐使用 Latex,Latex 是出版公司使用的专业排版软件,高度自由、专业大方。其他排版原则可以参考「写给大家看的设计书」。

2、定制化内容

对应于技术岗位要求,不要出现过多非必须的描述。如:学生会干部经历、个人爱好、甚至照片都是非必要的。应该有的是实习经历、项目经历、竞赛经历等。

3、扩展项

简历可以表达的内容有限,又是静态的。可以通过富媒体扩展引入

a) 个人博客网站。个人博客最好是多年有高质量内容更新的,面试官可以通过博客了解到面试者学习关注的方向,对技术问题的思考和总结。推荐使用 WordPress/Github Pages 等工具自己搭建。

b) Github。最好是有高 Star/Fork 的个人项目,体现技术影响力。面试官可以了解到编码风格、软件工程素养。

c) 项目演示 Demo。

二、面试考察项

1、基础知识

最基本的岗位能力要求,包括语言基础、操作系统、计算机网络、数据库、数据结构、软件工程、数据技术等等。至少需要对某一个方向有较深入的研究和思考。

2、聪明程度

这是一个主观又难以量化的指标,当面试官问出一个问题时,他是知道答案的。他可能只是简单看过答案,或者做项目时遇到这个问题,或者刚好思考过这个问题,而对面试者来说可能完全是陌生的。这样来看其实不公平,用一个比较少遇到的问题去考察其他人,这种问题也不能测试出面试者的聪明程度。那如果出的题是从简历里引申出来又稍微有深度和难度的呢。这时就可以看到面试者的应变能力和知识迁移能力。用这两个指标去衡量时会更有效一些。举例:

「看你简历上写的了解 Linux 文件系统,如何在终端里删除一个名字为乱码的文件」,这个题目里有明显提示-Linux 文件系统,面试者也有这个基础能力,他如果能想到文件的 inode 数据结构,再结合管道就可以答出这道题。

「看你项目中提到了协程,怎么去设计一个协程库」,面试者可能没有看过协程源码,但知道基本原理后结合面试官的提示是可以推导答出大概的框架。

3、沟通能力

沟通更多是一种方法。

a) 是否可以做到结论先行。回答问题时,先明确给出答案,再给出推导过程。

b) 是否可以把回答归纳总结为有条理的子项。归纳的过程也是展示思考的过程,原则是子项独立不重复;整体不遗漏。

c) 是否可以把一个其他人不熟悉的概念用简洁易懂的语言向他讲明白。我们可以用这条标准来衡量自己是否真正理解一个概念,那就是把这个概念给完全不懂的人讲清楚。

d) 在传达信息时,是否可以及时调整表述,以确保信息被正确接收到。「项目计划」中提到,作为项目经理,我们必须要记住一个基本前提,就是防止误解是信息发送者而不是接收者沟通职责。

其他沟通方法可以参考「非暴力沟通」。

三、面试官与面试者

管理大师德鲁克说,在组织中的人既是管理者,也是被管理者;既是管理的主体,同时又是客体,都承担双重角色。而面试官与面试者也是这种关系。一方面,面试官承载着这家公司的品牌形象和文化,也在接受面试者的评价和选择。另一方面,面试官极有可能有一天也是要去面试的。那么从这两个方面,作为普通技术人员的面试官应该做些什么?

1、面试官的职责

a) 提前 review 简历,针对提到的技能和项目,定制化一份可以综合评价能力的面试题

b) 平等认真倾听和记录面试者作答,引导面试者展现能力

c) 向面试者介绍公司和项目组在做的事情

d) 面试者有主动寻求建议,应适当给出建设性的答复

2、技术人员出走的能力

面试官作为一个有较多工作经验的普通开发人员,也会有一天转换角色成为面试者。为了适应这个激烈变化的互联网行业,他们应该保持随时出走的能力。开发工程师平时可以关注这些:

a) 提高业务能力和积累高价值的项目经历

b) 维护更新一份自己的简历

c) 学习新的语言和技术,创建自己的项目和产品

d) 积极分享,提高自己在业界的影响力(写公众号、博客、Github、开发者社区)

e) 主动了解业界情况(薪资待遇、发展机会、业务范围)

f) 有机会的话与猎头维持良好的联系

最近公众号更新较少,一些想法记录在这里,一为总结分享,二为自察勉励。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK