来自:信安之路(微信号:xazlsec)

本文作者:宋斯旸(信安之路特约作者)

首先声明,这篇文章在能力不足的前提下并不会帮助你多拿 offer。但对于有一定知识积累,面试总是挂掉的同学会有非常大的提升,本篇文章主要的读者对象是想去大厂尝试 P6-P7 岗位的同学。

为啥要写这篇文章

去年和今年过了几个大厂 offer,感觉面试还是非常有规律可循的。其次我有幸在现在公司担任的几次面试官,我发现很多候选人在写简历和面试的时候不知道面试官想考察啥。所以写一片文章说说自己的看法。

面试是什么?

这个问题知乎有非常多的回答,非常经典,大牛也非常多。我就不发表自己的拙见了,有兴趣大家可以去看看:资深面试官教你面试技巧:

https://www.zhihu.com/lives/906569183528120320

大厂安全技术岗位的结构化面试思路

首先我们要摆正态度,大厂的候选人会非常非常多,淘汰比会是 200:1。可能 200 个人才会有一个候选人能够通过,所以在各个环节都要思路明确知道想做什么才能百战百胜。简历初筛:

1、简历初筛:

公司关注:

1、是否有 985、211 的学校背景,硕士博士背景

2、是否有业内知名公司的从业背景

3、是否有高大上或者业界领先项目的参与过程

这里有些同学会说了,哎呀你这是秀优越,这些我都没有,后续我说单开一个大分类来说这个解决问题的方法。

2、面试流程:

我们抛开一二三面等面试轮数不谈,我们只谈核心的问题,企业如何在众多的候选人中,筛选一个足够强大的安全技术人员,不过这些只是方法论,在你没有足够的基础前,还是会挂掉,但会给你提供非常高的努力方向。个人认为流程可以高度抽象为以下流程:

下面我们分开来谈:

1、高效淘汰多余候选人的方法(出现在 1 轮面试居多):

每个企业略有不同,这需要你在应聘前有一些了解。诸如百度的一面特别注重基础,头条的一面特别注重算法。这些都是非常高效淘汰多余候选人的方法,因为想去的人太多了。基本上这类问题具备一票否决权,就是答不上来基本上就被淘汰了,诸如安全技术方面,我遇到过类似的问题:

请简述下 XSS 和 CSRF 的区别?

SQL 注入的无回显形式是怎样的?

Linux 日志一般记录在哪里?

TCP 和 UDP 有什么区别?常见协议有哪些?

这种问题如果答不上来一个面试官可能还可以稍微忍一忍,可能他会安慰自己这个候选人可能是做的比较专,两个答不上来相当危险,三个答不上来绝对等通知。

所以针对不同公司尤其是大公司,要做面试准备,不要做无意义的时间浪费,每个公司的风格都不一样,而且信息化发达的今天,收集信息是非常容易的。

2、做过的项目细节(可能出现在 1 轮,也可能出现在 2 轮)

这个是相当有考验型的问题,没有什么技巧可言,完全靠平时个人自己的业务能力积累。面试会从你的项目中考察你的知识深度。其实是非常难的,这对你写简历、自我认知、平时的工作积累至关重要,这是筛人最高发的环节能淘汰掉百分之 60 以上的候选人。

例子:

有个候选人说自己擅长应急响应,在公司处理过一些被黑客入侵的项目,思路还可以。这时候我问,如果 ps、netstat 被替换了该怎么办?再往下如果劫持了 systemcall,哪些命令是相对安全的哪些是不安全的?lkm 的原理了解么?

有个候选人说自己非常擅长渗透测试挖 src。会问,你了解 ssrf 么?ssrf 怎么修复?ip 正则有多少种绕过方式,重定向会引来怎样的问题?短连接会引来怎样的问题?

这些问题是很有区分度的问题,完全取决于跟你竞争的候选人数量和平时的积累,还有一些运气因素,从个人角度只能是平时工作中多想多做把深度做深不要只满足工作需求,这才是比较好的方法。此轮面试脱颖而出的方法是,在你擅长的领域碾压你的面试官,让他问不出来有深度的问题。

3、挑战性问题的处理思路(一般出现在 2-3 轮面试中):

这个环节又被大家戏谑成面试造火箭,这个会淘汰掉百分之 20-30 左右的候选人,这个考察的主要是你的知识面和行业认知能力,一般也不会脱离你擅长的领域,比如我个人比较擅长应急响应和内网溯源。

例:

给你 1 亿条日志如何快速挖掘安全事件?

我们基于日志白名单正则和业务模型已经做了一版比较好的报警规则,可是每天有 1 万条报警,如何做分类与归类?如何抑制报警风暴?

我们企业红方的安全挖掘效率差,请设计一个自动化平台提升他们的挖洞效率?

