查漏补缺!Java培训讲师周末兼职
# Java基础
1.JAVA 中的几种数据类型是什么,各自占用多少字节。
2.String 类能被继承吗,为什么。
3\. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
4\. String 属于基础的数据类型吗?
5.Java 中操作字符串都有哪些类?它们之间有什么区别?
6.Java 中 IO 流分为几种?
7.BIO、NIO、AIO 有什么区别?
8.用过哪些 Map 类,都有什么区别,HashMap 时线程安全的吗,并发下使用的 Map 是什么,他们的内部原理分别是什么,比如存储方法,hashcode,扩容,默认容量等。
9\. 如何将字符串反转?
10.抽象类必须要有抽象方法吗?
11.普通类和抽象类有哪些区别?
12.抽象类能使用 final 修饰吗?
13.ArrayList 和 LinkedList 有什么区别?
14.ConcurrentHashMap的数据结构(必考)
15.volatile作用(必考)
16.Atomic类如何保证原子性(CAS操作)(必考)
17.为什么要使用线程池(必考)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046436386443.jpg)
# Redis
* Redis的应用场景
* Redis支持的数据类型(必考)
* zset跳表的数据结构(必考)
* Redis的数据过期策略(必考)
* Redis的LRU过期策略的具体实现
* 如何解决Redis缓存雪崩,缓存穿透问题
* Redis的持久化机制(必考)
* Redis为什么是单线程的?
* 什么是缓存穿透?怎么解决?
* Redis持久化有几种方式?
* Redis为什么这么快?(必考)
* Redis怎么实现分布式锁?
* Redis如何做内存优化?
* Redis淘汰策略有哪些?
* Redis常见的性能问题有哪些?该如何解决?
* Redis的使用要注意什么?
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046436485756.jpg)
# ZooKeeper
* CAP定理
* ZAB协议
* leader选举算法和流程
* zookeeper 是什么?
* zookeeper 有几种部署模式?
* zookeeper 怎么保证主从节点的状态同步?
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046436704947.jpg)
# Mysql
* 事务的基本要素* 事务隔离级别(必考)
* 如何解决事务的并发问题(脏读,幻读)(必考)
* MVCC多版本并发控制(必考)
* binlog,redolog,undolog都是什么,起什么作用
* InnoDB的行锁/表锁* myisam和innodb的区别,什么时候选择myisam
* 为什么选择B+树作为索引结构(必考)
* 索引B+树的叶子节点都可以存哪些东西(必考)
* 查询在什么时候不走(预期中的)索引(必考)
* sql如何优化* explain是如何解析sql的* order by原理
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046436693186.jpg)
# JVM
* 运行时数据区域(内存模型)(必考)
* 垃圾回收机制(必考)
* 垃圾回收算法(必考)
* Minor GC和Full GC触发条件
* GC中Stop the world(STW)
* 各垃圾回收器的特点及区别
* 双亲委派模型
* JDBC和双亲委派模型关系
* JVM 中一次完整的 GC 流程是什么样子的,对象如何晋升到老年代,说说你知道的几种主要的 JVM 参数
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046437820660.jpg)
# Spring
* Spring的IOC/AOP的实现(必考)
* 动态代理的实现方式(必考)
* Spring如何解决循环依赖(三级缓存)(必考)
* Spring的后置处理器
* Spring的@Transactional如何实现的(必考)
* Spring的事务传播级别* BeanFactory和ApplicationContext的联系和区别
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046437524358.jpg)
# 其他
* 高并发系统的限流如何实现
* 高并发秒杀系统的设计
* 负载均衡如何设计
# 操作系统篇
* 进程和线程的区别
* 进程同步的几种方式
* 线程间同步的方式
* 什么是缓冲区溢出。有什么危害,其原因是什么
* 进程中有哪几种状态
* 分页和分段有什么区别
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046437550326.jpg)
# 多线程篇
* 多线程的几种实现方式,什么是线程安全
* volatile 的原理,作用,能代替锁吗?
* sleep 和 wait 的区别
* sleep(0)的意义
* Lock 和 Synchronized 的区别
* synchronized 的原理是什么,一般用在什么地方(比如加载静态方法和非静态方法的区别)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046437775977.jpg)
#
# 总结
谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。
为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的
**并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析),[有需要的朋友可以戳这里即可免费领取](https://gitee.com/vip204888/java-p7)**
![我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046438432294.jpg)
66个Java面试知识点
**架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)**
![我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046438909129.jpg)
**算法刷题(PDF)**
![我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046438447393.jpg)