个人简介
hello,大家好,本人18级普通本科毕业程序猿一枚,家在黑龙江,毕业后成为深漂中的一份子。来到深圳后才发现真的是人才济济,有一分钟不努力就要被甩很远呢!
之前在深圳一家中型传统互联网公司做一枚搬码工,在公司主要写业务代码和CI/CD的东西,加上自己平时没有加强学习,真的落后了几亿条街。
种种原因(我不会说是感情原因的,来自东北大男孩的鄙视→_→),选择裸辞,趁着十一出去放松了一下,回来后大约学习和复习了半个月左右,接下来2个星期左右的面试。一共面试了10多家,从创业公司到BAT都面试了,拿了1半的offer,但是很遗憾,没有拿到BAT的offer,不过对于第一次社招,还是达到我的期望值的。毕竟还是有自知之明,确实有很大差距。但通过这次经历也找到自己的不足点,希望下次可以进入BAT!!!奥利给
分享给大家我自己复习的面试知识点,感觉可以应对90%的公司啦,当然只限于1到5年程序猿,大佬们可以忽略。希望大家可以早日进入BAT,带下我,哈哈哈0.0。
当然你会更多的技术最好,因为主要面试为java后端,而且裸辞时间越久心理压力越大,所以只准备这些基础知识点。会大数据的组件加分更多哦!
复习知识点大纲
面试基础知识点
java基础
object有哪些方法及作用
8种基本数据类型及占字节
自动拆装箱用的那个方法
重载和重写的区别
equals 和== 区别
创建对象的方式
字节流和字符流区别
注解
常见异常
session和cookie区别
泛型
Comparetor和compareable区别
为什么重写equals要重写hashcode
异常体系
迭代时删除和修改如何不会报错
lambda和stream
Stringbuffer和StringBuilder区别
JVM
jvm概念
class文件结构
jvm8个原子指令
class文件加载过程,类初始化过程 classLoader源码
类加载器
双亲委派
强 软 弱 虚引用
一个对象创建到销毁的过程
cpu飙高如何排查
内存飙高如何排查
JMM
内存模型
CPU解决缓存不一致
对象内存结构
内存分配
堆分代及对象位置流程
内存溢出和内存泄露
垃圾回收
判断哪些对象需要回收算法
垃圾回收算法
垃圾回收器 主要G1 CMS ZGC 原理 算法实现
card table
设计模式
设计模式六大原则
每种设计模式在项目中应用(当然不会都问,看你准备了)
集合框架
为什么使用集合
collection有哪些方法及作用
List和Set
AarryList优缺点、底层实现、默认长度,扩容
Linklist优缺点、底层实现
Vector和AarryList区别
HashSet原理
TreeSet原理
HashMap原理、源码、1.7和1.8区别 put方法逻辑
concurrenthashmap 原理及源码
网络编程
网络模型
BIO NIO AIO原理能画图
HTTP post get区别 请求内容和响应内容
跨域问题
HTTPS 原理及实践
对称算法和非对称算法
TCP原理 三次握手 4次回收 拆包粘包 拥塞控制算法
UDP 和TCP区别
一次完整的http过程
一次完整的ftp过程
ip分片
广播
为什么经历2MSL才关闭
netty框架
tomcat内部原理及架构为什么不用netty
http2.0
socket位于哪一层
多线程
AQS 源码
CAS 原理
ABA问题
线程和进程 线程状态
notify notifyAll区别
sleep和wait区别
synchronized和reentrantlock的区别
synchronized 锁升级 实现细节
线程池参数 拒绝策略 excute源码 关闭
ThreadLocal 源码 内存泄漏 使用场景
Executors 5种线程池作用 原理
场景题你工作中用什么线程池为什么,怎么可以优化
volatile 线程可见 禁止指令重排序
CompletableFuture 分步执行在汇总
Exchanger 交换器
Condition 条件对列
Semaphore 信号灯
ReadWriteLock 读写锁
MarriagePhaser 阶段
reentrantlock 重入锁
CountDownLatch 门栓
CyclicBarrier 栅栏
队列
乐观锁和悲观锁
规定线程优先级
面试框架知识点
Spring
SpringMVC工作原理
IOC AOP具体实现到代码级别
Spring框架应用哪些设计模式
事务传播
声明式事务原理
springbean生命周期
怎么在服务启动的时候做一些初始化事情
SpringCloud
组件原理
源码
eurka与zk区别
如何技术选型dubbo还是springcloud
Mybatis
如何做到接口实例化的
用法
属性名和表名如何对应
批量sql执行
XML各种标签的作用
数据结构与算法
八大排序
树遍历
最好每天一到力扣题
刷个5 6 页就基本没啥问题了
面试中间件知识点
Mysql
事务
隔离级别
innodb为什么可重复读不会造成幻读
MVCC
范式
索引 类型 为什么用b+tree
引擎原理 区别
锁算法 间隙锁 防止幻读 临键锁 记录锁
回表
内外链接
主从复制
脏页
慢查询怎么排查
隐式转换
Redis
简介
事务命令
数据类型
为什么单进程单实例
epoll
回收策略
持久化方式、优点、区别
集群和哨兵模式
击穿、穿透和雪崩解决方案
分布式锁实现缺点怎么解决死锁问题
管道
排行榜具体实现
位图
zookepeer
简介
分布式锁与redis区别
分布式协调技术
注册中心与eruka区别
集群崩溃恢复
zab算法
Dobbo
简介
架构、组件
netty实现
负载均衡
dubbo spi与jdk spi区别
如何做限流
集群方式
MQ
如何确保消息不丢失
如何保证消息不重复
如何保证消费顺序
分布事务解决方案
消息延迟
KAfKA 重中之重
Nginx
简介
负载均衡
反向代理
动静分离
辅助知识点
docker、K8s、ES、Vue、fastDFS、服务网格等