秋招总结回馈-BATM
秋招基本结束了,在牛客收获很多,写个回馈贴攒个人品。
1. 个人背景
本硕科班
2. 秋招情况
只面四家。
- 美团 offer
- 字节跳动 offer
- 腾讯 offer
- 阿里巴巴 offer
由于没有记录面经的习惯基本都忘了,无法为大家提供面经,所以只写一些个人复习方式和知识点的总结。
3.1 复习方式
- 前期以看书为主,然后看的同时边做读书笔记整理成 mark 文档,目录和内容分块清楚方便后续追加和复习。
- 在看一个知识块的时候,看书的同时需要结合一些网上资料比如各种博客来扩展书外的知识点来完善自己的学习笔记。
- 多刷题,剑指 offer+top100需要吃透,有余力的最好 leetcode 有个300的题量,重质不重量,我自己的话是反复重刷而不是刷很多,有时候记题解在面试反而是捷径。
3.2 推荐资料
- 深入理解 Java 虚拟机
- Java 并发编程艺术
- 高性能 MySql
- Redis 设计与实现
- cyc2018博客
4.知识点总结
4.1 数据库
三大范式
内连接外连接
数据库事务四大特性(ACID)
事务隔离级别和出现的问题
MVCC
间隙锁
两种数据库引擎对比
B树、B+树、哈希索引特点和优缺点
聚集索引和非聚集索引和二级索引特点
最左匹配原则
redolog 和 binlog
数据库主从架构
慢查询优化
4.2 Redis
Redis 底层的五种基本数据类型结构特点
过期键的三种删除策略
RDB和AOF两种持久化方式
哨兵模式(raft算法)
主从复制的过程,新版旧版。
Redis 集群,一致性哈希
缓冲雪崩、缓存击穿、缓存穿透、如何保证双写一致性的定义和解决方式。
4.3 JVM
JVM 内存布局
垃圾回收机制
垃圾回收算法
创建对象过程
创建类的过程
双亲委派机制以及如何打破
能举例对一个类里面的东西做分析,知道存在哪个内存,什么时候初始化。
4.4 Java并发
线程的各种状态,以及什么情况下转化
等待通知机制,可写循环打印,生产者消费者算法
synchronized 原理,1.6后的几个新特性
JMM内存模型,内存屏障作用
voliate 关键字原理,作用
同步器的结构,作用
公平锁和非公平锁的加锁过程
Reentrylock和synchronized区别
countdownlatch
CAS 实现方式
4.5 网络
OSI七层模型每一层作用
IP协议
ARP协议
路由器,交换机
mac 地址
子网掩码
TCP协议和UDP协议的结构
三次握手四次挥手过程,以及为什么
time_wait 过多解决方式
close_wait 过多解决方式
客户端炸了服务端怎么办
窗口机制
重传机制
拥塞控制方式
http协议内容
get post 等方式对比
状态码
http 缓存实现流程
session cookie
https 加密过程和加密算法
DNS解析过程
http 1.0 1.1 2.0
4.6 操作系统(操作系统比较菜)
进程线程区别
进程调度算法
进程通信方式
死锁条件
银行家算法
操作系统内存管理
页,段
页面置换算法
4.7 其他
HashMap 原理
ArrayList,LinkedList,Vector 原理
阻塞队列
HashSet
线程池原理
设计模式
4.8 中间件和框架(了解大概原理)
zookeeper(zab协议)
netty(nio模型)
spring (ioc aop)
dubbo (RPC)
kafka(存储流程)
5.项目
项目的话最好是有实际上过线的项目,没有的话建议自己找个适合面试的写,建议自己撸个两个春招找实习,然后秋招再加实习的项目。
6.总结
上面的总结主要抽了重点写的不全面(有错误欢迎纠正)。我自己的学习方式是以总结为主,很少去看面经,因为感觉永远看不完,当你构建完所有知识网络的时候,其实面经上的大部分问题都是能包括进来并且能融会贯通,能大大提高学习效率。秋招是个漫长又折磨人的过程,但是只要方向是对的好好复习,制定好计划,我觉得最后都会有好的结果。而且有时候面试是一件很玄学的事,有实力的同时运气也是很重要的,存在面试官能不能对上眼各种因素。自己不是大佬,但很庆幸自己提早做好了规划,并按步复习,算是碰壁的比较少,虽然腾讯一个部门流程走了20天挂了个三面略有遗憾,无法凑齐 bat 三幻神!!!。(更新:腾讯换部门已拿下)
#面经##校招##阿里巴巴##腾讯##美团#