移动安全面试(2)——2023届快手秋季招聘面试
大家好,我是同学小F,某211硕士研究生,今天给大家介绍一下秋季的面试经历,今年秋招形势很难,投了好几家公司简历都没过,本科的时候也尝试找了下工作,当时基本大厂和国企基本拿了一些,后来保研就留在本校了,想着环境熟悉并且在原来的导师手下干活就没有去其他学校,今年在起初听到很多朋友说就业形势不好,其实也没想太多,然而真正等自己去找工作,才有点受打击。硕士期间主要在研究Android安全方向,漏洞、加壳与一些常见的逆向技术都有所涉及,硕士在校期间只发了一篇SCI 2区论文,一篇c会,然后就是实验室的各种项目经历了。
秋招提前批开始时,尝试了一些大厂,例如字节无恒,倒是给面试机会,不过一面完后就被挂了,而例如车厂,蔚来简历没过,后来到正式批了,又尝试了一些手机厂,想着大部分手机厂应该招移动安全人员,小米、荣耀、vivo都没有过简历,虽然小米给笔试(不过我朋友双9的就直接面试了),这属实是将信心有点打击。后来又试了一些企业,也拿了大厂、中厂、国企的offer,不过经历了新冠后,觉得可能生活更加重要吧,现在考到家这边的国家电网,准备躺平了。
最后结合自己的经历,给下半年秋招找工作的朋友一点建议,大家可以去实习,还是得去实习,实习经历很重要,再者安全很看成果,大家可以拿一些漏洞证书或CVE编号,以及打打ctf比赛,多在开源社区写写博客,制作开源工具等等,进一步提高自己知名度,硕士期间可能话还是可以发发高质量论文,这样之后的选择有很多,本来导师给我说继续本校硕博连读,不过想着自己读了太多年书了,所以就拒绝了,不过如果硕士期间有几篇不错论文,还是可以申请到很多高校读博的。
说了有点多,今天给大家分享一下快手的面试经历:(一轮初始+两轮复试+一轮hr面)
一面:
快手一面的面试官很和蔼,感觉交谈很融洽:
基础知识:
进程与线程区别?
计算机网络协议http与https的区别?
Android上中间人抓包的原理?如何进行防护?如何进行对抗?还有哪些抓包方式?非root环境可以抓包嘛?说说方案?现有的一些最难的抓包情况是怎么样的?flutter有了解么?遇到这种情况怎么进行抓包?除了你提到的这些通用抓包方案?还有没有其他思路?
Android动态加载壳、不落地加载壳、函数抽取壳的加壳原理以及脱壳方案?
了解Hook么,说下当前常用的一些hook方式?Xposed与Frida的原理,Frida与ptrace的关系,Frida和IDA能同时使用么?Frida绕过的常见方式?
IDA中F5防护的一些手段?
了解签名校验么?Android的签名机制?一些常用的签名校验方式?如何进行绕过?
了解重打包么?如何检测重打包?
Android中的漏洞挖掘了解么,列举你知道的经典漏洞原理?
问题大概就这些,然后最后面试官说道来我们手撕一道算法题,好像是一道简单题,有关排序问题的?给15问题在他们系统上写完?
二面:
二面问的感觉还挺深入的,好多问题没回答好?
vmp虚拟化如何实现对字段的虚拟化?
中断的具体汇编指令是哪个?
中断hook的一些实现的函数方法?
控制流平坦化的解决?
符号执行解决虚假控制流?
frida的inlinehook具体修改哪几条指令?
Magisk怎么实现root?
Magisk和EdXposed的关系?
Xposed为什么不能在Android8.0上使用?
Android版本更新,机制的重大变化?
Magisk怎么进行隐藏指纹信息?
不落地加载的基本原理?
got表hook和plt表hook的区别?
got表中有几种重定向的方式?
为了么可以删除section节区?
initarry的作用,可以没有initarry么?
针so里面的不同点字符加密怎么解决?
got表hook和inlinehook的优缺?
Dex2c的分析手段?
为什么Dex2C会影响性能?
ollvm中的不透明谓词有了解么? 针对不透明谓词是怎么解决的?
Unicorn里面一些问题?
三面:
三面的面试官应该是一个组长,问的项目经历,然后就是两篇论文问了很多?
创新点、数据集、以后怎么做?
还有就是Android恶意应用对抗,现有的恶意应用中有很多对抗手段,是怎么进行考虑的,你来防护怎么做?
以后的职业规划?
四面:
hr问了下移动安全的发展?
Android的设备指纹防护?
再就是就业地点,一些其他问题了?
最后整体就是这样,希望大家找工作顺利,以后就膜拜各位安全大佬了。