一、写作背景
1.分享经验。完整记录自己秋招的心里历程,给以后的自己看,给后来的同学们看。
2.解决问题。秋招期间信息繁杂,首先解决自己的信息体系杂乱的问题,将知识体系化有利于秋招取胜。
二、秋招的意义
1.秋招对于大企业来说是一场人才储备栈战,只有大企业才有秋招的概念,有资本和资源花费大量精力进行宣传和面试。
2.秋招对于学生来说是一场大型招聘会,是这辈子进入大公司最近、机会最多的、也是唯一一次有精力面对这么多大厂的面试。
3.秋招拿到offer是对学生时代最好的总结,人生进入新的阶段和起跑线。
三、备战秋招的策略
想在秋招中拿下offer,要牢记以下三点,所有的准备都要围绕这三点:
1.拿到足够多的面试机会,先拿到机会才能谈可能性。
2.根据自己简历形成系统性知识体系,在面试中占据主动地位。
3.永远对自己有信心,坚持到底。不断从面试中总结经验,补自己的知识盲区。
四、准备路线
- 准备简历,面向简历复习
- 项目,先完整做完,其次全方位挖掘亮点
- 算法,牛客网+LeetCode+往年真题;总结模板;总结手撕题目+练习
- 基础,知识点不整理,只整理面试题(核心是回答),搞定的题目发布到掘金
- 8月中旬开始投递简历,8月下旬参加提前批面试,9月参加秋招笔试+面试
五、技术面试考核的技术范围
算法与数据结构
- 数据结构:数组,链表,哈希表,堆,队列,栈,二叉树,B树/B+树,红黑树,图(研发少问)
- 常见排序算法
- 简单动态规划问题(背包、上楼梯)
- 各种时间空间复杂度
- 最基本的语言结构:语法,关键字含义,面向对象
- 集合类(ArrayList,HashMap,ConcurrentHashMap)
- 多线程(锁,CAS,线程池,concurent包下的类)
- 语言特性:反射,动态代理,泛型,Java8新特性
- IO(装饰器模式,NIO)
- JVM:内存模型,垃圾回收,类加载机制
- Tomcat,Servlet,JSP,Cookie/Session等基本概念
- 框架使用和原理:Spring(AOP、IoC),MyBatis
- 基本SQL语句,索引优化
- 存储引擎(InnoDB,MyISAM),索引原理
- 事务ACID,隔离级别
- 分库分表,主从复制,读写分离
- OSI 7层模型和TCP 4层模型
- 传输层:TCP/IP相关知识,和UDP比较
- HTTP协议:报文结构,POST/GET方法
- 网络编程(Socket,NIO,select等)
- 基本Linux的操作指令
- 进程/线程比较,进程间通信方式,P/V操作
- 磁盘调度,虚拟内存
- 死锁,中断