先来一句话总结:web 狗没人权啊 Orz

360

本来作为360脑残黑是没考虑过投它的,结果老王说在360有熟人,于是他把我简历直接丢到一个系统安全的团队(主要搞 Linux 内核和 Android 安全),聊了下后对方说会把简历转交给 Web 安全的团队。

过了一星期补天的人打电话过来,说有漏洞审核的岗位…… 卧槽当时就想拒绝了,随后对方说还会有人打电话进行技术面试。

不得不说大公司的面试就是专业些…… 基本上都是围绕简历上的项目来说的,而且会深入地问,如果对项目不熟的话肯定 GG 的,还有就是没答好的问题会告诉你答案,不像某些面试官直接跳过甚至就呵呵一声…… 印象比较深的问题有两个:

  • 怎么查找域控
  • Discuz 论坛内容过多后搜索会比较慢,怎么改善

第一个问题我的回答是用 dsquery ,但面试官貌似并不满意…… 其实我觉得这个自带的命令是最好用也是最快的了。然后面试官问有没有其他的方法,于是说还可以用 net group "Domain controllers",面试官最后说可以通过端口判断。以前看见过关于 Kerboers 的资料,但是忘了它的端口号是什么……

第二个问题刚开始回答可以用 Xunsearch (中文名“迅搜”)代替 Discuz 的原生功能做全文索引,但是面试官貌似不知道这个…… 于是又说分析慢查询日志,找出耗时比较长的语句,给相应字段做索引。结果面试官说可以直接用 Google 或 Baidu 的站内搜索代替原生搜索 Orz。

最后面试官问了下对于智能硬件有研究吗…… 随便说了下之前玩过的 OpenWrt。

饿了么

安全主管开门见山就说看我的简历和博客还是不错的,有兴趣来这里做安全工具的二次开发吗…… 卧槽什么问题都不问就给 offer 的节奏?

结果又说实习几个月后才能给 offer,这是公司规定。大哥,这不是校招吗?还要实习?(后来发现很多公司都是这样的 = =)

虽然聊得不错,给的实习工资也比在阿里高,但真的被阿里坑怕了,要是实习几个月错过校招又没能转正,那真是欲哭无泪…… 所以最后还是拒了。

深信服

面试小哥问的都是很基础的东西…… 解释下 CSRF、怎么防止 SQL 注入之类的,简历上的项目也就是提了下并没有深入去问。然后问到了缓冲区溢出,我说我主要搞 web 安全的对二进制安全不是很了解,只知道会导致越界访问执行恶意代码,于是他接着问了整型溢出……

(感觉小哥是按面试问题集上来问的,我貌似听到他翻书的声音了……)

然后又问了 TCP/IP 的一些东西,三次握手、可靠传输、拥塞控制,还有路由器和交换机区别什么的,这面试题太标准了以至于我毫无准备—— 好吧其实我也没怎么准备这些。

最后问了下数据结构,什么描述一下Hash表、分析堆和栈的区别,链表和向量的区别是啥…… 快两年没看了,是在下输了 Orz

面完后小哥表示后面的数据结构其实影响不大(不重要你问这么多干嘛……)如果去深信服搞安全开发主要是做恶意流量检测。

蘑菇街

得知我是面安全开发后问了两个问题:

  • PHP 作为弱类型语言,在底层它是怎么判断变量的类型的
  • 有一串特殊字符,怎么获得某个给定字符后面的一个字符

第一个问题…… 编译原理我已经全部还给老师了,关于 PHP 的弱类型安全可以参看下这篇文章—— 浅谈PHP弱类型安全

第二个问题,可以用 strrpos 这个函数获得字符串在目标字符串中最后一次出现的位置,然后取后面一个就行了。然后面试官问还有没有其他的方式,于是说了迭代,但是效率感觉很低…… 其实后来想了想还可以用正则的。

然后略微问了下简历上的东西和之前实习的情况。

过了几天接到消息,莫名其妙的跪了……

安赛

安赛虽然之前没听说过,但是态度真正是极好的,往返高铁车票和住宿都包了。

聊的时候面试官称安赛从12年创立以来都是在搞研发积累技术,目前国内市场上的 IDS 很多都是用的它的技术,今年开始烧钱扩大市场。

面了一面感觉挺简单,聊了下简历上的东西,并没有深入的问,然后就到了 Boss 面…… 简单聊了下,可惜对工资有点不满意。

乌云

因为面安赛来到北京,刚好之前老王也把简历给了乌云,就顺便去乌云办公的地方逛了下。

瞌睡龙挺帅,剑心的长发很飘逸…… 只是乌云的安全开发主要用的是 Python,也就是开发 TangScan 这个项目。我主要用的 PHP,Python 偶尔用用,而且因为在阿里搞 Java 安全研究感觉略蛋疼,对瞌睡龙推荐的安全研究岗位有些迟疑。

后来离开北京时认真想了下…… 渗透测试虽然好玩但到后期主要靠思路和经验了,业余玩玩可以,真正工作的话或许还是安全开发和安全研究更适合。

乌云的面试问的很细,简历上的项目要点都会问到,而且更关注是否对某个点有深入的研究,如注入技巧、开源安全工具源码等。

印象比较深的就是 SQL 注入时有哪些替代空格的方法:

  • %0a、%0b、%a0 等
  • /**/ 等注释符
  • \n

更多可参见深入了解SQL注入绕过waf和过滤机制

网易

网易的面试感觉一面比二面还难……

值得注意的是两轮技术面都问到了:

  • 是否在各种 SRC 提交过漏洞
  • 说说最近出现过的比较重大的漏洞
  • 对 Flash 有研究吗

因为一般有漏洞都去乌云提交了或者自己留着,所以只给 ASRC 提交过一个漏洞…… 看来没事刷刷洞还是有必要的。

最近比较重大的安全漏洞一大堆,什么 HeartBleedShellShock …… 但是一定要明白漏洞产生原理,要不然面试官问起来就傻了。

网易貌似很重视 XSS ,问了很多相关的东西,比如弹 alert 有那些方法。

笔试相关

  • 大众点评。就一道安全相关的题目,其余全是智力题或者编程题……
  • 百度。有几道安全方面的问答题,其余都是编程或者算法题(记得有道 kmp 算法的题)。
  • 蘑菇街。笔试题设计的不错(虽然有些是网上有的),但是题量有点多,最后两个编程题没写完。

小插曲

腾讯笔试又是在北森测评的平台上做的,做到中途无聊就抓包想找下漏洞,结果触发了防作弊警告…… WTF(虽然最后还是找到了几个小问题)。对了,对于这种焦点一离开浏览器标签页就发警告的判定,最好的方式就是在虚拟机里做题目,在虚拟机外面查答案……

然后过了几天看到很多人吐槽百度的笔试,于是去赛码网看了下,结果……

QQ20150925-2@2x.png
QQ20150925-9@2x.png

一些经验

  • 在 Linkedin 写个英文介绍还是很有用的,时不时有猎头会加你…… 搞笑的是前些天居然有微软的 HR 发邮件来问我有兴趣去么。我想去啊,但是算法又渣又不熟 C/C艹 还是不去找虐了……
  • 面试职位目标明确,像我这种表示安全开发、渗透测试、安全研究、运维安全都能搞的往往悲剧。
  • 面试前到乌云看看该厂商出现过的漏洞,有时间的话自己试试还有没有洞。
  • 常见的英语技术名词要会读,比如 WAF Sphinx Debian Ajax ……