一直关注我博客的朋友应该知道,我以往参加过许许多多公司的面试,这里面既有网络安全类的企业,又有传统的制造业等企业。甚至由于工作需要,我还简单的面试过一些学生。而在这五花八门的面试过程中,我其实也是发现了一些怪现状,是以往的博文所没有涉及并专门进行分析的,因此这里也是借助于本篇内容,来回顾并梳理一下。并简单讲讲,什么是我心目中比较好的面试方式。
我参加过许多次安全类企业的面试,尽管是病毒分析师的职位,但是面试时都会涉及Web安全、漏洞挖掘以及系统内核等知识。可是我在之前那家公司工作的时候,他们作为世界最顶尖的安全企业,我每天的工作并不会涉及这些内容,而是只要提高自己的病毒分析技术就好。并且,面试时也没问我上述那些问题,更多的是对我过往的分析经验的了解。而且作为分析师,每天都要对遇到的病毒进行特征的提取工作,因此面试时也问了我该如何提取病毒特征,也就是说,他们问的都是和实际工作相关的内容。
还有一点就是,很多面试官喜欢问一些奇怪的问题,涉及很多的细节,比如PE文件的结构。我承认,结合我的实际工作经验,这些细节确实很重要,但是我的脑袋又不是计算机,不可能记住那么多的细节,工作中遇到此类问题,只要搜索一下就好了,都是有现成的答案的,也就是说,解决问题的能力是要比记忆力更加重要的。而面试官似乎就是一根筋,就必须让我背出来这些技术,我说一个大概的方向却得不到他的认可。当然了,每个人都会有自己的标准,这个我不怪他。而由此也是让我深刻的感觉到,正如网上所说的那样,现在的面试,总会问你原子弹是怎么造的,而实际入职之后,却只是让你去拧螺丝。
其实不单单是计算机安全领域的面试,即便是正常的开发企业的招聘同样会有这样的问题。因为我在大学任教,也是带了一批又一批的毕业生,他们在面试求职的时候,回来反馈时同样会和我们说这样的问题。自己在学校的项目组明明已经独立开发了许许多多的功能模块,是项目组中的技术大拿,而且我们的项目也是得到了非常广泛的应用,但是一到单位去面试,他们问的那些问题都是自己闻所未闻,见所未见的,似乎恨不得直接让你开发个操作系统、编程语言或者是类似于VUE这样的前端框架出来。如果不是提前熟读了《XX面试宝典》,那么面试官问的这些问题他是根本不可能回答出来的。面试官所提及的那些东西,甚至是求职者这辈子都不会接触的,因此这就是我认为当今面试的一种怪现状。
我在之前的文章中提到过,2017年夏天,当我从北京回到珠海以后,也是应聘了几家安全公司。面试中也是旁敲侧击地问我,之前公司是如何收集最新的样本以及关于产品查杀的一些技术细节之类。其实还有一家大型传统的制造业企业,当我投递简历应聘他们的网络安全工程师以后,他们的网络中心很快就对我进行了电话面试。但是面试中也没有问一些专业方面的东西,技术方面仅仅问我有没有接触过ISO标准以及有没有实际的网络布线和路由器等设备的配置经验。我说我之前也没有条件接触这些,而且我心里想,这应该是网络维护人员的工作吧,我一个安全工程师也要做这些吗?
接下来他话锋一转,问我,他们公司使用的是赛门铁克的网络安全软件,但是他发现这款软件总是出现疑似误报的情况,特别是对于文本类的文档,总会报毒,问我是为什么,如何解决。我当时就依据我的病毒分析经验,结合我对于安全产品的理解,并且结合我之前接触过的客户的实际情况,说了一下可能的问题,以及如何解决这些问题。比如杀软经常性的报毒,那么很可能你们的系统中真的存在许多恶意程序,毕竟你们是这一行的龙头企业,会有很多人觊觎你们的重要信息,加上员工的安全意识不足,就会导致病毒的泛滥。如果不放心,也可以把发现的疑似恶意程序上传给赛门铁克的技术支持,或者我也可以进行判定,从而彻底弄清楚究竟是不是误报等等。
接下来他就没问什么了,说让我等人事的通知,我以为这件事就这么定下来了,但结果左等右等,什么也没等到。事后想想,也许他就是想通过我来免费的得到一些专业的技术支持吧。
还有一家全国闻名的大型软件企业也是类似的情况,他们的网络部门也是招聘网络安全工程师。在终面环节的最后,面试官说,既然我写的文章还不错,那就给我分配个任务吧,假设我能够入职,那么我的工作要如何开展以及需要公司给我提供什么资源呢?让我以PPT的形式提交就好,24小时之内完成。
其实这个难不倒我,毕竟我有安全培训和实际的病毒分析师的经验,加上也总写文章,归纳总结能力还可以。于是首先完成了一份三千多字的WORD文稿,从收集以往集团遭受过的攻击开始,分析攻击的可能成因以及由这个攻击我们应该如何预防,一直到后面假设我入职,我会采取什么措施等,比如对员工定期进行安全意识的培训,系统升级,甚至是直接由我去挖集团内部的项目漏洞等等,也算是把我在之前单位的个人技术积累都展现出来了。还做了一份图文并茂的PPT演示文稿:
并且在规定的时间内将WORD和PPT文稿发送到了对方的邮箱,对方也回复我说已收到,谢谢。可是同样的,这个求职又是石沉大海了。我突然就很感慨,诚然,也许对方就是想通过这样的方式来看看我的能力,但是这种做法实在是没有考虑过“避嫌”这件事。我承认,我很可能是被技术水平更强,更有经验的人给刷掉了,可是这样的公司利用我的经验我的技术来免费获取资讯以建设自己的网络部门的做法,实在是有些说不过去了。我的方案确实不完美,但是也一定会有闪光的方面,俗话说“三个臭皮匠赛过诸葛亮”,每个人的闪光点的集合,就一定能够迸发出极大的能量。当然了,也许是我想多了,但是用人单位在面试时,尽量去“避嫌”,难道不是应该做的吗?考察我的专业素养以及PPT技能,完全可以用别的课题来考核,而不是利用未来在他们公司中可以用得上的东西进行应聘者的面试。因此这就是我认为当今面试的第二种怪现状。
我始终觉得,在进行员工招聘的时候,其技术水平并不是放在第一位的,最应该注意的是他的工作态度。当然了,我也承认,几十分钟的面试,基本上是很难看出一个人的态度是怎样的。那么这里我可以结合我自己的一些实际经验,来举例说说这个问题。
我们学校的本科学生是在大三第二学期选择自己的毕设导师的。我们学院执行的是“双向选择制”,也就是说,不单单这个学生要喜欢老师的研究方向,而且这个老师也得认可这个学生的能力。说白了,需要双方看对眼才可以。其实一般来说,这是研究生选导师的阶段才会采取的制度,我们学院本科教学就已经纳入了这种方式,因此我觉得还是很棒的。这就和我的本科形成了鲜明的对比。我记得我本科选毕设,是在班会上,有一张大概A3那么大的纸,上面写满了五花八门的毕设题目来让大家选,喜欢哪个,就在旁边签下自己的名字就好。奇葩的是,这张纸是从第一位同学往下传,于是就导致坐在后面的同学很可能选不到自己心仪的题目了。而且,A3纸上仅仅有题目,并没有说明这个题目归属于哪个老师。我当时选的是一个写营销策划书的题目,带我毕设的是一个女老师。但是整个毕设期间,她去生孩子了,几乎没管过我的毕业论文,因此我的毕设完全是在我惊人的理解能力之下完成的。
话题扯远了,再说回我们学校。其实我给大家上课的时候,就和同学们说过,由于我们采用的是“双向选择制”,因此你不单单要对我这个人和研究方向认可,你也得获得我的认可才可以。那么我的标准是,首先你要认可我们项目组的各种规章制度,比如参加项目培训,完成指定的项目开发,保证出勤等。其次,还需要现在就让我看到你的工作态度,我说如果你本学期的作业(实验),只要有一次我给你打了100分,那么只要你想,就可以直接选我作为你的毕设导师,我没有任何意见。而如果说你只要有一次是95分,那么这就还需要我再面试一下你,聊一聊,才能最终确定我要不要选你。其它分数的,我就不再考虑了。因为我对待大家的作业(实验)的要求是非常严格的,基本上要达到写书的水平,才可能拿到100分,比如像下图这样:
而95分的意思是,作业(实验)在内容上我已经挑不出毛病了,但是可能在格式排版方面存在欠缺。因此我就是通过这样的形式来考察大家的工作态度的。而结果也证明,这种方式还是很有效的,符合条件加入项目组的同学,后来的表现都获得了我们老师的一致认可。
还有一个同学我记得比较清楚,他没上过我的课,但是却想选择我的前端开发方向。我就决定当面和他聊一聊。但是他说他这些天总要去练车,让我找个他不练车的时间进行面试,于是这就使得他在我心中打了折扣。因为一旦我选择了他,很可能在整个毕设阶段,他会有各种理由不参加项目组的工作。面试中我还了解到,他一直在帮另一个老师做项目,但是那位老师却没选他,所以他才来找我的。这就又让我在心中对他打了折扣了,因为如果他在那位老师的项目组表现很好的话,为什么那位老师不选他呢?而且他目前依旧在帮着那位老师做项目,而以后如果加入我们这边,他究竟会两边跑着做项目,还是说依旧在那位老师那里做项目,在我这里仅仅是辅导一下毕业论文的写作呢?这些都是未知的,所以我觉得选他要慎重。
接下来我还问了一些简单的技术问题。因为我知道他做项目用的是VUE开发框架,于是我就问VUE框架和以往不用VUE的项目比,优势在哪里,他回答不出来。然后我又问了一个我们项目中总会使用的一种功能的实现方式。也就是在前后交互中,我们前端向后台申请数据查询,根据实际情况,可能有时会给我们返回一个人的信息,有时可能会返回多个人的信息,那么我们前端应该如何依据查询出的数量,以表格等形式,动态绘制并显示出这些人的信息呢?结果他也不知道,这就很让我怀疑,他在那位老师的项目组究竟在做些什么了。尽管我们项目组也缺会使用VUE的同学,但是综合考虑他的情况,我最后没有选他。而且他还急着去练车,因此也就结束了面试,随他去吧。
以上就是我依据我的实际经历得出的一些结论,也许未来我会遇到更多的人,更多的事,使得我拥有更丰富的经历,到时我还会再与大家分享的。