我们 SRC 的处理效率被业内诟病,请问有啥比较好的解决方法?

这些问题也没有好的套路方法,只能日常多读行业公众号,多交流,多思考,多想想问题的本质,才是解决方案

4、行业深度认知和个人规划(一般会出现在部门经理面或者总监面)

请注意这轮淘汰率也非常的高,不过能进入到这一轮已经相对安全了,但处理不好还是会挂。问的问题不再会是技术基础的,而考察的是你和公司团队的匹配度,你的宏观认知能力,考验的是你换工作的动机与想没想清楚。我的建议是实话实说,不要套路,除非你想去镀金,我并不太赞成镀金这种工作态度,因为你很可能新工作会如履针毡。

例:

1、我看你从事的行业都是在乙方,你觉的乙方和互联网甲方本质有怎样的区别?

2、看你原来在 XX 云工作,你觉得共有云安全的核心安全问题本质是什么?

3、你喜欢怎样的工作,在团队内你觉得你自己的优势在哪里?能为团队创造什么价值?

4、对于我(特例),你为啥一年一换工作,你是出于什么样的考虑?

5、你现阶段你认为自己的安全技术是一个怎样的水平?

6、我们是一家创业公司,你之前的背景都是在大公司,考虑创业公司的原因是什么?因为行业推测你的薪资也不是很低?

7、你未来 3-5 年想怎样的发展?

这些问题是非常好准备的,我觉得也是非常有必要准备的,换工作核心是自身价值和自身能力的长期提升,而非短暂的薪资提升。自身价值和能力提升了,换工作非常 easy,薪资提升也无比 easy,挣大钱只是时间问题和选择问题,有了能力就有更多选择,走的比同龄人快就具备更多的试错能力,就是这么简单,所以要宏观考虑问题,认真对待每一家 boss 和总监。

5、职业稳定性,基本信息确认(一般会出现在 HR 面):

网上讨论的比较多,不做过多的赘述,真诚即可。诚信为主,不要造假。敏感问题要想好,如同女性大龄未婚,需要准备。但一般有经验的HR不会直面问,而会问,感情状态如何,是否已婚,通过信息拼凑自己想获得的信息。

本文最干的干货,提升自己

以上的这些是我自己参加大厂面试或者朋友参加大厂安全面试的经验,我觉得从事安全和软件行业的同学也有一定的共同性,毕竟在开发方面我不是专家。

1、非双非背景(985、211)的同学的解决方案:

首先声明写着一点不是炫耀,我由于二次考研熟悉我的人都知道,由于没有校招我的起点平台非常的低,这也是我频繁跳槽的原因,所以我认识非常多学历背景一般甚至没有本科学历的同学,但每个人发展的有好有坏,这也引发了我一系列的思考。

非双非背景即非 985、211 的同学。坦诚讲非 985、211 和二本三本,很多同学由于第一份工作和环境问题认知会跟同龄人都会有差距,就好比我相比北大清华和海归同学的认知有差距一样,我们要正视这个问题,而且是可以解决的,核心解决问题的方法论:

1、在原有工作中优秀脱颖而出,尽可能的快速学习,把每份工作做到工作要求的百分之 150%。

2、积累人脉,提升认知差距,大厂是怎么做的,我的技术方案放在海量环境中会有怎样的问题,怎么解决。

3、选择知名度最高的公司接受自己,尽可能冲淡学历和背景带给自己的不利优势,同时在能选择内推的条件下不要去投简历,否则极有可能挂在简历初筛。

2、进不了顶级互联网大厂的理想部门怎么办?

提升软硬实力而非工资本身。

1、硬实力包括:技术深度、技术选型,开发能力等书本和技术上能学到的知识,多跟大厂在职人员沟通多参加行业峰会,修正自己的技能树。

2、提升软实力:认知能力,总结能力,沟通能力,举几个认知的例子。

例子:

我好几个同学炒币在北京全款买房了。然后别人入盘的时候成韭菜了。

天天写代码赚啥钱啊,销售才最赚钱,搭好人际关系,管理好项目,几百万的收入都很 easy,我这么好的技术背景缺钱干嘛不转销售?

我家里有矿人脉广泛,政府渠道厉害,为啥不走商务路线要写代码,推什么产品不就老爸老妈一句话的事儿么?(这句话不是说我自己啊,别在朋友圈发了!TT)

总结:硬实力可以提升你进入大厂的基本素质,软实力和认知可改变你对世界的认识,改变你对进顶级互联网或者做技术才能财务自由的认识。获得一样幸福的生活。

真心希望读过我文章的人事业有成,改变自己。补一句,上帝给了我这方面独特见解的能力必定关上了我另一扇门,诸如颜值相貌撩妹能力,欢迎交流!TT