科协前辈的阿里面试经验转载1
## 0x1 前言
鉴于网上对于 `安全工程师面试经验`搜索并未有一些值得借鉴的经验,本就决定这次面试过后不论成功与否,都会记录这一过程以及一些细微的体会。这次面试侥幸取得offer,使本文有一定说服力,希望能对以后面试的同学产生一定的借鉴价值。
## 0x2 流程
阿里的面试每年有春招和秋招两次,春招和秋招互不影响。每次招聘都会有内推和笔试的两种形式。内推的意思就是内部推荐,可以请当前正在阿里工作的学长、学姐帮你把简历通过内网直接发给相关的部门进行简历筛选,而不用经过笔试阶段。内推的时间段在笔试之前,没有内推成功的同学可以继续参加笔试。笔试的流程要先经过在线答题,答题成绩通过方可进入后面的面试,具体后续流程我不太清楚。在这里首先要推荐大家走内推,原因如下:内推不用笔试,就算过不了还可以继续接着笔试。学长学姐帮你内推、补充简历之后要做的就是等待,你投的部门会根据内容好的简历的优先安排面试。内推的面试一般都是电话面试,因为不同岗位也会有可能有视频面试,我接到的都是电话面。面试一般有4轮,3轮技术面+一轮hr面,如果都过了的话很快会收到阿里的意向书(也就是大家口中的offer)。我听说的别人的面试(研发)基本都是1个小时以上,很漫长的过程。而我的面试每次大概10分钟以内,我想这也是因为搞安全的行事风格都比较直截了当。
## 0x3 准备工作
面试的准备主要有简历,项目,博客……等等。下面我分开来叙述。
#### 准备的时机
因为面试在3月初,很多人寒假里就在准备面试了,而我因为一些原因一开始没有打算面阿里,到了学校2周之后才开始手忙脚乱的开始准备面试,科协的小伙伴都拿到offer了我才开始写简历哈。这里要说的就是应该早做准备,蓄势待发。
#### 简历的内容
因为是要面安全岗,最好简历写的简单一些,很多不必要的信息(和你面试这个岗位能力没关系的信息)就不用出现了,因为搞安全的人行事风格就是简洁明了的,写的内容目的性不明确反而会找不到重点。重点落在实干,你会什么,属于什么程度的水平(千万不要写精通,你懂得),做过的项目附上github超链接,论坛发过的帖子附上超链接,参加过的一些比赛以及奖项(没奖的建议就不要写了)。如果有个人博客,把博客的地址也写上,另外一些电话,邮箱等个人信息看着写吧。
#### 项目
项目反映一个人的代码能力,搞安全的不要求代码能力很强,也不要特别高深的算法。有专门做过项目的最好,没有专门做过的项目起码也会有几个自己学习某项知识的所写的验证性的工具之类的。总之,项目不是重点,但是得有得说。
#### 博客
在科协,我们鼓励每个同学都能有一个博客,最好是亲手搭建的,怕麻烦的也可以用现成的一些博客(CSDN,博客园……)。博客的内容反映了你学习的历程,起码是对你学习热情的很好的展示,也是对学习过程不断的思考的过程。
#### 论坛
学长曾经说过,“搞安全的一定要混论坛”。起初我也是对这句话不以为然,殊不知这才是口口相传的武功秘籍。信息安全具有攻防对抗的特点,就注定了它发展迅速的命运,一攻一防,互相都提升的非常迅速,而教材往往跟不上时代的趋势,反而在一些课程当中涉及到的内容,已经是在实际应用领域内早早淘汰的。要了解信息安全当前真正的发展趋势,必须得去论坛学习,切磋。如果有一两篇不错的帖子,基本就奠定了面试会很顺利。
## 0x4 一面
我投的方向是移动安全,投出简历一天半的时间,晚上借到了电话面试。面试官的声音比较沙哑,恰巧有校园广播在外面声音比较大,导致我不能非常清晰的听到他的话,于是和他约好7点左右再打过来。正式进入面试之后,一面针对我简历中的写到的技能提问了一些比较基础的问题,例如逆向分析时如何确定一个结构体,IDA如何定义一个枚举值,对漏洞方面有哪些认识,写过多少代码…… 从一面的问题也能看出来问题都是很贴近实际应用的一些问题,如果平时真的又在做这些,基本上就不会有问题。最后问我工作地点倾向于北京还是杭州,问我有没有什么想要问他的,然后就愉快的结束了一面。整个面试过程节奏很轻松,基本上问题都是秒答的。
## 0x5 二面
二面是在第二天早上打来的,和一面不一样的是,面试官声音很清脆。上来直接问我你觉得你的逆向到了什么水平了,一时之间不知怎么回答,就跟他说一般CTF能做2~3题。然后他又问我一个问题,遇到VMP这种很强的保护,各种花指令,各种反调试的时候怎么跟踪出他的核心算法?我对VMP的学习仅限于学习层面,并不能解决这种很实际很棘手的问题。于是跟他说了我可能解决的方法,但是不是他想要的答案,不过中间跟他说了我解决一般问题的策略,虽然这个题没答对,因为这个题的难度在这里,我想也不会过不了。之后他问我平时是怎么学习的,我说论坛看帖,做CrackMe。然后他直接就问我论坛的ID是什么,我告诉他简历上有我发的帖子的链接,刚好是2篇精华贴,跟他说了说当时的学习心得。然后他就直接问我他的问题没了,我有没有什么想要问的,二面也这样结束了。实际上,在二面中,还是在论坛发的帖子起到了很大的作用。
## 0x6 三面
三面是一次特别轻松的面试,在整个面试过程中,面试官没有提问任何技术性的问题,而是像聊天交流一样,让我讲讲在学校学习了哪些方面的内容,写过哪些项目,能实习多久。后来非常奇怪三面会是这样一个过程,向学长询问。学长说三面一般不会拘泥于具体的技术,而是对整体技术比较看重。
## 0x7 四面
四面是一个hr妹子的面试,有学长说过hr面就是聊聊天,有什么说什么就是了。先问我在大学的在安全方面学习的过程,按照时间顺序,一一叙述了大一到大三中间的学习过程,等于是把简历的内容填充一下说出去。然后她抛出一个很棘手的问题,问我学习成绩如何?虽然尴尬,但是也只能如实的说成绩比较差,属于中下区间的学生。又问我毕业是打算考研还是工作,为什么?我说我毕业打算找工作。因为我认为信息安全是一门实践性很强的学科,在学校里学习到的知识是有指导意义的,但是在工作实践中检验成果是我更加喜欢的方式。虽然热爱信息安全,但是自身不是一个循规蹈矩的学生,感觉不想读书了。其实更实际一点的说法就是基础太差,就算复习一年估计也不一定能考上研究生。然后hr就说下次可能会再联系我,然后就挂了电话。
## 0x8 总结
整体来看,公司招人的需求就是掌握一定当前实际需求的技术,并且程度在刚刚入门的范围内即可。引用张伟老师曾经说过的话就是“学校开设的课程和公司的需求有一定的脱节”。所以从平时的学习上来讲,作为信息安全学生的我们,不仅要在课堂上学习,还要在课堂下积极主动的学习一些前沿的技术。一口气写了这么多,其中文字难免疏漏或出现错误。再者因个人体悟可能会出现偏差所以在此声明所谈经验仅供个人参考。