本次是自己校招之后的一些想法,仅供参考不面向所有面试。感兴趣的同学可以关注公众号,欢迎与我一起虚度时光。
面试流程
先聊一下常规的面试流程:
自我介绍面试官提问回答面试官的问题重复2,3向面试官问一些问题结束面试
万事开头难,这几个环节中我觉得最重要的环节是自我介绍了,个人感觉后面面试官的问题都是围绕你的自我介绍展开的。什么!面试官只问算法和源码??我个人感觉是你自我介绍没有亮点或者简历写的过于简单了,面试官没什么可以问的了才问算法和源码,有水平的面试官会发现你自我介绍时的亮点然后有针对性的提问,他们是去发现人才的,不是去浪费时间的,如果只问算法和源码直接笔试算法题就完事了。
那自我介绍都介绍一些什么呢?
上方的两句话就行了,不要太长没有意义,镀不了金
为什么介绍项目经验很重要
自我介绍中最重要的就是项目经验,如果你自我介绍的时候没有说,你的第一个问题90%是“说一说你映像最深的一个项目”之类的,为啥项目经验那么重要呢?我们来个对比例子,案例是我瞎编的:
第一种介绍项目的方式:这是我们实验室的一个项目,要求开发一个医疗数据的后台管理系统。采用前后端分离开发,我负责前端功能的实现,其中使用的技术栈是Vue+Element UI,目前项目已经完成并投入使用。(到此戛然而止)
看到这样的介绍,直观感觉就是是一个前端的项目经验,用了Vue和Element UI,前后端分离开发了,然后没有了!!这会产生以下几种情况
面试官get不到项目出彩的地方,直接略过项目。然后由于项目中提到了Vue,直接提问Vue相关的问题(漫无边际,不可控),包括源码。另外提到了前后端分离,再问问前后端分离开发的一些要点(也很多,你都会吗)算了,问点基础的吧,上 CSS & JavaScript ....
如果是这样,那你就做到了有项目和没有项目一个样。
第二种介绍: 这是我们实验室的一个项目,要求开发一个医疗数据的后台管理系统。采用前后端分离开发,我负责前端功能的实现,其中使用的技术栈是Vue+Element UI,目前项目已经完成并投入使用。由于是前后端分离开发,在开发调试的过程中遇到了跨域问题,我是通过xxxx方法解决的,并在之后对跨域方面的问题做了一些总结;另外,.... 之后的介绍类似,挑几个点讲讲自己的收获和解决思路。
其实第二种介绍就是增加了自己的总结和解决问题的方案,但是效果就不一样了(自我感觉)。比如,你提到了前后端分离,而且这次着重提到了跨域问题,这就无形的暗示面试官你可以问问我是不是真的了解跨域,很明显的缩小了准备的范围,这样就有意的将面试官朝着自己已经准备或者熟悉的方向引导。在我看来介绍项目经验最大作用就是引导面试官提问。
不要担心自己的项目low
首先建议你不要造项目经验,没有意义,除非你能够圆过来不然露馅了映像极差。然后,不要太纠结项目的好坏,关键是你怎么介绍,向上面的实验室项目完全可以作为自己的项目经验,就连课程设计的作业也可以。我自己参加校招之后的感觉就是项目不再大小在于你的思考和总结。一个有潜力的校招生会思考两个问题:(1)如果再让我做同一个项目我会怎么做?(2)如果继续让我做这个项目我该怎么做?这是面试官最想看到的优点。
简单的项目也可以阐释很多自己的想法,比如当时为什么用这个框架,为什么不用另一个;在发现一个什么问题的时候不理解网上的解释,于是Debug的方式看了源码,知道了啥啥啥;如果继续做这个项目,我会考虑用户量的上升改进什么什么;如果我再做一遍这个项目,我的数据库设计就不是这样了,这样设计会导致是什么什么查询变慢,为什么变慢?
我也见过有朋友介绍自己的项目,那是一个博客系统的开发,当时他介绍说使用了消息队列来优化评论数据的写入,当时我就问了一个问题,你的博客访问的并发量多大需要使用消息队列来处理,他表示不知道,这就很无奈,使用了技术但是不知道自己为什么用和使用的场景,我觉得就是减分项。
最后
准备还是要实打实的准备,我们不是为了面试而面试,这些技能都是以后吃饭用的。但有技巧的扬长避短还是可以间接的,这只是在介绍的时候有意的凸显自己的长处。