本科应届生安全岗面试总结

很久没有更新博客了, 主要原因是因为现在笔记都记在了有道云笔记中. 并且 很多篇文章都只写了一半, 也不想发出来.

近期时间充裕, 应该会保持每周一更, 将以前写的或者近期学到的知识总结一下发在博客里.

本篇文章是19年春节写的, 主要记录了自己在18年的几次面试记录, 和大学期间的一些学习经历.

个人简介 #

L0phTg

学习方向: 二进制, 移动安全.

专业: 信息安全.

学习经历 #

大一 #

  • 在未加入实验室之前, 我处于"野生, 放养"的状态 (就是没有目的的学习, 乱七八糟买了很多计算机类的书, 应该大多数人都经历过这个阶段, 其实在这个阶段就是要多了解熟悉各个计算机专业方向, 所以也没有必要一直苦恼, 分清主次, 打好基础就对了.)

  • 大一主要学习了一段时间c/c++,( 此处推荐 << c语言程序设计现代方法>><< c++Primer>> ). 由于当时看到很多人推荐 <<深入理解计算机系统>>, 所以耐不住诱惑, 就买了一本来看, 我的汇编知识最初就是在这本书上看到的.

  • 当然其实大一虽然没有过多接触信息安全领域的专业知识, 但是由于一直在微博, 知乎关注着很多安全届大佬, 对安全领域也有了基本的概念与印象, 知道安全基本分为web和二进制等之类, 也了解到安全届有heige和tk两位妇科圣手, 这些多少都给无聊的大学生活增添了许多乐趣.

  • 关于安全学习的方向其实确定起来不是那么容易的, 最初了解到的是余弦、heige,所以多少想从事web安全领域. 但是在最终确定学习方向的时候, 还是考虑了自己的实际情况, 自身学习路线与兴趣爱好. 在大一暑假, 总结了一下自己大一看过的书有关于c/c++的, 汇编的, 和w32的, 以及阅读了 <<加密与解密>>, 而且熟悉了linux下的基本操作. 至于web方向的试探, 只是停留在w3c上看过一点h5. 所以, 理所当然的就决定了之后走二进制这条路线.(方向领域的确定还是要根据自己实际情况考虑, 如果不考研, 且决定大三要找工作的话)

  • 移动安全领域入门, 是在大二, 至于是发生了什么导致自己想要向android安全靠拢的, 保密.

大二 #

  • 大二在历经艰辛进入实验室后, 生活就比较顺风顺水了, 就抱着一本 << android软件安全与逆向分析>> 看了一个学期, 大二上就是这么过的.

  • 大二下主要是接触了一些android逆向与脱壳, 跟着f8left的视频, 自己尝试着去调试.

  • 大二暑期尝试去绿盟实习, 无奈面试失败. (失败+1)

大三 #

  • 大三由于面临着找工作这个大难题, 所以想着做些什么能够让自己的简历有亮眼之处. 所以就想着写些项目. 所以大三上和寒假就一直在coding. 主要写了两个项目: 一个ptrace相关, 一个arm相关.

  • 大三下就是春招, 阿里腾讯面试失败. (失败+2) (面试失败对自己的打击是很大的, 所以失败后自己也在反思总结, 然后期待之后的公司面试能够顺利通过, 具体面试体验等看下一部分)

  • 之后面试小米. (成功+1) 面试小米成功之后, 就直接去了小米实习, 几个月的实习生活中, 学习到了很多. (具体看之后的实习经历)

大四 #

  • 大四秋招.

  • 我的面试经历其实并不顺畅, 但是之后的内容不会写的太具体, 只写一些主要的, 希望对大家有所帮助.

  • 拿到offer之后. 追剧, 玩游戏, 看直播….

面试准备 #

其实面试的准备内容是根据自己的面试岗位变化的. 例如游戏安全偏c/c++, app安全可能会涉及java. 但是自己擅长的一定要多做准备. 可以根据每次面试自己的发挥, 以及面试官的提问重点, 来针对性的复习和学习.

移动安全岗位问到的相关内容包括(简历上写的基本都可能会问到): c/c++, java, smali, android逆向, 简单数据结构和算法, 简单加密算法, 分组加密的模式 hook等.

面试经历 #

春招 #

春招印象最深的是腾讯的几次面试:

第一次面的是tx游戏安全, 由于自己当时对hook没有了解, 并且在最后回答c++方向的问题时, 表现不好, 所以gg. ( 但是这次面试失败后, 就疯狂恶补了hook方向的内容. 这也使得自己在秋招面试一些公司时, 得以不在hook方向被打出gg)

还有一次也是tx的另一个二进制部门, 面试失败的原因, 我归结为自己没有对一些安全知识做过总结. 所以在面试时, 发挥不好. (经常性的总结自己学过的知识, 是挺重要的. 这次面试失败之后, 就开了个有道云笔记会员, 硬广一波, 主要优势 跨平台. hhhhaaa.)

小米面试, 是我春招的结尾, 一周面了三面技术面, 体验最好. 一面组长面, 对我写的一个项目问了有40min, 注意, 一个项目, 问到我怀疑人生. 二面: 智力面? 问了几个算法, 回答的一般, 但还是挺过去了. 终面(boss面): 自己在经历过春招的几场面试失败后, 对android安全做了一些系统的总结. 所以boss在问到对android安全的认识和了解的时候, 以及linker模块的时候, 把自己系统总结过的表达出来, 就通过面试了.

秋招 #

在经历过春招之后, 秋招相对来说轻松一些. 因为自己相对来说有了更多的经验, 也基本不会惨死在基础知识上(但还是有), 就算参加有些公司的面试, 即使失败了, 也没有那么多的抱怨和后悔.

实习经历 #

实习时间(2018-4-15~~2018-8.30).

实习单位: 小米MIUI系统组.

在小米实习的日子, 是非常开心快乐的, 我也慢慢地从一个路人变成了一个米粉. 在实习期间, 学习到了很多:

  • 刷机.
  • gdb调试android系统和应用.
  • 对android底层的art虚拟机有了一定的了解.
  • method hook.
  • 总结了很多android加固方法.
  • 实现了一个加固demo.