java 常见面试题

249 阅读6分钟

面试的搬员工,斜体的都是很经常问的, 持续更新中

 

集合

java 常用集合list与Set、Map区别及适用场景总结

HashMap 和 Hashtable 的区别

HashSet 和 HashMap 区别

HashMap 和 ConcurrentHashMap 的区别

HashMap 的工作原理怎么实现线程安全

ConcurrentHashMap 的工作原理(分段锁)

并发集合

从jvm编译优化角度解读String的赋值比较

String、StringBuffer与StringBuilder介绍


线程

创建线程的方式及实现  

sleep() 、wait() 、join()、yield()有什么区别

CountDownLatch 原理 简介

CyclicBarrier 原理

说说 Semaphore 原理

说说 Exchanger 原理

CountDownLatch 与 CyclicBarrier 区别

ThreadLocal 原理分析

讲讲线程池的实现原理

线程池的几种方式,常用的几种线程池 ,线程池里常用的属性

线程的生命周期

synchronized的原理

synchronized lock区别

volatile 实现原理

ReentrantLock

java锁的种类

提升锁性能

如何让10个线程串行的执行 (join)

AQS


IO

Netty如何解决粘包拆包

Netty之Reactor线程模型


Spring

AOP的原理

IOC的原理

Spring 源码解析

Spring事务的传播机制

spring bean 的生命周期

cglib动态代理 jdk代理区别 

Spring 框架中用到了哪些设计模式

Spring如何解决循环依赖

springMvc的工作流程,springMvc的controller是单例的;


JVM

JVM的内存模型

垃圾回收机制和调优手段

JVM性能调优

Java虚拟机-JVM各种参数配置大全详细

深入理解 Java 垃圾回收机制

类加载机制

JMM内存模型

设计模式

  设计模式的六大原则

  23种设计模式

  单例模式 常见写法(很常问)

  贫血模型or领域模型



微服务分布式

soa简介

高效的Java序列化(Kryo和FST)

序列化性能比较

缓存 哈希

rpc和restful

http请求方法

如何设计一个秒杀系统


Dubbo

dubbo小功能

SpringCloud 和 Dubbo有什么差别

dubbo简介    dubbo调用流程

dubbo序列化

Dubbo测试和生产公用一套zookeeper,怎么保证消费不冲突(group,version)

Dubbo接口的安全性: token安全验证  给dubbo接口添加白名单——dubbo Filter的使用

zookeeper原理简介


Redis

Redis为什么那么快

redis简介(数据结构,持久化方式等等)

Redis集群方案

mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?

redis数据淘汰策略

缓存穿透,缓存雪崩

redis主从同步原理

基于Redis实现分布式锁与实现


 消息队列MQ


分布式事物

cap理论,base理论


分布式事务处理方案 hmily,myth ,raincat,soul

基于消息中间件的解决分布式事务框架

TCC方案

二阶段提交

Spring分布式事务JOTM-atomikos实现




数据库(mysql)

数据库五大范式

sql优化   大表优化

mysql的数据库引擎的特性

MyISAM与InnoDB的区别

mysql数据库事务的特性和隔离级别

mysql 执行计划的参数与作用

mysql的锁

mysql的悲观锁(for update)与乐观锁(version版本号)

mysql btree与hash索引的适用场景和限制

MySQL的btree索引和hash索引的区别

MySQL索引背后的数据结构及算法原理

数据库分库分表策略的具体实现方案

分表之后如何查询分页

说说分库与分表设计(mycat,sharding-jdbc

mycat 简单分析(写的很棒)

Mycat的权威指南

数据连接池对比

排序算法

常见排序算法

AVL树,红黑树,B-B+树,Trie树原理和应用


杂七杂八

项目中有没有遇到你影响最深的问题,怎么解决的?

遇到问题你一般是怎么解决的?



1.HashMap为什么不是线程安全的?

2.ConcurrentHashmap底层实现?

3.线程池(包含什么,core、max联系)原理?

5.Synchronized原理?

6.Volatile原理?

7.JMM(主内存、工作内存、happens-before)是什么?

8.有哪些无锁数据结构?无锁实现的原理?

9.设计模式(装饰器设计模式、代理模式、单例模式、工厂模式)

10.Dubbo设计思路、netty原理是什么?

11.说下一次RPC请求的过程

12.MySQL怎么创建合理索引、索引怎么优化?

13.B+tree怎么分裂、什么时候分裂、为什么是平衡的?

14.MySQL事务实现原理,ACID实现原理

15.MySQL怎么优化table scan?

16.算法:有3n+1个数字,其中3n个中是重复的,只有1个是不重复的,怎么找出来?

17.Dubbo的底层实现原理和机制?

18.分布式系统怎么做服务治理?

19.接口的幂等性的概念介绍下