总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。
Mybatis源码解析
全部学习资料免费获取方式: 关注+点赞,点这里,即可免费领!
-
jdk1.7 到 jdk1.8 Map 发生了什么变化(底层)?
-
ConcurrentHashMap
-
并行跟并发有什么区别?
-
jdk1.7 到 jdk1.8 java 虚拟机发生了什么变化?
-
如果叫你自己设计一个中间件,你会如何设计?
-
什么是中间件?
-
ThreadLock 用过没有,说说它的作用?
-
Hashcode()和 equals()和==区别?
-
mysql 数据库中,什么情况下设置了索引但无法使用?
-
mysql 优化会不会,mycat 分库,垂直分库,水平分库?
-
分布式事务解决方案?
-
sql 语句优化会不会,说出你知道的?
-
mysql 的存储引擎了解过没有?
-
红黑树原理?
蚂蚁Java 一面
- 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树( AVL 树)和弱平衡二叉树
(红黑树)有什么区别
-
B 树和 B+ 树的区别,为什么 MySQL 要使用 B+ 树
-
HashMap 如何解决 Hash 冲突
-
epoll 和 poll 的区别,及其应用场景
-
简述线程池原理, FixedThreadPool 用的阻塞队列是什么?
-
sychronized 和 ReentrantLock 的区别
-
sychronized 的自旋锁、偏向锁、轻量级锁、重量级锁,分别介绍和联系
-
HTTP 有哪些问题,加密算法有哪些,针对不同加密方式可能产生的问题,及其
HTTPS 是如何保证安全传输的
蚂蚁 Java 二面
-
设计模式有哪些大类,及熟悉其中哪些设计模式
-
volatile 关键字,它是如何保证可见性,有序性
-
Java 的内存结构,堆分为哪几部分,默认年龄多大进入老年代
-
ConcurrentHashMap 如何保证线程安全, jdk1.8 有什么变化
-
为什么 ConcurrentHashMap 底层为什么要红黑树
-
如何做的 MySQL 优化
-
讲一下 oom 以及遇到这种情况怎么处理的,是否使用过日志分析工具
蚂蚁 Java 三面
-
项目介绍
-
你们怎么保证 Redis 缓存和数据库的数据一致性?
-
Redis 缓存雪崩?击穿?穿透?
-
你熟悉哪些消息中间件 ,有做过性能比较?
1 、并发编程三要素?
2 、实现可见性的方法有哪些?
3 、多线程的价值?
4 、创建线程的有哪些方式?
5 、创建线程的三种方式的对比?
6 、线程的状态流转图
7 、 Java 线程具有五种基本状态
8 、什么是线程池?有哪几种创建方式?
9 、四种线程池的创建:
10 、线程池的优点?
11 、常用的并发工具类有哪些?
12 、 CyclicBarrier 和 CountDownLatch 的区别
13 、 synchronized 的作用?
14 、 volatile 关键字的作用
15 、什么是 CAS
16 、 CAS 的问题
17 、什么是 Future ?
18 、什么是 AQS
19 、 AQS 支持两种同步方式:
20 、 ReadWriteLock 是什么
21 、 FutureTask 是什么
22 、 synchronized 和 ReentrantLock 的区别
23 、什么是乐观锁和悲观锁
24 、线程 B 怎么知道线程 A 修改了变量
25 、 synchronized 、 volatile 、 CAS 比较
26 、 sleep 方法和 wait 方法有什么区别 ?
27 、 ThreadLocal 是什么?有什么用?
28 、为什么 wait() 方法和 notify()/notifyAll() 方法要在同步块中被调 用
29 、多线程同步有哪几种方法?
30 、线程的调度策略
31 、 ConcurrentHashMap 的并发度是什么
32 、 Linux 环境下如何查找哪个线程使用 CPU 最长
33 、 Java 死锁以及如何避免?
34 、死锁的原因
35 、怎么唤醒一个阻塞的线程
36 、不可变对象对多线程有什么帮助
37 、什么是多线程的上下文切换
38 、如果你提交任务时,线程池队列已满,这时会发生什么
39 、 Java 中用到的线程调度算法是什么
40 、什么是线程调度器 (Thread Scheduler) 和时间分片 (TimeSlicing) ?
41 、什么是自旋
42 、 Java Concurrency API 中的 Lock 接口 (Lock interface) 是什么?对 比同步它有什么优势?
43 、单例模式的线程安全性
44 、 Semaphore 有什么作用
45 、 Executors 类是什么?
46、线程类的构造方法、静态块是被哪个线程调用的
1. 描述一下 JVM 加载 Class 文件的原理机制 ?
2. 什么是类加载器?
3. 类加载器有哪些?
4. 什么是 tomcat 类加载机制?
5、类加载器双亲委派模型机制?
6. Java 内存分配?
7. Java 堆的结构是什么样子的?
8. 简述各个版本内存区域的变化?
9. 说说各个区域的作用?
10. Java 中会存在内存泄漏吗,简述一下?
11. Java 类加载过程?
12. 什么是 GC? 为什么要有 GC ?
13. 简述一下 Java 垃圾回收机制?
14. 如何判断一个对象是否存活?
15. 垃圾回收的优点和原理,并考虑 2 种回收机制? 基本原理是什么?
16. 深拷贝和浅拷贝?
17. 什么是分布式垃圾回收( DGC)?它是如何工作的?
-
说说你的⼯作经历?
-
项⽬主要负责哪⼏个模块?
-
画出你项⽬的结构图
-
Eureka 是如何进⾏服务注册的?
-
如果服务宕机或者⽆法访问了,我还去请求该服务, Eureka会怎么处理? 会有什么现象?
-
谈谈 Eureka 的保护机制
-
Ribbon 的负载均衡是⾯向服务内部还是外部的?
-
Ribbon 如何实现负载均衡的?
-
如果没有 Eureka ,我能直接通过 Ribbon 进⾏服务请求吗?
-
Hystrix 如何实现熔断?
-
当服务⽆法访问时,是直接熔断还是降级?
-
怎么样才会出现熔断?
-
在 Springcloud中,消费者调⽤提供者的流程是如何的?请画图 springcloud 的⼯作原理
-
Redis 的集群⽅式有哪些?
-
如果你原来读取的 Redis中的数据,它的数据的结构发⽣了变化,如何在 不改变代码的情况下进⾏处理,使下游业务不受影响?
-
Redis 的持久化⽅式有哪些?说说他们的具体实现、
-
使⽤ Redis 的过程中有没有遇到什么问题?
-
Redis 的内存回收机制有哪些?
-
Redis 的过期策略有哪些?简单介绍下不同策略
-
说说 Redis 的淘汰策略?淘汰的算法可以修改或者⾃⼰重写吗?
-
你们的项⽬中消息中间件⽤的是什么?
-
你们的 Rabbit 集群是怎么部署的?
-
Rabbit 集群之间的数据是如何同步的?同步⽅式还是异步⽅式?
-
⼀个队列中的数据你们是存放在⼀台机⼦上还是多台机⼦上?为什么?
-
RabbitMQ 内部结构是怎么样的?请画出 RabbitMQ 的架构图
-
你们公司的数据库有分库分表吗?如何实现的?
-
Mysql 的索引是基于什么?
-
说说 B+ 树
-
使⽤⾃增 ID 和 UUID 作为主键有什么不同?
-
说说数据库的事务隔离级别有哪些?
-
在代码中,我们如何实现事务?
-
如果在⼀个事务中,代码业务流程很⻓,会有什么问题吗?为什么会出 现这种问题?
-
使⽤ volatile关键字的时候有遇到过什么问题吗?为什么会出现这种问 题?
-
请说说 volatile 的底层实现原理
-
如何创建线程池?有什么参数?线程池的实现原理
-
你有什么问题想问我们的吗?
1.bio 与 nio 的区别
2.select 与 poll 的区别
3.zookeeper 的⼯作原理
4.cap 理论
-
⼆段式满⾜ cap 理论的哪两个理论
-
线程池的参数配置,为什么 java 官⽅提供⼯⼚⽅法给线程池
-
分布式框架 dubbo 的好处,不⽤ dubbo 可不可以。为什么要使⽤分布式
-
七个垃圾回收器之间如何搭配使⽤
-
接⼝限流⽅案
10.ConcurrentHashMap 使⽤原理
-
解决 map 的并发问题⽅案
-
什么是协程,以及实现要点
13.lru cache 使⽤ hash map 的实现(算法)
-
图的深度遍历和⼴度遍历(算法)
-
基本排序(算法)
-
设计模式的使⽤
17.java 8 流式使⽤
-
说说 b+ 树?
-
内存屏障与 volatile :
20.java 域的概念
-
分布式设计领域的概念
-
如何实现双 11 的购物限流( redis 实现⽅案)
23.mysql 调优
24.cdn (异地多活)
- 进程之间的通信⽅式
26.tcp/ip 协议、 http 协议
- 写⼀个 redis 分布式锁:
28.spring 7 种事务的传播⾏为:
- 分布式下 down 机的处理⽅案(⼼跳检测)
30 、分析下分布式强⼀致性、弱⼀致性、最终⼀致性?
31 、 dubbo 与 zookeeper 两者作为注册中⼼的区别,假如注册中⼼挂了,消费者还能调⽤服务吗,⽤什么调⽤的
32 、 dubbo 的原理图(画出注册中⼼,消费者,⽣产者的关系图,并说出每个⻆⾊的作⽤)
33 、项⽬中有没有⽤到多线程?
34 、 HashMap 的底层原理(包括底层数据结构,怎么扩容的)
35 、 ConcurrentHashMap 的原理
36 、 分布式锁的实现
37 、分布式 session ,如何保持⼀致
38 、消息中间件都⽤到哪些,他们的区别
-
我们知道 hashmap 线程不安全,那⽤什么类可以代替它保证线程安全呢?他们⼜是如何实现线程安全的呢?
-
说说⼏种 GC 机制?
-
说说⼀致性 hash ?
-
mybatis 基础知识;
-
mysql 基础知识;
-
mysql 单表达到多少数据量需要分库分表?
-
hibernate 基础知识。
-
说说 kafka 的原理,为什么能保证这么⾼的吞吐量?
-
对 webservice 有什么了解?
-
说说你们公司 git 分⽀管理⽅案?
-
mysql 如何进⾏分表分库?
-
你们如何和前端进⾏接⼝联调?
-
说说你平时遇到的重⼤难题或者挑战,以及你解决问题的思路和流程。 平时关注⼀下公司线上问题的解决⽅案。
-
画出项⽬的架构图
-
所处⾃⼰负责的业务模块,其中⽤到了哪些技术点?
-
如何实现最终⼀致性分布式事务?
-
索引的 B+ 树结构是怎样的?
-
哪些情况下索引会失效?除了加索引优化查询,还有哪些⽅法?
-
说说⾃⼰了解的设计模式? Spring中⽤到了哪些设计模式?⾃⼰有⽤过哪些设 计模式吗?
7.TCP 三次握⼿和四次挥⼿机制?
8.Https 原理?
9.Redis 的数据类型有哪些?与 Memcached 的区别?
-
消息队列有⽤到吗?具体在项⽬中是怎么⽤的?如何保证消息的可靠传递?
-
说说 java 集合,每个集合下⾯有哪些实现类,及其数据结构?
-
介绍⼀下红⿊树、⼆叉平衡树。
-
jdk1.8中ConcurrentHashMap size ⼤于 8时会转化成红⿊树,请问有什么 作⽤,如果通过 remove 操作, size ⼩于 8 了,会发⽣什么?
-
说说 java 同步机制, java 有哪些锁,每个锁的特性?
-
说说 volatile 如何保证可⻅性,从 cpu 层⾯分析。
-
spring 加载 bean 的顺序?
-
哪些对象会被存放到⽼年代?
-
什么时候触发full gc?
-
jvm 中哪些地⽅会出现 oom ?分别说说 oom 的可能原因?
-
我们如何发现 oom 来⾃ jvm 中哪个区域?
-
有没有 jvm 调优经验?调优⽅案有哪些?
-
平时有没有看过什么源码,请画出来。
-
有没有写过或者看过 custom classloader ?
-
介绍你最近做的⼀个项⽬,画出框架图并分析业务流程。
-
平时看过哪些书?
[图片上传失败…(image-f59723-1611062305870)]
- 简历写什么问什么,注意所⽤技术产品的同类产品⽣态及对⽐。
2.kafka 数据分区和消费者的关系, kafka 的数据 offset 读取流程, kafka 内部如何保证顺序,结合外部组件如何保证消费者的顺序
3.cms 垃圾回收机制
4.springcloud 各个组件功能,内部细节,与 dubbo 区别, dubbo 架构, dubbo 负载策略
一线互联网大厂Java核心面试题库
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
image-f59723-1611062305870)]
- 简历写什么问什么,注意所⽤技术产品的同类产品⽣态及对⽐。
2.kafka 数据分区和消费者的关系, kafka 的数据 offset 读取流程, kafka 内部如何保证顺序,结合外部组件如何保证消费者的顺序
3.cms 垃圾回收机制
4.springcloud 各个组件功能,内部细节,与 dubbo 区别, dubbo 架构, dubbo 负载策略
一线互联网大厂Java核心面试题库
[外链图片转存中…(img-x1IS2wE4-1715783915240)]
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!