华为网络安全工程师面试
面试要求
- 计算机、软件、信息安全、密码学、网络安全技术与工程、人工智能、数学 等相关安全专业本科及以上学历,网络安全相关专业优先;
- 熟悉网络安全、信息安全等相关领域:如端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵和攻击分析等;
- 具备扎实全面的计算机、网络(TCP/IP)等方面的基础知识;
- 熟悉主流编程语言之一:Java/ Python/C/C++/ C#/ PHP/ Shell等编程语言、脚本语言,熟悉Linux系统和主流数据库,了解主流的互联网安全技术和安全产品,如网络安全,主机安全,应用安全,密码技术,以及防火墙、入侵检测和防病毒等安全产品;
- 对安全攻防、渗透测试(如DDOS攻防、提权等)等相关安全专题有相关项目经历,或具有华为公司系列认证证书(HCIE/HCNP/HCNA)、业界网络安全证书者优先;
- 有网络安全实习经验或网络安全大赛(如CTF)经验优先
一面:技术面
- 自我介绍
- cia有啥
- pwn主要是对哪个cia造成威胁
- 画x86_64/gcc的函数调用前后的栈变化.
- 加密分类,为什么这么分,为什么有非对称还要对称(即有什么区别、优劣).
- 非对称加密有什么,为什么能做加密.
- tcp模型有几层,snmp在第几层
- 冲突检测
- linux找文件名包含.txt文件内容含有pass的文件
- Aes加密有什么密码学中常用的方法
- Aes的加密模式.
- cbc和ecb两种模式有什么区别
- Aes脆弱性.ctf中常见的攻击.
- 造成uaf的原因与危害
- 分段与分页
- 内核态与用户态通讯
- shell命令注入
- PE FA怎么变到RVA的
- rebasing的过程
- 做一套题.(以下记录题目中我记得的考点)
- sync flood 需要什么
- 给明文和密文判断aes加密模式
- ssh、ftp、http、memcached、redis、mysql使用的端口
- 几个伪协议不会造成xss的有啥
- ASLR是为了防御什么攻击
- 安卓用一个啥协议读通讯录
- 安卓逆向框架有啥
- ubuntu 16.04 4.15内核 x86_64 gcc 5.4.0环境,获取flag 写exp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char flag[10];
void create_flag()
{
int fd;
fd = open(fd,O_RDONLY);
open(fd,flag,10);
close(fd);
}
void main()
{
char something[10];
char buf[] = "%s";
create_flag();
scanf("%10s",something);
printf(buf,something);
}
二面:技术面
这一面是真的难:( 那面试官怼的我嗦不粗发.但是也学到挺多新的东西
- 自我介绍
- heap overlap如何leak libc
- one_gadget约束都失效的情况下如何利用
- 二层最小的帧是多少字节
- 除了ida与gdb有没有用过其他工具
- gdb脚本写过么
- ida写过插件么
- elf文件头有多少个字节
- 如何给elf新加段
- patch怎么做
- Web了解多少
- sql左右连接的关键字
- xxe原理与危害
- angr是不是一定能到达目的块,为什么
- 符号执行了解多少
- AFL用过没
- fuzzing写过没
- ctf中遇到比较难的问题
- 内核了解多少
- 有没有复现过cve
- qume如何创建磁盘映像
- 做一套题
- mybatis使用啥能完全防御sql注入
- crlf注入危害
- c指针
- iptables怎么清理所有链上的规则
- arm栈调用用哪个寄存器
- 一个没有函数名的函数如何还原函数名
三面:总管面
- 自我介绍
- 对协会管理
- 对协会新人培养
- ctf线下赛分工,你为团队做了什么贡献
- 有没有去企业实习过
- 对华为文化的理解
- 对加班的看法
- 职业规划
- ctf与真实环境的区别
- 这个岗位是干嘛的
- 爱好
- 遇到的挫折以及怎么克服的
- ctf中遇到比较难的问题或者有趣的问题
- 还有什么问题
总结
这次面试是我准备时间比较长的一次了,但是我准备的都没有用到…还是靠一个平时积累,现场随机应变.几场面试下来感觉面试体验还是挺好的,平均一场面试一到一个半小时左右,面试官们都挺有意思的,就跟一般聊天的氛围差不多,我也学到了挺多东西,也知道了自己听过不足.感觉面试这种,不要害怕说错,但是一定要把你会的你知道的相关的都说出来.