该文写于2020年
笔者经常参加软件工程师的面试,应该也超过千人次了。简单说说自己关于软件开发面试的一些看法,希望对找工作的朋友有所帮助。
1.首先简历可以有些水分,稍微拔高一点,但是一定要不造假,特别是假的项目经历和技能,通常面试官都会问简历中的项目经历和技能,很容易分辨真假,一旦确定造假,基本都会直接pass。
2.总结自己的工作经历,稍微详细介绍相关内容,对相关技术细节以及扩展内容要有所了解。软件开发内容非常广泛,不可能门门精通,面试官一般从简历中找感兴趣点和亮点来问;工作经历中的难点以及如何解决,这个是经常问的,反映了面试者解决实际问题的水平,也是开发人员最看重的能力。
3.复习理论基础知识。这一点是工作经历较长的面试者容易忽视的,认为自己工作多年经验丰富,不屑于基础内容。实际上在对开发经验丰富的面试者,也会问很基础的理论问题,比如链表,排序,树,内存处理等等。这是因为在某些领域需要自己开发底层库,理论基础功底要非常扎实,才能从架构,性能,语言方面给出最优的设计和实现。
4.学有所专。在本人面试经历中,见过许多“全能型”开发者,从C++到Java,从网络到数据库,从图形到后端,从金融行业到医疗。但是面试后发现,一般都是只在最上层做一些小模块的应用工作,而且通常稳定性差。这其实是软件开发最忌讳的,没有积累,没有深入,就像猴子掰苞谷,门门通样样瘟。
5.行业背景。通常公司更愿意找相同或者相似行业的从业者,这是因为每个行业里有很多相关知识,如果有较多的相关知识更能理解软件的相关业务。所以不管从事什么行业,除了常用的日常开发技能,工作之余多花点时间学习理解业务知识。
6.刷题。现在不管大厂还是小公司,都会有笔试题。笔试的内容一般也都来自网上各大刷题网站。花时间多刷题目不仅有助于巩固基础,而且对技术本身也会有温故知新的效果。
7.好的沟通。这是本人体会最深刻的一点。在以往经历中,碰见过沟通能力较差的,所有面试官一致要pass,但是招进来反而成了技术骨干的;也有面试时娓娓而谈,毫无漏洞,满分而过,进来之后什么事都做不好的;还有面试技术很厉害,招进来后也确实厉害,持才傲物,和团队无法沟通,把项目做废的。不管什么时候,好的沟通,正面反馈一定是面试的基本要求。
8.面试官一般最看重面试者的是技能,学习能力,工作态度以及稳定性。
9.AI应用。现在找人基本都会问如何使用AI工具提高开发效率
10.最后可以介绍一下颈椎病保养经验,可以加分。
祝找工作的朋友都拿到理想的offer