开题结束以后,已经是三月的下旬,当时我在考虑要不要回家,毕竟学校这里也没什么事了,我待在学校还得付出一定的花销。后来我考虑到在家的话,只有晚上才能够录课,而在学校的话,整个白天都可以录(室友白天要去实验室)。另外,大概是每年的五六月份吧,我们导师都会举办一个数媒交流会。之前的故事中也讲过,当我通过研究生复试后,在家收到了老师的通知,让我参加这个交流会,我没能参加还惹得老师有点不高兴。研一的时候我参加了,不过主要是负责打打下手,大概举办了三天的时间吧,每天还赚到了一百块钱的劳务费,这也算是三年来我第一次从老师那里得到报酬了。而这次尽管我和老师的关系出现了僵局,但是他如果还要举办的话,我也是得参加的,免得又惹他生气。但是他这次究竟还会不会举办,并不确定(我也不敢问),因此我就打算等到六月末再回家了。
当时和那家公司合作讲课,他们还是希望我能够把我以前讲的课重新录制一遍,按照他们要求的分辨率,课件格式以及桌面背景等进行课程的讲解。那么我之前大概是录了有三四十节课吧,这些重新录制的课是不值钱的,每节课付给我50元的劳务费。看上去不多,但是有总比没有强。我在研一的时候,学校每月会发给我们250块钱的补助,到了研二,才终于涨到了700块钱,但是这700对于我来说,连吃饭都不一定够用,所以我当时确实需要额外的收入。按道理,研究生跟着导师做项目,规定说一个月至少也得给两三百,可是我们导师没有项目,那就一分钱都没有了。
由于是重新录制,那么进度还是挺快的。之后还推出了一些新课,我的劳务费也是涨到了一百一节或者两百一节,最后那个系列的课程涨到了三百一节。但是录制新课由于需要备课,一方面要保证我的内容要有技术含量,另一方面要保证课程中的内容可以被学员复现,所以很可能为了一节十来分钟的课,我需要几天的时间进行准备。这么看来,对于新课,我一个月也录不了很多。这个时候录课还有一点和之前不同的是,我之前录课都会做好非常充分的准备,录制时候力求一气呵成,最大限度地避免卡壳情况的出现,因为我当时不会编辑视频。而现在我知道了怎么对视频进行裁剪,那么在录制的过程中,即便是讲错了也不怕,把这段重新说一遍,说错的部分剪掉就好了。并且在录制的时候,我还会准备一个iPad,把这节课的讲稿装进去,我就可以 “照着念”了。这样一来,我讲课的时候并不会有什么压力,录制起来还是非常轻松的。
那个时候,如果我一个月录课勤快一些,那么一个月挣的钱也足够我的吃穿用度了。好的时候甚至不比那些在BAT实习的同学差,因此我还是比较满意的。而为了让大家明白我所讲的内容,我会把知识点讲得很细,这就需要我查询大量的资料来把复杂的问题说明白。而在这备课的过程中,我也能够感受到自己的水平在不断地进步,主要是自己的实际动手操作水平,可以说又是一次飞跃。因此我讲课,不单单可以挣钱,甚至还可以提高自己的水平。
我的三个室友,尽管他们的导师也没什么项目可做,但还是被要求每天去实验室待着。所以那个时候我一般选择晚上等他们回来之后我再备课,等他们去实验室之后,再把前一天备好的课录制成视频。周六周日的话,除非他们回家了,要不然我只是备课并不录课。似乎是在打游击,但也就只有这样,我们相互之间才不会被影响。
2015年的三月份到六月份,我的主要任务就是一心一意地录课。六月份我见老师那里似乎并没有举办交流会的意思,于是我就打算回家了。某天无意之间逛了逛看雪的招聘板块,赫然发现珠海金山(猎豹移动)正在招聘反病毒工程师,顿时感觉自己的机会来了。
“猎豹移动”招聘
赶紧在看雪的求职板块创建了自己的简历,然后在招聘贴的下方留言问楼主,我适不适合反病毒工程师的职位,并给出了我的简历链接。我这次的简历和上次的相比,自然是要丰富得多,变化主要在工作经历以及专业技能方面:
工作经历:
某在线安全培训机构担任特约讲师(兼职),主讲《病毒木马查杀实战》、《缓冲区溢出分析》、《恶意代码分析实战》以及《软件调试》等。
专业技能:
1、熟悉病毒木马常用的分析方法,并制作专杀工具。
2、熟悉病毒木马常用的免杀方法。
3、了解漏洞产生与利用的基本原理。
4、有逆向分析功底,分析并修改过几款知名单机游戏的十六进制存档文件(如仙剑奇侠传,FIFA等),逆向分析过验证算法,并编写过序列号生成器(如冠军足球经理等)。
5、熟悉常用安全类工具的制作原理,如U盘防火墙、任务管理器、系统行为监控程序等。
6、能无障碍阅读英文MSDN等技术文档,翻译过一些计算机类英文文档资料。
没想到竟然遇到了热心网友,他以前是珠海金山毒霸部门的,帮我把我的简历转给了毒霸负责人。但是我觉得仍然不保险,于是又去了爱毒霸社区,发了一个求职贴,社区的人员也是做好事,帮我把我的简历转交给了招聘负责人。
遇到好心坛友
大概过了五天吧,收到了金山工作人员的邮件,目的是和我确认一下,是不是要应聘病毒分析的职位。在得到了我的肯定回答之后,他说会把我的简历交给HR。尽管这一系列的转交很是复杂,但是我觉得这次有戏,应该有机会参加面试了。
没过多久,有天晚上大概是八点多吧,突然接到了金山面试官的电话(搞突然袭击是要学腾讯那一套吗?八点多还不下班,看来是专门来面试我的)。他说他是毒霸开发工程师,问我是不是要应聘C++工程师的职位。我一愣,赶紧说不是啊,我投的是反病毒工程师的职位啊。他也楞了一下,但还是坚持要面试我,我心想那好吧。其实那次的面试,我和他聊得不错。可能是因为他平时做开发的缘故,并不是反病毒工程师,因此在反病毒方面,他问我的问题,我基本都能够回答出来。但是他问我的关于C++特性以及开发的问题,我就有很多都不知道了。其实关于C++的知识,他所问的都是非常经典的问题,XX面试宝典上都能够找到详尽的答案。因此我建议那些有志于做开发的朋友,面试之前好好研究一下XX面试宝典之类的书籍,还是非常有用的。
《程序员面试宝典》书籍封面
双方谈的很是愉快,给我感觉自己的发挥比面试腾讯时候还要好,甚至一度觉得,如果毒霸开发部门肯要我,那么我去做开发也未尝不可,大不了去之前恶补一下编程知识,我觉得我还是能够应付得来的。另外,聊天的过程中他还特意提到了我的CSDN博客,说我的文章写得不错,他也是第二个肯定我的博文的专业人士。
面试结束后的第二天下午,我就接到了二面的电话(按照我当时的编程水平,竟然也能通过开发部门的一面,实在是让我惊讶)。一般来说,二面就是部门主管的面试了。但是令我万万没有想到的是,面试官竟然是我的初中同学,他竟然在金山,在安全领域工作。不过他给我打电话,主要是确认一下我到底是不是要投反病毒工程师的职位。我说是,于是他就说会把我的简历转交给他的同事。因此严格来说,我并没有经历开发部门的二面。
大概过了两三天吧,某天上午接到了猎豹移动的人事给我打的电话,约在下午对我进行电话面试。看来金山的毒霸部门,开发以及反病毒是两套班子啊,只有给反病毒投简历才会让人事提前通知应聘者。想想也是非常感慨,一年以前面试失败一直到现在的第二次面试,中间真的是发生了很多的事情,最大的变化在于,我的水平已经不可同日而语,我也坚信这次是我入职金山最好的机会。与前次盲目的自信所不同的是,我这次是做好了充分的准备,我认为我的能力能够胜任反病毒工程师这个职位。
那天中午依旧没睡好,下午面试电话如期而至。这个面试官给我的感觉,从声音上来判断似乎还是一年前的那位,包括从面试的问题上来看,也是由浅入深,由基础到高级的顺序提问的。由于是电话面试,加上并不是突然袭击,那么其实在那次的面试中,我是有“作弊”的。也就是面试官边问,我边打开我的相应博文(主要是技术面试系列),找到答案念给他听,这也说明面试还是会有一些重复的问题的。说实话,我完全可以不作弊,毕竟我之前的一系列面试,我都是见招拆招,会就是会,不会就是不会。但是这次的这个面试官,他问的问题非常细,坚持让我说出具体的实现方式。我这人记性还差,不可能把所有东西都记得那么细,毕竟安全领域的知识多且杂,很多东西我仅仅记得一个大概。假设我在实际的分析过程中遇到了这个问题,我只要知道应该去哪里找答案就可以了,没必要完全凭着记忆力来应对所遇到的问题。因此我真的觉得面试官有点钻牛角尖了,所以对于这样的问题,我只能作弊了。
常规的关于反病毒的知识问完以后,我自己觉得回答的还不错,并没有像上次那么惨烈了。接下来他又问了我一些拓展以及高级的问题,比如漏洞挖掘,网络协议分析以及手机病毒分析等。这些东西我都不熟甚至根本就不懂,因此是我的减分项。面试的最后,我还问他,你觉得我能够胜任这个职位吗?他说我的基础不错,特别是对于PE结构非常了解。我心想当然了解,这部分都是照着念的啊。挂了电话,我就很自信地等消息了。
第二天下午,突然接到了二面的电话(病毒分析部也搞突然袭击了),估计这次的面试官是主管了。令我非常不解的是,他问的问题都比较深也比较广。比如问我如何过主动防御,其实这个问题就涉及系统底层(内核)甚至是漏洞的知识了,有可能还需要用到一些社会工程学的技巧,我只能说不知道了。然后又问了一些关于漏洞利用的比较高级的知识,我也不太懂。最后还问我懂不懂Web安全,我说不懂(我和Web Security还真是有缘)。他问我除了病毒分析还会什么(看来他是认可我的分析水平的),我说我只会病毒分析。说到这里真的很奇怪,两次的面试经历,总感觉金山招病毒分析就是个幌子,他们实际想要的是那种全能型的大牛,什么都懂,什么都会,能够以一当百,如果是这样的话,那么我确实不符合条件了。
最后,我希望他无论我面试通过与否,都告诉我一个结果,他也答应了。感觉金山的二面,我的发挥并不好,心里还是很没底的。这就要看主管的选人标准了,如果是想要找一个纯粹的病毒分析师,那么我完全符合条件。如果是想要找一个大牛(我估计招到这样的人很困难),那么我也就只能靠边站了。
二面结束后,我也就回家了。万一通过了,那我就可以直接上班了。
回到家以后,我也是挺清闲的,每天也没什么事干,一门心思等着面试的结果了。这次我能够闯进第二轮,也算是一个很大的突破了。同时还发生了一个小插曲,使得我相当于参与了金山的四轮面试,两轮是开发部的,两轮是分析部的。
本以为过了一个星期也该出结果了,可是我左等右等也没有音讯。记得去年也不过是过了四天就通知我了,而这次这么久还没消息,到底是被刷下来了还是他们正在走流程呢。过了将近一个月以后,我登陆猎豹移动的官网,发现他们更新了招聘信息,还要招聘反病毒工程师。我终于等不下去了,觉得我有可能是被刷下去了。当时我手机里面还有一年前的面试官的电话,于是我就给他发了一个短信来询问情况。因为我始终感觉这次的一面也是他,即便不是,那么他作为金山的员工,大概也能够知道我面试有没有通过。
过了有一两个小时吧,他回复我了,但也仅仅回复了一个“?”。我还以为之前那条短信没跟他说清楚,于是又把事情详细地说了一遍。我说六月份的时候参加了金山反病毒工程师的电话面试,并且也结束了二面,可是现在将近一个月过去了,还是没收到消息,就想问问您知不知道我的面试结果。他回复我说,他已经离职了。我本以为这次的一面还是他,但没想到他竟然已经离职了。你不想在金山干,我还想呢啊,怎么就不珍惜这么宝贵的机会呢,想要进金山是多么不容易的一件事啊,你看时隔一年,我都已经面试两次了,说明还是有很多人向往这家公司这个职位的。然后他和我说,一般来讲,二面结束后,如果通过了,那么很快就会入职的,而我这次已经等了将近一个月的时间,那就说明我已经被刷下去了。
时隔一年,再次感觉自己跌入了无底深渊,努力了这么久,到头来结果还是一样。最后我问他,方不方便透露一下金山的待遇,可不可以告诉我你现在在哪里上班。结果他就没再回复我了。其实从去年的面试,我就已经看出来,他是一个大牛了,懂得多,懂得深,似乎没有什么东西是他不知道的。同时也发现了,金山的人员流动性还真是挺大的。也许是待遇低的缘故吧,才会留不住大牛。其实也还是我之前提到过的那个老问题,企业究竟应当选择自己中意的人,还是中意自己的人呢?
由于我家离金山很近,差不多也就是隔了一条马路,那么我出门的时候难免会路过金山的大楼。每当我来到金山楼下,特别是在午休或者晚上下班的时候,看到金山的员工三五成群地出来,我的内心就很是羡慕。其实不论待遇如何,我都是想去工作的。可惜我对它落花有意,它却对我流水无情。
珠海金山大厦
至此,我与金山的故事也就结束了。当时我甚至还想,要不要试一试投一下毒霸的开发或者是WPS的开发部门呢?考虑到自己非常渣的开发水平以及可能要面对的无尽的加班,还是非常犹豫的。后来到了九月份,赶上了他们的校招,于是我就在网上投了C++开发工程师的岗位,可最终也没有回音。
“猎豹移动”C++开发工程师(校招)
事后想想,那次我应聘金山,竟然是我最后一次主动给用人单位投递求职简历,再往后就没再主动投过任何一家公司了。