从三月初到四月末,从完全懵逼到熟悉各种套路,从耿直实诚到睁眼说瞎话到最后各种吹水,看了不少面经,是时候也做一些细微的工作了。
先来说说面试体会吧!其实每年春招秋招,总有这么一类人,简称offer收割机,这类人一般出身名校,要不比赛经验丰富(CTF赛棍),要不工程能力极强(github一天的star比我一个月的还多),要不精通算法(ACM各种大奖),这类人面试一般面一家就拿一家offer,其中不乏sp,甚至于单独谈待遇也不在少数,部分这类人的无理性收割也间接促使各大主流互联网增大了备胎池的容积。让我等成为了备胎, 我的面试也是从备胎开始的。
阿里:
3月6号完善简历,3月8号9点找学姐要了内推,一个小时后面试(猝不及防)。人生第一次面试,安全部,完全没有在准备,基础知识大部分都忘了,就靠一点印象强答,45分钟,跪着面完了,给自己的春招开了个不好的头,以为自己必挂,结果迷之过了,现在想来,估计也是这面的评级让我成为了备胎,过了太久了,现在还能记得问题如下:
1:7*10的优化(移位和加法)
2:什么是cow,以及cow在内核的实现
3:TLB机制,以及分页分段的优点,原因。
4:虚拟存储的优点
5:在相同环境下,同一个程序连续运行两次,时间有很大区别,可能吗?为什么(肯定可能呀,否则还问)
6:hook原理以及应用
7:函数调用的准备
8:C++构造函数能不能是虚函数,为什么?
9:汇编
10:假如公司要你逆向别人公司的软件,你会怎么做(回答之:这样做不道德,还和面试官争了几句,后来画风就彻底变了,被往死里问了,哭晕)
之后,3月10号,没接到,3月15号没接到(当时以为肯定自动挂掉我,后来接到了还是很激动的)
3月21号:阿里云面试(57分钟),以为换部门,还是挺开心的,毕竟一面的评价肯定很低,聊得还是挺愉快的,个人感觉项目面还是比基础面愉快的多。
1:常见的漏洞的利用技巧,缓解措施的绕过,分析过的cve,挖过没(答:没有,一般以pwn为主)
2:吹项目,这能吹很久,延伸了一些内核(Linux)对抗上面去了,如何防御自己写的东西(内核的病毒)
3:如何设计一个完全防御sql注入的系统(什么鬼,怎么扯到Web安全了)
4:怎么以最快的速度扫描整个因特网的主机存活主机。
5:docker安全机制实现
6:badtunel漏洞原理
7:聊人生,自己在学校干的一些事情,参加的一些ctf比赛(比较野鸡的一些比赛,萌新求大佬带飞),线下awd的体验
总体感觉还不错
3月28日:安全部面试(什么鬼,又回到安全部)(39分钟)
又是项目面,把阿里云说的重新说了一遍,又多扯了点计算机网络,
4月7日:大Boss面(41分钟)
瑟瑟发抖面完这一面,印象不是太深了,只记得一直怼我为什么不读研,说面到他这里的基本都是研究生,看样子对我这本科很不屑的样子,说本科生对东西的理解还是有很多欠缺啥的,学的东西理解不够深,自我感觉很不好。加上一面的悲剧,感觉会跪,结果蜜汁过了,评级应该也不高。
1:安全的未来趋势,对它的理解
2:参加过的安全相关的大的实践
3:写的项目那些人在用,然后又被鄙视了一波。
4月10日:hr面(28分钟)
hr小姐姐的声音很好听,聊得很愉快。基本聊学校经历,自己怎么处理矛盾,平时干些什么呀,认为自己有什么优点缺点呀,认为阿里怎么样呀(往死里吹呗!当然别吹的太明显了,含蓄一点),感觉不踩雷区,价值观正基本没什么问题。
结果:备胎了(没希望了),意料之中的事情,面完一面之后就知道除非换部门,否则就算面完十有八九也是备胎的命
360:
蛋疼的安全星,视频没兴趣看,120分钟笔试,准备好好做,结果发现就出了一些不知所云的选择题,不知道在讲些什么东西,目测跟视频内容有关,不出意料,挂。
腾讯(唉):
内推没填事业群,杳无音讯。笔试(主要是Web题,小部分Android,完全没给我二进制狗活路),挂。哭晕在厕所了,二进制安全要的本来就少了,360和腾讯是主要大户呀,笔试都挂了,怀疑人生,完全没心思学习了。
华为:
特别水,get,面试官不懂安全,感觉面试就是在科普二进制安全,后期没什么好问的了,就一直问我成绩,尴尬!但这个套路我懂呀,一路吹水。可惜没有漂亮的hr小姐姐,只能和终面大叔谈笑风生。前两天深圳华为公共云还加我微信一直劝我去他们那实习。感觉华为安全岗真的很缺人,可搞安全的本来就少,目标院校的就更少了,目标院校愿意去华为的就更更少了。那么大一家公司不会为一个安全岗破例降低学校的要求,这也是大公司病吧!
总结:只要学校达标,运气别太差,懂点套路,基本都可以拿到吧。
深信服:
get。当地有它的研发中心,笔试纯粹算法,c细节。面试就对着笔试题问。水
京东:
之前笔试挂了两家,难过。决定拿京东练练手。和面试官聊天来看,京东相对阿里来说,还是有一定差距的。
一面,很有套路的基础面(18分钟,最短的一次面试了,记得面试题如下):
1:怎么让Linux脚本开机运行
2:Android和Linux的权限机制有什么不同
3:Android开机流程
4:如何脱壳
5:漏洞类型,和利用姿势
6:Linux如何利用ptrace注入,实现hook
二面,挂的猝不及防(21分钟):
开始,自我介绍。聊了一会,说换个二进制安全的面试官(这个面试官是Web安全的)。十分钟后,换了个Android安全的。聊得挺好的,都聊到我到部门该干些什么了,现在需要准备做些什么了。最后,我问我在技术上有什么 不足吗?面试官答:在你这个年龄阶段,已经很不错了! 我:还是要向前辈学习呀(套路)
以为自己稳过,回头一看。。。未通过。真是猝不及防。想来想去,二进制安全找工作真的很难呀!也正是这次面试失败,纠结了很久,打算转Android安全了,福兮祸之所伏,祸兮福之所依,二进制安全的学习真得靠情怀,看来情怀值还是不够,就算拿脸凑,也差远呀,唉!!!
南京趋势科技:
get。无论笔试还是面试都挺合我口味,整体偏重于Windows,浏览器,内核吧(笔试做Web安全题做的想吐了),发现趋势科技还是比较专注于Windows安全的。之后的面试也证明了这一点。
视频一面(只记得这些了,50分钟):
1:手写个快排吧!
我:啥?快排,大一写过呀
面:要你现在写
我:哦!
三分钟后
我:忘记怎么写了
面:。。。。
我:。。。。。
面(似笑非笑):好吧!那你写个遍历链表吧
我(内心很凄凉):恩
3分钟后
我:呐,你看
面(看了一眼):差不多得了。
我(快排没写出来心态已经崩掉了):哦
后面围绕链表有的没的聊了会有的没的
2:给了一串汇编,理解
3:Windows反调试措施,前两天复习了一下,刚好用上了
4:浏览器针对UAF的缓解措施
5:如何绕过ALSR: ROP,泄漏地址信息,今年新出的利用mmu
6:那些常规的ROP喷射方法
7:Windows hook技术有哪些方式,你有拿hook干了些什么事情
8:各种断点(硬件断点,cc断点,异常断点)的原理
9:Windows内核提权,不熟,就扯了Linux的提权。
10:windows脱壳具体流程,你遇到的最麻烦的壳是什么?
11:SEH的怎么处理异常的
12:挖过漏洞没有,熟悉fuzz不
13:为什么不继续搞Windows安全,转而Linux了
我:Windows的API又臭又长,记不得。而且Windows分析漏洞复现老麻烦了,所以就改了。
面:。。。。。
我:真的,哪像Linux说来说去,就那么300多个api接口,用得多happy呀
面:。。。
14:未来你打算做什么
我:Android
面:为什么?
我:好找工作
面:。。。
15:随便聊聊人生,最后
我:能过不
面:应该能过吧!
我:长叹一口气。
面(把我踢出视频会议室了):
总的来说,面试体验不错,可惜最开始连个快排没写出来,后面的东西比较常规,所以答得还好吧!就是面试官总是似笑非笑的,搞得我一点都不自在。
视频二面(就在四十分钟后,效率超高):
中途换了一组面试官,对的,你没听错,是一组(两个)。面试官看起来气场就很强,后面才知道是超级大佬
有点紧张(废话,两个面试官轮番轰炸,不紧张才怪呢?)
1:自我介绍:
2:你写的那个沙箱怎么防范你的那rootkit
我(无声:这也可以):这个话,要根据。。。。。
3:写过exp不,怎么占坑
4:看过Linux源码不,看过哪一部分,感悟是什么,对LSM框架的理解(这里真的只能靠吹了)
5:你写的项目收获最大的地方
6:看你的博客(第一次有面试官看我博客)
血淋淋的教训,博客写得水,就不要乱秀(github同理)。水的博客只能充分暴露你的水平。我就是血淋淋的教训,本来聊得挺好的,结果一看我博客,感觉就形式就不妙了,就一直怼我了,欲哭无泪。
7:未来想干什么(又是这个问题)
话题转到Android
8:Android进行dll注入的方式
我:ptrace,噼里啪啦说了一堆
面:还有吗?
我:没有了吧?
面:你说呢
由于前期怼我,一位面试官感觉他很不耐烦了
我(要我知道,不早说了吗,尴尬):静态修改ELF文件吧!
9:Android脱壳:这个问题真的面一次说一次(求创新)。但这一次面试官揪着不放了
10:要你怎么设计一个Android壳,保证安全性。
结果:暑假应该就去趋势科技了吧!感觉比较合我口味,没加班,性价比高,一家很不错的公司。而且除了这里貌似也没地方去了(哭)。
滴滴新锐:
之前面的那个快排没写出来,让我对视频面试有种莫名的恐惧。现在又要我视频面试,加上只是勉强达到新锐的要求。感觉自己应该过不了(太渣了)。就跟hr说放弃了滴滴的面试
套路总结
一:回答问题不要简单的对和不对,给自己留点余地也给面试官留点余地是吧!
例:京东hr面(虽然没面到这一面):如果这是你同时有阿里和京东offer,你会选择哪家?
耿直的说:“肯定阿里呀!”。你这样回答估计hr的评价高不到哪里去。
答:"我觉得!不像应届生,更多的是要去创造价值。就实习生而言,更多的是学习,哪里和自己的方向更契合,哪里能学到更多东西就去哪里吧”
例:华为hr面:你怎么认为加班的?
耿直的回答:“不喜欢加班”。讲真的,虽然你只是想把华为当备胎,这么回华为还真不给你进备胎池的机会
答:“对自己热爱的行业,没什么加班不加班直说吧!就好像,一个人喜欢打游戏,不能说他工作努力吧”
二:千万不要踩雷区,什么都不要过得太过了
可以适当的开点小玩笑,活跃一下气氛,技术面虽说是技术面,但给评价的终究是面试官,一个愉快的交流能你加分不少,但是千万别给面试官留下嬉皮笑脸,不学无术的印象(特别hr),那你真的悲剧了。
可以适当美化自己写的东西,但是不要无中生有,终究只有从头到尾自己写的心里才有底,如果被揭穿了,那是真的悲剧了。
雷区的话,这个真的只有自己把握。面试多了自然就有感觉了,虽然我面的也不多
三:转话题
遇到不会的,有意识的把话题扯到自己擅长的上面,不要耿直的一直聊下去,因为面试官会无意识的把话题扯到他自己擅长的领域,而如果你不擅长那评价真是悲剧了。面试官一般也想找到你的闪光点,而不是使劲的怼你。所以呢,学会转移话题还是挺重要的
四:抓住每个加分点
一般来说,面试最后一个问题都是:“我这边问完了,你有什么问题吗?”
这个时候,问一些没营养的问题真没要的,总得问一些稍微有营养的问题吧
例:腾讯终面:“这次面试中,请问一下我有什么不足需要在未来填补和提高的吗?”
好处:“好为人师”是人的通病嘛!面试官说的愉快,自己过得概率也大,而且还能表现出自己比较好学。当然,还可以从他的对话中,探探口风,看过没过。一举两得呀
结语:
一个半月的春招,很多迷惘,很多感慨!在和面试官的交流中发现了自己的很多不足,重新思考了一下自己大学这几年的所想所做,也算是更深刻的认识自己了吧,而且也认识了很多大佬,跟大佬们还是有很大的差距滴,秋招再战吧!
人最大的悲哀是不能正确认识自己
--自勉