从面试官角度来问八股文

从面试官的角度来问八股文

一、java基础八股文

基础暖场

先java基础中的基础暖场

&和&&区别
==和equal区别
final, finally, finalize的区别
抽象类和接口的区别
String、StringBuffer、StringBuilder区别
Overload和Override的区别
作用域public,private,protected,default区别

java中基本类型
java跨平台
String是基本类型吗?可以写个类继承吗
java中实现多态的机制
Object类常用方法

集合

进入集合问题-重头戏

热身

list set map区别?
arrayList和LinkedList区别?
arrayList和LinkedList哪个插入更快?
arrayList原理、LinkedList原理、hashSet原理
多线程场景下怎么用ArrayList、HashSet

HashMap连问–重中之重

1.hashmap原理
2.hashmap为什么8后转红黑树,用其他数据结构可不可以
3.hashmap扩容了解吗
4.扩容为什么加载因子是0.75
5.hashmap是线程安全的吗,为什么
6.并发情况下怎么保证hashmap安全?引出hashtable和conConcurrentHashMap
7.为什么不建议用hashtable
8.concurrenthashmap原理了解吗?
9.concurrenthashmap扩容机制了解吗?
10.ConcurrentHashMap在JDK1.8中为什么要使用内置锁Synchronized来替换ReentractLock重入锁?
12.为什么 key 和 value 不允许为 null?
13.put 操作如何保证数组元素的可见性?

并发编程

进入并发编程问题-重头戏

热身

object类中有什么方法?
sleep\wait\yeild区别?
多线程连问
1.并发并行?
2.进程线程?
3.线程生命周期
4创建线程的方式 可以调到6多线程
5.需要返回值用哪种方式?

6.为什么用多线程
7.有几种多线程创建方式?
8.多线程的原理
9.线程池参数?
10.多线程拒绝策略?
线程池怎么返回?submit和excute

11.如何保证线程安全?引出锁这些
12.synchronized 原理?
13.synchronized 锁升级过程?
14.锁升级过程中谈到了cas那么说一下。可以谈到aba问题了
15.锁升级过程我看你说到了几种锁类型,能说说其他分类吗?乐观锁 悲观锁等等
16.那么synchronized是什么类型的锁?
17.volitile能保证线程安全吗?不满足原子性,有可见性,可以聊聊jmm了
18.死锁了解吗?
19.怎么避免死锁?
20.还有什么其他方式保证线程安全?lock
21.lock几种实现类说一下
22.aqs和ReentranLock原理
23.ReentranLock和syn区别?
24.还有什么其他方式保证线程安全,不同步行不行? threadlocal
25.内存泄露呢?怎么解决
26. 说一下CountDownLatch、CyclicBarrier、Semaphore
27.原子类用过没
28.集群分布式模式下的线程安全?分布式锁
29.分布式锁的几种实现方式 数据库 zookeeper redis
30.你会采用哪种方式实现?
31.编不下去了

锁概念连问

乐观锁和悲观锁?
synchronized是乐观锁还是悲观锁
ReentranLock是乐观锁还是悲观锁
公平锁/非公平锁
ReentranLock怎么实现公平锁
独享锁(互斥锁)/共享锁
读写锁
可重入锁
自旋锁
分段锁

jvm

JVM–蛮重要的

