一、某杭州大厂
电话一面
- 说说web安全有哪些漏洞
 - 什么是sql注入,怎么防御
防御:预编译、使用存储过程、检查数据类型、使用安全函数 - 有没有了解soap注入
 - limit语句后面怎么注入这里当时着实不知道凭着自己理解大概说了下sql语句的组成,并需要通过sql语句的构成来应对不同环境, 针对limit注入关键是procedure存储过程和analyze函数
 - xml注入是什么呢
 - 有没有了解过java反序列化漏洞(有些spring框架为什么就有这种漏洞)
 - 平时做代码安全审计是怎么做的,举个例子说下是怎么找到漏洞的。这里是我的强项。。
 - 有没有接触过移动安全?(虽然试着做过几个app的安全测试,但还是老实说了不会。)
 - 说说ssl协议握手过程?问到这里时面试官机智的笑了。。
 
电话二面
二面主要还是以项目为主,面试官挺好的,没有任何紧张感,将自己各方面完完整整跟他说了遍,整体感觉还行。面试问题大概回忆了下
- 说下平时怎么做代码安全审计的
 - syn flooding攻击原理
 - 说下宽字节注入的原理
 - 为什么选择读研,值得吗
 - 你实习过程中做过的印象最深的事情是什么
 - 说下你读研期间的研究方向(主要是论文)
 
三面(现场面)
       前面的电话面试从一面到二面中间隔了两个月不知道是什么鬼,自己目测这家公司把我当面试的备胎了,八月底一面,九月中旬才二面,这面试时间拖得真长。九月底自己百般无奈下联系了下hr后就通知去杭州现场面了。。
公司杭州这边环境比较小,毕竟是分公司嘛,前台小姐美美哒,领了我们去小房间去啦~(面试)。一面面试官技术大牛,感觉把安全类的问题问了个遍,废话不多说直接上干货。
- 看你实习经历做代码审计的,你能说下你平时是怎么做代码审计的吗,说下具体思路?这问题已经问过无数次了,答起来也得心应手了。
 - 你说你会用静态代码安全审计工具,那么你知道这些工具的原理是什么吗?换句话说就是简要描述下这些工具是通过怎样的方式实现的。(以前看过这方面的书籍,跟他提了两个关键字AST树和token流)
 - 你做代码审计有没有找过比较经典的漏洞,我精心准备的是条件竞争漏洞,感觉面试官也不怎么熟,便开始问我php代审了。
 - 有没有接触过php的代码审计,php的文件包含漏洞是什么。文件包含漏洞的形成原因(换句换说就是什么函数导致的)。
 - 这里紧接着上一问。假如有文件包含漏洞,你怎样通过这个文件包含漏洞将页面的源代码包含进来(这里答得不好,自己说了./切换目录,其实这都只是包含页面,面试官问的是包含代码,自己没打出来,面试官还是很好的回答了,用php伪协议)
 - 有没有做过渗透,你平常是怎么对一个网站进行渗透的?换句话说就是要你说渗透测试流程。
 - 有没有做过内网渗透,内网渗透怎么做的。
 - 你说下你开发过程中对一个安全威胁是怎么防御的,这里我举例了文件上传漏洞,以前做java开发写过一个文件上传工具类,结合平时看的答起来还算行。
 - 有没有了解过宽字节注入,宽字节注入漏洞是什么原理,怎么防御。
 - 你在ASRC和JSRC提交的漏洞都是哪些?我说了越权,csrf,xss,url跳转等
 - 说下csrf漏洞的原理,防御方案。
 - 谈到了csrf防御一类检查referer头,http中referer头代表什么?什么情况下referer头为空?
 - 用python写过什么安全小工具,怎么写的?这里简单描述下行了
 - Mybatis框架中sql注入的触发原因是什么?
 - XSS漏洞有哪些类型,说下dom型XSS是怎么形成的
 - 假如让你用java写个web漏洞扫描器,你会怎么写?说下思路就行
 - 说下SSRF漏洞的原理,php中触发原理(php哪些函数会导致此漏洞)
 - ssrf函数我在php中没答出来,他就问我在java中成因。我这里就只说了java中httputil类可以实现http传输功能。
 - 说下java反序列化漏洞的形成原因,具体是哪些类库造成的,和漏洞触发条件等?
 - 说下struts2漏洞的原理,这种漏洞触发的根本原因是什么?
 - 你读研时候的研究方向是什么?我说的是安全态势感知,异常流量识别,他于是就问怎么做的,我就把自己论文的思路跟他说了遍。
 - 今后想做哪个方向,安全漏洞挖掘,安全开发还是其他?自己说的安全开发,感觉技术二面的面试内容和这一问很相关。
 
