从 2 月到 4 月,中间大大小小经历了 20 次左右的面试,记录一下
长亭#
- 自我介绍
- tomcat AJP 漏洞了解过吗
- Java 反序列化漏洞
- JNDI 注入,Java7 和 Java8 的区别 (这里确实是自己挖坑了,简历上写了自己会 Java 审计,JNDI 注入等,但是并没有仔细准备,结果面试官抓着 Java 不放)
- XXE 如果无法联网怎么利用 (三层嵌套报错 XXE 或者利用系统自带的 DTD 文件)
- 你比较擅长的方面
不知道为啥和长亭面试官聊起来挺尬的。最后也只面试了 20 分钟就结束了,当然结果是凉凉了
字节跳动 - 企业应用安全#
一面#
- 具体的一个代码审计案例
- 说一下你知道的四种漏洞的原理,利用,危害和防御
- XSS 知道吗
- 说一下前端漏洞中你比较熟悉的
- python 沙盒逃逸
- 你觉得自己的优势是什么
- 对未来的规划
字节跳动一面官感觉挺棒的,全程在引导你,而且特别尊重你说出自己的看法
二面#
- 简单问了几个小问题,python 沙盒逃逸,JavaScript 原型链污染
- 有没有了解过 electron 框架(就是开发 vscode 的,我说没有,但是我知道 vue
- vue 怎么防御 csrf (我不太了解 vue 怎么防范,先说一些怎么防 CSRF balabal)
- 提示 vue 是通过 ajax 和后端连接,我:哦想起来了,那就用 CORS 来防御,然后说了 CORS 的防御
- 继续问。CORS 分为简单请求和非简单请求,一个 POST 请求怎么区分
- java 做过哪些
- mXSS 了解吗
- 参数压栈入栈简单说下
- 你怎么将 CTF 学到的用到实战
- go 有没有了解
二面面试官也挺棒的,唯一的问题就是。。。他家的小孩子太吵了。。几次打断我的思路
三面#
三面是部门 leader 面,本来以为会继续问技术的,结果。。问了一堆人生相关的问题,而且回答的不好,没有完全表现出自己的水平。。
- 第一次打 CTF 的经历 (就是由于一开始的这个问题导致我后面都在说 CTF,可能 leader 觉得我的眼界太小了吧)
- 你对未来的规划 (这种问题真心不好回答)
- 你是怎么选择上这个专业的
- 你认为你还有哪些技能需要完善
- 你觉得学习编程语言需要注意哪些
- go 的垃圾回收机制 (这个真是自己多嘴了,不该说自己学了点 go 的,这个问题没答上来)
- go 的并发机制有哪些 (我就知道 channel。。)
周五面试完,下周一结果出来后就凉凉了,之后转岗到安全与风控部门,结果这是个开发岗,问的问题都是和编程有关的
只记录了几个问题:
- http1.0 和 1.1 的区别
- hashtable 的原理
- 进程和线程的区别
- 进程间通信的方式
- hash 冲突解决
- tcp 和 udp 协议
- 用 c 语言实现双链表的插入和删除
面试了一个多小时。。最后面试官说看了我的博客觉得我在漏洞挖掘,渗透这块还行,建议我投其他的部门,我说我就是转岗过来的。。。
知道创宇 - 404 实验室#
知道创宇是 3 月 5 号投递的,结果 3 月底才安排面试,以至于我都忘记投递了。
- 分享几个 cms 漏洞挖掘的案例
- 代码审计的思路
- 假设一个 cms 你找到了一个反序列化的入口,如何挖掘 POP 链
- 如果 cms 中找不到 POP 链怎么利用 (不知道,面试官告诉我可以用内置的类进行反序列化)
- 印象最深的一道 CTF 题
- 解释一下 js 的原型链污染
- 说一下你对 tomcat AJP 漏洞的分析
- 除了 CTF,代码审计你还从哪里学安全知识
- 储存型 XSS 但是 httponly 了怎么利用
- 说一下 redis 主从复制漏洞
- 解释一下 python 的全局变量锁
- python 什么时候会用到多线程,什么时候用到多进程
- 为什么 python 的多线程是伪多线程
- 开发一个 cms 自动化代码审计的工具你有哪些思路
腾讯 - 应用运维安全#
我后来才知道腾讯面试的流程,首先有一个公共的简历池,之后每个部门在里面捞简历,一般看到一份还行的简历会打电环了解一下情况 (所以我接了好几个了解情况的电话),之后如果要面试的话需要锁定这一份简历,这样的话其他部门就无法面试你,只有锁定简历的部门才行。
两轮电话了解情况之后,我的简历投到了应用运维安全,具体哪个事业群不知道
一面#
- 入侵响应
- 重置密码逻辑漏洞
- RMI 利用的一个流程
- flask SSTI 漏洞
- XSS 怎么防护
- CSP 如何绕
- 安全开发流程
- JavaScript 闭包
- 常用远程控制软件
- SQL 过滤了单引号怎么绕过
- SQL 注入如何防护
- Linux 查看进程和查看端口的命令
之后网申的页面提示进入了复试阶段,但是一直没更新。直到变灰。
腾讯 - 后台策略安全#
本来以为腾讯没希望了,人都去新疆给做培训了,结果腾讯微信事业群联系我问有没有意向
4.9 0 面#
问了大概一个多小时,感觉就是提前了解情况,后来才知道也不是一面。姑且叫做 0 面好了,面完之后也没有做记录,只有靠回忆了
- 说一下 python 沙盒逃逸
- 了解过 nodejs 的沙盒逃逸吗
- 说一下 JavaScript 原型链污染
- dll 注入了解过吗
- 二进制程序常见的壳,脱壳的方法
- 了解过大数据吗
- 编程题:将一个数组的奇数移到前面,偶数移到后面
4.11 一面#
- https 和 http 的区别
- http 怎么防止运营商篡改你的流量
- 操作系统进程通信方式
- XSS 和 CSRF
- 二次注入
- web 安全有没有总结一些方法论什么的
- 操作系统的最小调度单位是什么,操作系统资源分配的最小单位是什么,如果一个进程 crash 了,它的线程会发生什么
- tcp 为啥要三次握手,两次和四次不行吗
- 脱壳的方式
- 编程题:二分查找
4.13 二面#
这一面感觉面的挺尬的,面完后还觉得自己凉了,面完之后每天都忍不住去看官网的状态
- 有没有渗透攻防经历
- 逆向了解过哪些
- 小程序游戏,比如跳一跳,怎么防止查重
- 二进制安全学习过哪些.
- java 安全学习过哪些
- apk 逆向了解不
- java 的 hashtable 实现原理
- hash 泛洪攻击了解吗
- tcp 泛洪攻击
- 你认为你相比其他人的优势
- 你玩过哪些微信游戏
- 内容安全了解吗
- 编程题:数组去重
4.17 三面#
第一次在机场面试。。实在是没办法,这是腾讯校招的最后一天必须得面完
然而面试官问我的问题我都没听明白
- 怎么检测开发者绕过我们设定的策略
- 如何检测内容安全
- 如何防止外挂
- 你还有什么补充的 (然后我就开始跑火车了)
由于在机场,面试也只持续了半个小时左右
4.18 hr 面#
- 你认为你相对别人的优势
- 之前没有实习经历
- 之前有投递过其他的安全公司吗
- 你觉得这个岗位和你相契合吗
- 你父母的工作,你父母对你的影响
聊了大概大概十分钟,面试官声音很有特点。面试的邀请函都是 4.18 号凌晨发过来的,估计在加班 hhhh
阿里#
2 月底的时候看到博客园的一个师傅,首页上写着阿里云云安全团队长期招收实习生,于是联系了他,做了一次简单的非正式面试,校招开始的时候也是他帮我内推的
一面#
一面很水,不到二十分钟,感觉就是简单了解了情况
二面#
- 渗透测试有没有做过
- 怎么检测反弹 shell
- 怎么检测黑客入侵 Linux 服务器
- structs2 漏洞说一下
- cms 审计说一说
- 系统提权说一说
- 有没有做过演讲
- 安全方面有哪些成就
- IOT 哪些产出
答得不是很好,结果凉凉
华为#
笔试#
华为这次笔试感觉真的难,只有单选,不定项选 (少选不给分),和一道编程题
- fuzz 框架考了很多,而且都是问用处,但是我都不知道
- Linux 的操作也考了一些,比如
/etc/profile
文件中设置的环境变量对所有用户都生效 - web 安全,有直接给源码问你漏洞点的,还有一些基本概念,这个反倒是不难
- 二进制安全,有一道直接考 ROP 链的,让你选择栈布局
不知道还有没有后续的面试
总结#
校招还是比较看重基础,但是对于偏乙方的比如长亭和知道创宇可能要求你有一些比较擅长的点,而且会问的比较细。大厂主要是看你的基础知识是不是很扎实。感觉面试的很多问题都是可以直接从网上找到答案的,但是还是要拿来问 emmm。最后,感觉面试真是 3 分运气,7 分实力,不过不到最后也不要轻言放弃,万一呢,万一呢。