背景
在经历了春招沉重的打击(0offer)之后,我终于明白了自身实力与现实的巨大差距。但很不幸的是,我依然没有拿出百分之百的努力,一堆琐事和懒惰的心态阻止了我的步伐,导致我在8月初才开始认真的准备秋招。
ps.
1. 面经放在了最后,不想看总结的可以直接跳过。
2. 脚注是我对于秋招的各种心得体会,为了不影响阅读全部放在文章结尾。
准备
首先我需要对我自身进行一个分析,寻找最适合我的准备方法。
个人条件
先说一下秋招开始时的个人的条件吧,毕竟我的方法可能不是每个人都适合的,只能作为参考。
- 211本科,计算机专业。
- 有一两个独立完成的个人项目/demo(Android)。
- 没有获奖经历
- 没有实习经历。
- 计算机基础的深度一般,但广度凑合(就是平常上课都有听过,但都不认真)。
- 很少刷题。
- 在学校的仿真机器人实验室呆过两年,担任 队长。
优势
- 个人项目均是自己认真做完的,可以仔细聊聊,在项目上可以拓展各种知识点。
- 在实验室付出了很多心血,对整套架构了如指掌,可以仔细聊聊实验室的经历和收获。
劣势
- 学历不够,非985本科或研究生。
- 没有实习经历,无法了解到真实的业务场景。
- 刷题不够,手撕算法能力不够强。
- 计算机基础深度不足,容易被问死。
- 项目难度不足,没有太多亮点。
- 缺少重量级奖项(acm之类的)。
分析
- 由于劣势1,2,6,我的简历很难写的出彩,也很难走内推通道。
- 由于劣势3,4,5,在面试时缺少亮点和深度,无法让面试官留下太深的印象。
- 由于优势1,2,我在聊个人经历时有很多可以说的内容,可以充分展现我的业务能力和开发基础。
需要做的事
- 提高刷题量,增强算法能力。
- 在Android方面加深基础,多看面经。
- 持续的修改简历,突出亮点。
- 增加获奖经历。
- 复习科班基础。
过程
- 为了提高算法能力,我刷完《剑指offer》,了解面试官出题的套路;还在LeetCode上AC了20多道
Hard
难度的题,在牛客上AC20多道低通过率编程题,加强手撕代码的能力。 - 为了加强Android基础,我看了以下书目1
- 《深入理解Java虚拟机:JVM的高级特性与最佳实践》
- 《Android开发艺术探索》
- 《Android源码设计模式解析与实战》
- 《深入理解Android内核设计思想》
- 《Android开发进阶 : 从小工到专家》
- 为了提高计算机基础,我复习了以下科目2
- 计算机网络
- 操作系统
- 计算机组成原理
- 编译原理
- 在网络上搜集相关面经,主要是BAT TMD NJ的Android岗位的面经,在看面经的时候我会尝试回答每个问题,看看自身掌握如何,不会的及时找到答案并弄懂。
- 由于对内推不抱希望,我在牛客网上刷大量的笔试题。希望通过提高笔试能力,能尽量拿到参加面试的机会。
- 关注相关的内推与秋招消息。经常刷牛客、V2EX、知乎、脉脉和各种技术交流群,不放过各种内推或者补录的通知。
- 拿奖,增加简历亮点。在秋招期间,拿到了国赛三等奖,省赛一等奖,还有普通编程大赛的奖项。虽说奖项的含金量不高,但起码提高了在简历筛选关的通过率。
- 反复修改简历,不断的试错3。
- 熟悉项