四面(技术总监面)
四面面试官是个胖子,进来就憨厚的笑了下,看了下我简历,八卦了几句。肥硕的身材和憨厚的笑容让我顿时没了紧张感。但是没想到四面技术不比三面差,总的说来四面偏开发和基本功一点,自己没想到会往开发和基础方面问,所以有些还是没准备好,总体效果一般般,下面是具体的问题。
- 你能自我介绍下吗
 - 你读研时候的研究方向是什么,听我说了异常流量识别就问了我是怎么做的,用的异常流量类型有哪些?
 - hashmap它的实现原理有没有接触过?
 - hashmap和hashtable有什么区别?
 - 给你两张纸,怎样找出两张纸中重复的单词?说下思路就行
 - 网络协议这块熟不熟,app这一块有没有接触过,app是怎么跟后台打交道的?我说的用安全方式有https
 - 假如不让你用https的话,你怎么去实现app和后台的安全交互?我说了本地加密和代码混淆,没答好。。
 - 紧接上一问,tcp协议中标志位有个是RST标志位,你能说下这个标志位出现在什么场景吗?自己说关闭,然后他让我写四次挥手,我画了用fin标志位,将自己的回答自己否定了。。。。尼玛
 - 你平时做java做过哪些java开发。有没有接触过单点登录?怎样去实现单点登录,跨域之间怎样实现单点登陆。
 - 看你做过应急响应,你是怎么做应急的,假如让你实现企业自动化应急,你会怎么做?
 - hash表这个是怎么实现的?自己说了下hash的数据结构实现原理。
 - 最近有没有学其他的?自己说了linux c。。。你知不知道linux系统里面文件描述符和系统描述符的区别?自己说不知道,囧,二面就这样结束了。
 
hr终面(现场面)
hr姐姐略严肃,整体感觉跟其他hr面试差不多,但自己还是有些没有说好。
- 你能简要的介绍下你自己吗?
 - 你以前本科方向是信息管理,你问什么会选安全这个方向?
 - 你以前一直在实习吗?实习内容都是做什么的。
 - 你觉得你研究生期间让你印象最深的一件事是什么?
 - 有没有了解过我们公司的一些产品呢?
 - 你觉得你和你同学比谁更好些?
 - 你觉得之前的面试环节面试得怎么样,面试官如何?
 - 你现在有offer了吗,都是哪些offer?
 
二、蚂蚁金服(阿里)安全开发岗面经
这是春招时候的面经了,满满的面试收获,因为一面都是些简单的问答,所以这个面经是蚂蚁金服二面,整整面了一个小时,完全凌驾于其他面试。面试涵盖个人素养到职业技能。 想想还真的可惜~~~感觉进阿里只差一点点,不过总得来说还是自己的基础问题,只能拥抱变化gg了,哈哈。。
- 谈谈你在安全研究和学习过程中,比较常用的一些学习方法。
 - 自己实习最想做的方向。(说的渗透测试和代码审计,接下来就开始问了)
 - 平常针对网站是怎样去挖掘漏洞?
 - 以注册流程为例,谈谈注册流程中主要包含的一些漏洞。(这里感觉面试官主要考察挖掘漏洞的积累量和经验,说得越多越好)
 - 谈谈一个网站是怎样防御xss攻击的。(必问,答得一般)
 - 谈下近几年来有关ssl协议出现的漏洞(自己说的是心脏滴血)
 - 紧接上一问,谈谈心脏滴血漏洞的原理。。(这里没有答好,说到了缓冲区溢出,原理还是要补下)
 - 描述怎样通过各种途径得到一个网站后台的管理员权限。
    
- xss
 - 钓鱼欺骗
 - sql注入(网站本身漏洞)
 - 弱口令
 - arp攻击(局域网段内)
 - 信息收集(社工)
 - 上传
 
 - 根据项目经验,怎样根据代码审计来挖掘一些常见的漏洞,举例。
 - 有没有了解java的一些常用框架,以及java自带的一些安全处理类。(java本身不熟,所以就直接放弃了)
 - 谈谈java反序列化漏洞的形成原理。
 - 给你一个网站,概述渗透测试的所有流程。
 - 怎样收集网站域名和ip信息。
 - python中yield关键字的作用。(自己说的对python相对于java挺熟,所以问了这个)
 - 问了问研究生期间的研究方向,自己论文的主要内容(看我简历写的安全态势感知、所以就问了我是怎样做的)
 - 假如给你一个数据集合,你怎样定位异常流量以及怎样对异常流量进行分类判断。
 - 实验室从事安全行业的师兄有些怎样的品质是值得你钦佩的(这个问得防不胜防,随便答了两个)
 - 假如你能加入我们团队,你对你自己有怎样的要求。
 
三、腾讯&微信春招安全技术岗面经
       腾讯总得来说面试偏基本功点,虽然面的是安全类,但是可以看出腾讯对于基础的重视度绝对高于任何公司,两次面试都跪一面,难道真的与鹅厂无缘了?
       大厂就是大厂,面试的结果无非两种,最深刻的是能让你知道你的能力和差距到底在哪里,腾讯对于c和c++的重视程度非常高,所以面试的主题还是基础,下面是回忆的一些面经。
- 有没有了解过c++的虚表?
 - 什么是线程,什么是进程?
 - 缓冲区溢出的原理是什么?
 - 有没有做过客户端的安全研究?
 - 应急响应过程
怎么定位木马文件,以及木马上传点
应急过程自动化??? - 自动化代码安全审计原理,有没有自己独特的审计思路
 - 自动化渗透工具原理
 - sql注入细节(写注入语句).php?id=1
 - 说说你找过的比较严重的漏洞
 - app渗透怎么抓https包