今天在这分享目前国内公司 Java 面试常问的问题包括 JVM、常用的算法和数据结构,redis 缓存,分布式,Spring,微服务等。正所谓知己知彼,只有体系知识巩固,面对不断更新的技术才能快速掌握,同时在面试、工作中也更能脱颖而出!
一,性能优化专题:
1.tomcat 优化相关:
2.jvm 性能优化相关:
-
Java 类加载过程?
-
描述一下 JVM 加载 Class 文件的原理机制?
-
Java 内存分配。
-
GC 是什么?为什么要有 GC?
-
简述 Java 垃圾回收机制。
-
垃圾回收的优点和原理。并考虑 2 种回收机制。
-
Java 中会存在内存泄漏吗,请简单描述。
-
深拷贝和浅拷贝。
-
System.gc()和 Runtime.gc()会做什么事情?
-
如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
-
什么是分布式垃圾回收(DGC)?它是如何工作的?
-
串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
-
在 Java 中,对象什么时候可以被垃圾回收?
-
简述 Java 内存分配与回收策率以及 Minor GC 和 MajorGC。
-
JVM 的永久代中会发生垃圾回收么?
-
什么是类加载器,类加载器有哪些?
-
类加载器双亲委派模型机制?
答案解析:
答案解析
微服务架构专题:
1.springcloud 面试专题:
-
什么是 SpringCloud?
-
使用 SpringCloud 有什么优势?
-
服务注册和发现是什么意思?SpringCloud 如何实现?
-
负载平衡的意义什么?
-
什么是 Hystrix?它如何实现容错?
-
什么是 Hystrix 断路器?我们需要它吗?
-
什么是 NetflixFeign?它的优点是什么?
-
什么是 SpringCloudBus?我们需要它吗?
2.SpringBoot 面试专题:
-
什么是 SpringBoot?
-
SpringBoot 有哪些优点?
-
什么是 JavaConfig?
-
如何重新加载 SpringBoot 上的更改,而无需重新启动服务器?
-
SpringBoot 中的监视器是什么?
-
如何在 SpringBoot 中禁用 Actuator 端点安全性?
-
如何在自定义端口上运行 SpringBoot 应用程序?
-
什么是 YAML?
-
如何实现 SpringBoot 应用程序的安全性?
-
如何集成 SpringBoot 和 ActiveMQ?
-
如何使用 SpringBoot 实现分页和排序?
-
什么是 Swagger?你用 SpringBoot 实现了它吗?
-
什么是 SpringProfiles?
-
什么是 SpringBatch?
-
什么是 FreeMarker 模板?
-
如何使用 SpringBoot 实现异常处理?
-
您使用了哪些 startermaven 依赖项?
-
什么是 CSRF 攻击?
-
什么是 WebSockets?
-
什么是 AOP?
-
什么是 ApacheKafka?
-
我们如何监视所有 SpringBoot 微服务?
3.dubbo 面试专题:
答案解析
三,Redis 专题:
-
什么是 Redis?简述它的优缺点?
-
Redis 与 memcached 相比有哪些优势?
-
Redis 主要消耗什么物理资源?
-
Redis 有哪几种数据淘汰策略?
-
Redis 官方为什么不提供 Windows 版本?
-
一个字符串类型的值能存储最大容量是多少?
-
为什么 Redis 需要把所有数据放到内存中?
-
Redis 集群方案应该怎么做?都有哪些方案?
-
Redis 集群方案什么情况下会导致整个集群不可用?
-
Redis 有哪些适合的场景?
-
说说 Redis 哈希槽的概念?
-
Redis 集群的主从复制模型是怎样的?
-
Redis 集群会有写操作丢失吗?为什么?
-
Redis 集群之间是如何复制的?
-
Redis 集群最大节点个数是多少?
-
Redis 中的管道有什么用?
-
怎么理解 Redis 事务?
-
Redis 事务相关的命令有哪几个?
-
Rediskey 的过期时间和永久有效分别怎么设置?
-
Redis 如何做内存优化?
-
Redis 回收进程如何工作的?
-
使用过 Redis 分布式锁么,它是怎么实现的?
-
使用过 Redis 做异步队列么,你是怎么用的?有什么缺点?
-
什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
答案解析:
答案解析
四,MysqL 专题:
-
一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 MysqL 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15?
-
MysqL 的技术特点是什么?
-
Heap 表是什么?
-
与 Oracle 相比,MysqL 有什么优势?
-
如何区分 FLOAT 和 DOUBLE?
-
区分 CHAR_LENGTH 和 LENGTH?
-
如何定义 REGEXP?
-
CHAR 和 VARCHAR 的区别?
-
列的字符串类型可以是什么?
-
MysqL 中使用什么存储引擎?
-
MysqL 驱动程序是什么?
-
TIMESTAMP 在 UPDATECURRENT_TIMESTAMP 数据类型上做什么?
-
主键和候选键有什么区别?
-
myisamchk 是用来做什么的?
-
如何控制 HEAP 表的最大尺寸?
-
MyISAMStatic 和 MyISAMDynamic 有什么区别?
-
federated 表是什么?
-
如果一个表有一列定义为 TIMESTAMP,将发生什么?
-
列设置为 AUTOINCREMENT 时,如果在表中达到最大值,会发生什么情况?
-
怎样才能找出最后一次插入时分配了哪个自动增量?
-
你怎么看到为表格定义的所有索引?
-
LIKE 声明中的%和_是什么意思?
-
如何在 Unix 和 MysqL 时间戳之间进行转换?
-
列对比运算符是什么?
-
我们如何得到受查询影响的行数?
-
LIKE 和 REGEXP 操作有什么区别?
-
BLOB 和 TEXT 有什么区别?
-
我们如何在 MysqL 中运行批处理模式?
-
MyISAM 表格将在哪里存储,并且还提供其存储格式?
-
MysqL 中有哪些不同的表格?
-
ISAM 是什么?
-
InnoDB 是什么?
-
如何输入字符为十六进制数字?
-
如何显示前 50 行?
-
可以使用多少列创建索引?
-
Now()和 CURRENT_DATE()有什么区别?
-
什么样的对象可以使用 CREATE 语句创建?
-
MysqL 表中允许有多少个 TRIGGERS?
-
什么是非标准字符串类型?
-
解释访问控制列表
-
MysqL 里记录货币用什么字段类型好
-
MysqL 数据表在什么情况下容易损坏?
-
MysqL 有关权限的表都有哪几个?
-
MysqL 中有哪几种锁?
答案解析:
答案解析
五,并发编程专题:
-
Synchronized 用过吗,其原理是什么?
-
你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁?
-
什么是可重入性,为什么说 Synchronized 是可重入锁?
-
JVM 对 Java 的原生锁做了哪些优化?48
-
为什么说 Synchronized 是非公平锁?49
-
什么是锁消除和锁粗化?49
-
为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有什么特性?
-
乐观锁一定就是好的吗?
-
跟 Synchronized 相比,可重入锁 reentrantlock 其实现原理有什么不同?
-
那么请谈谈 AQS 框架是怎么回事儿?
-
请尽可能详尽地对比下 Synchronized 和 reentrantlock 的异同。
-
reentrantlock 是如何实现可重入性的?
-
除了 ReetrantLock,你还接触过 JUC 中的哪些并发工具?
-
请谈谈 ReadWriteLock 和 StampedLock。
-
如何让 Java 的线程彼此同步?你了解过哪些同步器?请分别介绍下。
-
CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢?
-
Java 线程池相关问题
-
Java 中的线程池是如何实现的?
-
创建线程池的几个核心构造参数?
-
线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?
-
既然提到可以通过配置不同参数创建出不同的线程池,那么 Java 中默认实现好的线程池又有哪些呢?请比较它们的异同
-
如何在 Java 线程池中提交线程?
-
什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?
-
请谈谈 volatile 有什么特点,为什么它能保证变量对所有线程的可见性?
-
既然 volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并发安全的?
-
请对比下 volatile 对比 Synchronized 的异同。
-
请谈谈 ThreadLocal 是怎么解决并发安全的?
-
很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal 需要注意些什么?
答案解析:
答案解析
由于篇幅原因,在这就不做全部展示了,这些题我已经整理成 pdf需要的朋友请留言。
原文地址:https://www.jb51.cc/wenti/3283317.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。