jvm连问
1.说一下类加载过程 加载 链接 初始化
2.链接过程你说一下 验证 准备 初始化
3.验证啥玩意?校验格式
4.准备干嘛的?赋初始值
5.解析干嘛的?静态常量池符号引用 转化 运行常量池直接引用( #后的这些玩意)
6.说一下双亲委派模型原理,好处呢?避免呢?
7.你提到了类加载器,那么说说吧
8.那我加载的时候是一次性加载还是动态加载?为什么呢?
完事来说说内存模型吧
1.内存模型给我讲一下
2.提到了虚拟机栈干什么用的?栈帧、局部变量表、操作数栈、动态链接、方法出口
3.玛德那你用main方法中a=1,b=2 a+b来说一下main方法虚拟机栈处理过程
4.程序计数器你也提到了,干什么用的?主要保存线程执行上下文
5.堆呢是干嘛的?
6.说一下对象创建的方式 new 反射 clone 反序列化
7.不为难你,说一下对象在堆中分配过程?
满足逃逸分析栈上分配
满足小对象tlab能不能分配
tlab不能,eden分配
大对象老年代分配
8.分配完,说说垃圾定位算法、内存回收算法和内存回收机制吧
9.什么时候触发minor GC、magor GC、FullGC?
10.内存回收器了解马?cms g1 等对比一下

调优连问
tomcat调优?
jvm调优?调整
sql优化?
索引优化?

故障连问
cup飙高排查?
内存飙高、溢出排查?
频繁minorgc?
频繁fullGC?
怎么分析慢查询sql 说一下explain执行计划

二、java框架八股文

tomcat、Spring、SpringMVC、Mybatis、Springboot连问

问下原理暖暖场

1.说一下tomcat启动原理?
2.请求在connector中做了什么事?
3.请求在container中做了什么事?
4.Pipeline-Valve?
5.filterChain?
6.映射器?
7.tomcat怎么结合Spring?Spring实现tomcat的Lister接口 受监听自启动(观察者)
8.tomcat怎么结合SpringMVC?配置servletclass–DispatcherServlet,映射/ 都转到DispatcherServlet,调用初始化方法启动

问下spring–重中之重

https://baijiahao.baidu.com/s?id=1736128832181642837&wfr=spider&for=pc
1.Spring ioc加载过程和Bean生命周期
2.Spring 循环依赖以及解决,为什么用三级缓存?
3.Spring有哪些模块?
4.Spring注入方式?
5.Spring生命周期?提供接口实现拓展
6.BeanFactory和Context(ApplicationContext)的区别
7.能解决什么循环依赖,不能解决什么循环依赖?
8.说说对spring AOP的理解和使用?
9.Spring如何保证线程安全?
10.Spring事务和mysql事务的区别?
11.谈谈你对Spring事务的理解?隔离级别、传播机制、Spring事务。编程式事务声明式事务

问下mybatis–重

mybatis mapper原理
mybatis延迟加载原理
mybatis一级、二级缓存原理
动态sql原理、插件原理
关联查询配置
不同xml映射文件id是否可以重复
#{}和${}区别

问下springMVC–小样
https://blog.csdn.net/guan1843036360/article/details/123012816
问下springboot–重

三、数据库

热身

mysql执行原理?
什么是关系型数据库和非关系型数据库?
数据库三大范式

事务

1.什么是事务
2.事务的ACID特性
3.多事务会发生什么问题
4.事务隔离级别?
5.事务隔离级别(默认是可重复读)

索引**

https://blog.csdn.net/hahazz233/article/details/125372412

1.什么是索引?
2.为什么要建索引?
3.什么时候建索引?什么时候不建索引?

4.索引类型?
5.主键索引和唯一索引的区别
6.什么是聚簇索引和非聚簇索引

7.什么是联合索引?
8.什么是回表查询
9.什么是最左匹配原则?
10.什么是索引覆盖
11.什么是索引下推

12.索引数据结构?
13.hash索引和B+树索引的区别?
14.为什么B+树比B树更适合实现数据库索引
优化?
15.索引失效场景?
16.索引优化手段?

锁**

按照数据的操作类型划分:共享锁、排他(独占)锁
按照数据操作粒度划分:表级锁、行级锁、页级锁
按照对待锁的态度划分:乐观锁、悲观锁

存储引擎

1.什么是数据库的存储引擎(表类型)?
2.有inndb和myISAM,为什么推荐inndb?

四、redis八股文

五、消息队列八股文

六、分布式基础框架八股文

七、分布式解决方案八股文

八、问问项目吧

九、数据结构

栈、链表、队列、树
树:二叉树--平衡二叉树--avl树--红黑树--B树--B+树--B*树--tire树
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值