面试有感
前言
因为公司项目的拓展,最近要招一些 Java 开发,我作为一面面试官来谈一下面试的感受。
我会从以下几个方面来聊聊面试这点事:
面试题
大家可能在准备面试时,会刷许多面试题,我这里分为基础题和算法题。
基础题:基础题的话,有许多是可以刷到原题的。这类题主要考的还是你平时的积累。这类题还可以反应出公司对这个职位的技术要求,一般都是出公司常用的技术点。你可以以此反向推测公司真实业务上使用的技术栈。
算法题:不一定所有公司都出算法题,不过公司如果要出算法题,那一般都是修改过的版本,不太可能在网上搜索到原题。准备算法面试,还是要多刷题,并尝试去理解算法题的套路,这样才能在遇到变种题时举一反三。
面试题是可以做到突击准备的,提前一两个月刷题,在笔试时可以显著提高你的分数。
简历
简历是整个面试的核心,面试的主要过程就是以你简历上写的内容来进行沟通。完全不按照简历内容,随便提问,甚至故意刁难面试者的公司,也不必考虑。
简历亮点
个人博客
有自己的个人博客,说明你善于总结和记录,并分享给网络。而且写博客可以显著提高自己的表达能力和总结能力。在面试沟通时,也能用到。需要注意的时博客要关注内容,不能为了写而写,全是流水账就没有意义了。
开源项目
拥抱开源,可以在空闲时,做一些小项目,你自己就是项目经理 + 设计 + 前端 + 后端开发 + 运维,在这个过程可以学到很多不一样的东西。并把它放到 Github 开源,不断优化代码,慢慢积累。项目逐渐完善时,可以做一些推广,不论项目有没有收到 star,都对你来说是一笔财富。
简历要避免的点
错别字
这里从错别字是广义上的,不仅有中文上的错别字,还有技术名词上的拼写错误,当然还有技术名词的大小写也尤为重要。
前两者就不再多谈,简历上出现这种情况,说明太粗心大意了,一定要自己完全审查一遍自己的简历,来杜绝这种低级错误。
代码中有命名规范,技术名词也有命名规范,关于技术名词的写法,很多人都不在意,如 java, spring, springmvc, mySql 这种写法屡见不鲜,其实每种技术名词都有其专门的写法,前面的应该写为 Java, Spring, Spring MVC, MySQL。如果实在不知道怎么写,可以去对应的官网,看他们的一级标题或者 Logo 中是如何拼写的。
篇幅过长
简历要简洁明了,不宜过长,不熟的技术点或时间跨度较久的项目没必要往上写。作为一个程序员,应当有对内容做归纳总结的能力。如果整个简历结构混乱,毫无重点,那么对你的印象会大打折扣。
要注意的点:
- 不会的技术不要写。
- 不熟的技术尽量不写,如果非要写,写了解即可。
- 项目经验中,不要写了很多的项目整体功能,但对自己负责的功能一概而过。
- 项目经验中,不要写 "废话", 如 "与前端进行接口联调", "负责库存模块的开发", "将文件上传到服务器" 这种笼统,基础,毫无亮点的话完全没必要写。要写你完成了哪种功能,给公司/项目解决了哪些问题/痛点,带来了哪些优点(节省了 xxx 资源,降低了 xxx 负载, 提高了系统的 xxx)。
- 个人介绍/个人评价,这种还是别写了。都是套话,毫无用处。
沟通
面试是双向选择的过程,双方是平等的,要不卑不亢,做到最基本的礼貌即可。
沟通过程中遇到不会的点,可以思考下后,和面试官说这个不熟,或不会。以快速进入下个话题,而不是一直卡在这。更不要自我否定或做过多的解释,说 "因为平时不常用", "只是做 CRUD,没有研究过更深" 这种话,会显得不自信,影响面试官对你的评价。
不说废话,不要牵扯太多无关的点,要简洁明了的回答问题。
面试过程中没听清,或没理解,直接说就好,不要含糊过去。
其他
其实面试是一个很看运气的事情,可能不是你自己的问题,只是面试官心情不好,或叫你来面试只是为了完成他们的 KPI。所以不要气馁,保持自信。