Catch me if you can

2月底3月初的时候已经开始内推,那时候时间太紧忙着给某站投稿的事,一直耽误到3月10号到校之后给师兄发的简历,结果师兄说已经截止了。无奈之下只能在线笔试了。 3月27号左右参加的笔试。笔试题考的比较发散,所以没有标准答案,刚好之前专门学到硬断点和软断点的原理实现,没想到竟然用到了。从笔试的题目来说,二进制还比较多一些,虽然很多是移动端arm级的汇编,但至少和二进制已经沾了很大的边,所以不错,阿里终于招搞二进制的了。 笔试过后也没有怎么去准备,一直在蒙头学习ROP链的构造。结果在4月初的时候收到面试预约通知。当时第一反应可能是那套笔试题完全不是为了考分,我估计自己得分也不会高多少,所以面试肯定是一道难坎。 在网上找了些往年的阿里安全工程师面试经验之谈,说到简历还是不需要太吹牛逼,在去面试的前一天还把所有的精通都改为了熟悉。

然后,4月27号杀到北京去面试。面试官是个姓应的大哥。人很好,坐下来就先让我介绍下自己最看重的项目。然后我就balabala说了一大推逆向3D引擎的事情。面试官结果第一句就把我给懵了,“你觉得做逆向这样的事情有没有道德感?”。。。。隐隐约约感觉不妙,这大哥可能不喜欢搞逆向。我就说无论怎么说我个人还是以技术为主,作为员工我主要负责的是把领导分配的团队任务给拿下,至于其他纠纷可能也不是我能涉及到的地方。 接下来说做了这么多项目,你有没有那个项目是最有意思的事情。我就组要说了下POC和exp是两个不同的水准,poc就是一个简单的提示,而exp才是考验技术,然后balabala了一堆rop链在生成的时候会有很多栈平衡之类的问题。已经忘了面试官怎么说了,好像还是不感兴趣。 过了一会之后,说那么在底层上,从任何角度来说都可以,列出比较有意思的操作调用。。操作系统,好吧,我就说了内存文件映射机制,说了下内存文件映射过程中效率的提高,但是这次真是载到面试官手里了。面试官对这个非常感兴趣,问了一堆微软为什么会用内存映射,无论用不用内存映射其实写入都在是缓冲区的,那么内存映射到底是为了什么其他目的。。。完完完,投降。 然后问了我关于dell的混合磁盘的原理,说为什么加上8个g的ssd和普通的固态硬盘,就可以提升性能。我说不知道,没研究过。但是觉得可能是在8个g上做文章吧,比如讲所有的管理内容都放到ssd的8个g上,也就是将开销最大的地方放在这里,借此提升性能。大哥说其实所有的磁盘都有一套默认的管理表,你说的不准。然后请教面试官,他说可能是ssd中维护了一张读取频率表。将读取高的放在这8个g上,通过计数器实现,最后说这也可能是他猜的,,无语。 这时候面试官可能觉得安全已经问完了,看到我面试单上有c++的技能,就问我,虚函数和纯虚函数的区别。我说作为我研究溢出的方向,可能平时涉及的就是一张虚函数的虚表指针和虚表地址数组。这个不太清楚,然后,又被无情了。 接下来再问了我一下关于指向常量的常量指针是否能够赋值。我说既然已经指向了常量而且是个常量指针,应该不行,觉得那里不行,但是也不敢确定,就说可以。然后又被鄙视,说不行。和我之前猜想的一样,也是因为是在常量区。 好吧,差不多面试一半了。开始问智力题,我用二进制给解出来了,面试官说不是所有的问题都是计算机问题,然后他想说他的看法,他给了我一个答案,我说能不能冒昧让您先停住,看看您是怎么想的。还原了回来之后,大哥说是没错,但是我认为应该是通过菲薄那数列来构造的,我可能也刺痛面试官了(后来认为),说我说的那个和您一样,不过没有您说的那么高级。。面试官微笑。 最后让我自己总结一下我在面试过程中的优缺点。我说优点还是藏您心里吧,缺点倒是很多,,比如研究的不够细致,眼光不够长远。 大哥说,感觉你的方向太窄,只顾着在windows平台下研究利用,这些都是老古董了,就和现在研究塞班你觉得有意义没有。windows很烂,就是c++加上一堆API调用,你能学到很多是因为微软已经夕阳日下了,所以冒出来很多的资料,你觉得你学的很有意思,很有收获,但是实际上不是这样的。包括windows内部员工都在骂windows怎么怎么滴。 另一个方面就是想法不够,层次太低,仅限于工具(可能是看到用到的技能里使用了很多github上的开源框架吧)。说他曾经面试过一个大牛叫c什么的,人家觉得windbg不好用,就自己写了一个。好吧。服。

可能是面试官已经和我说的够多了,就开始让我问问题。 我说,阿里安全主要做的什么。他说是基于linux的沙箱,使得破坏减到最小。另一方面是关于linux 内核提供的结构做以限制,或者将有危险漏洞的函数之类给关闭,提供给用户我们自己内核开发的一套接口(感觉有点像内核实现的意思),这套接口做了很多过滤。我说就是在内核上修改一些?面试官微笑。

好像中间还问我读过什么大型源码,我说pydbg读过一些。

既然无情被鄙视,就问我转行搞linux还来得及么,大哥说晚了,没有7,8年你搞不出来这套东西。让我多看看linux和云计算。

好吧,最后要到了大哥的邮箱,qq邮箱,顺便晚上加了大哥的QQ。 回来的时候连地铁卡都丢了,wtf。

和我一同去的阿河,面试官本身也是web方向,两个人谈的很开,包括我们家阿河手里的通用漏洞,很快的就预约了第二面。我问我面试官,面试官说放了你一面,二面也来不及啊。而且实习要是这个方向的,还来的及提拔,你这方向和我们不符合,算是要重新培养,代价太大。

回来后,倒不是说被打击,而是在思考windows真的已经没有前景了嘛。立马有了失业的担忧。。。。玻璃心啊。

平心而论,有几点收获: 1.遇到一个志同道合的面试官很重要。对不对口,能否聊到一起很重要。 2.阿里还是一家互联网公司,软件方面确实招的人很少。但是不明白为什么要收购瀚海源。 3. 简历不要写的风骚,面试官看的很细。精通就是精通,熟悉就是熟悉,不得含糊。

最后附上大哥告诉我的一句话: 有时候觉得自己研究方向的人很少,要慎重。只有在主流方向上看到能做到你这一点的人很少,才是真的大牛。

你能给的也只有这么多,在这个狭小的圈子里,

Catch me if you can

相关文章:

你感兴趣的文章:

标签云: