当前位置: 首页>数据库>正文

Java后端社招面经

?废话不多,直接进入正题
一.Java基础

? 1.基本类型 (精度问题 BigDecimal)

? 2.集合类?

? ? ① list ArrayList 扩容机制?

? ? ② set Hashset 底层实现 其实是hashMap

? ? ③ map map各种实现的区别 hashmap put操作 扩容机制 hash冲突的解决方式 concurrentHashMap 1.8前后的实现方式的区别

? 3.反射,io,nio,aio, netty

? 4.封装 继承 多态 (一定要有自己的理解,能解释清楚,以及自己在项目里如何使用的)

? 5. hash (hash冲突的解决方式 hashmap使用的那种,Redis使用的那种)? ?

? 6.抽象类(abstract) 接口(interface)区别 为什么要有这两种?

? 7. 线程和进程(自己可以解释清楚)

? ? ①Java线程和操作系统线程之间的关系

? ? ②runnable? callable futureTask之间的区别??

? ? ③fork? join用处 如何使用?

? ? ④countDownLatch? CyclicBarrier用处 如何使用

? ? ⑤线程之间 通信 同步??

8. 泛型 上限 下限?

9. 基类Object类,涉及的方法

10. 设计模式

? ? ① 单例 优缺点 实现方式(懒汉 饿汉 双检索 static 枚举)双检索的volatile的作用(这里是防止语义重排序)synchronized 为什么用这俩

? ? ② 工厂 三种 优缺点

11. 多线程?

? ?① 线程池 七个参数(CorePoolSize MaxPoolSize 数值和CPU核数相关 和任务类型相关 但是我觉得maxPoolSize这个参数是2倍CPU核数 不科学,任务类型也不可能特别明确)原理 4种拒绝策略 workQueue类型 JDK提供的线程池 Spring提供的线程池 另外一个ForkJoinPool 实现CompletableFuture

? ?② 单点锁 synchronized 保证线程同步 底层实现Monitor 保证原子性 锁升级过程(无锁 轻量级 自旋 重量级锁)可重入锁

? ? ? ? ? ? ? ? ? ?volatile 保证对象在多线程的可见性 以及防止语义重排序 不保证原子性 和synchronized区别

? ? ? ? ? ? ? ? ? ?lock 和 AQS 都是类 基于这个类 可以自定义锁

? ? ? ? ? ? ? ? ? ?threadLocal 保证数据隔离 底层是ThreadLocalMap 使用set方法 绑定数据到线程

? ? ? ? ? ? ? ? ? inheritableThreadLocal 父子线程使用

? ? ? ? ? ? ? ? ? ReentrantLock Lock子类 可重入锁 可重入与不可重入区别 和 synchronized 区别

? ?③ 分布式锁 Redis zookeeper? 锁区别 优缺点?

12. jdk jre sdk? 各个jdk区别

13.JVM

? ? ① 分区,各区存储内容

? ? ② jvm参数

? ? ③minor GC 和 Full GC 触发机制

? ? ④堆内存分区?

? ? ⑤类加载顺序 在JVM的流转顺序 类加载器 类加载时机

? ? ⑥类初始化的顺序 (做题时候会遇到) 父类静态代码块 子类静态代码块 这两块只加载一次 父类非静态代码块 子类非静态代码块 父类构造函数 子类构造函数?

? ? ⑦JVM各区oom原因 以及如何避免

? ? ⑧jvm为对象在堆上分配空间的方式 指针碰撞 空闲列表

? ? ⑨双亲委派模型

? ? ⑩年轻代 老年代 对象

? ? 11. 强软弱虚引用 GC算法 GC回收器 ZGC11jdk以后

14. 过滤器 拦截器区别

二、数据库?

1.关系型 非关系型 底层数据结构

2.MySQL底层存储结构

3.MySQL 引擎 各个引擎 数据结构 优缺点?

4. explain?

5. mvcc 版本链? log种类 用途

6. 索引 类别 创建的原则 使索引不生效的SQL? 索引不是越多越好?

7. SQL语句 执行顺序?

8. MySQL事务特性? 隔离级别 带来的问题? 锁?

9. 读取方式 隐式加锁 显式加锁 实时读 快照读?

10. 回表操作 聚簇索引 非聚簇索引

三 缓存

1. 为什么要有缓存

2. Redis 数据结构

3. Redis 部署方式

4.?缓存穿透 缓存击穿 缓存雪崩?

5. 内存淘汰策略

6. Redis MySQL同步

springboot 启动过程 自动装配原理 和普通的jar包的区别?

Spring IOC aop

aop 用法 实现? 几个相关的关键词 通知类型

bean作用域?

bean的生命周期

factoryBean? BeanFaactory?

BeanFactory ApplicationContext?

单例模式如何保证线程安全

如何解决循环依赖

事务传播机制 自定义bean?

SpringMVC 流程 DispatcherServlet?

mybatis hibernate 区别?

一级缓存 二级缓存?

Nginx location属性的优先级顺序?

minio fastdfs?

cas单点登录的流程 client server Authentication 三个端?

JWT 三个部分 优缺点 token机制?

设计模式 遵守的原则?

kafka 原理 如何保证消息不漏发 不重发 消费顺序? 再平衡?

分布式事务 cap Base理论? 解决方案?

数据结构?

树 红黑树 B+树 排序 查找 时间复杂度?

Linux 命令

get post 区别?

负载均衡算法 限流算法 实现

手写LRU 布隆过滤器?

Git merge rebase?

springcloud feign rpc调用协议 实现原理 和dubbo的区别?

服务注册 服务发现 原理?

优缺点?

项目优化 code DB cache assyn multi-thread distribute JVM?

项目瓶颈?


https://www.xamrdz.com/database/6m71994706.html

相关文章: