java面经收集
https://github.com/jujunchen/Java-interview-question
Java面试题集中营
Java面试宝典-牛客网
HashMap面试必问的数据结构相关知识总结
作者:想风一样自由
链接:https://www.nowcoder.com/discuss/506024
来源:牛客网
1. 项目
2. 自己对团队贡献最大的,说了性能优化,写通用流程。问性能优化做了哪些?
异步化,并行,缓存,本地缓存,稳定性方面,限流降级熔断,问怎么做的?有没有将这些方案自动化?没有,对用户商家有损;限流怎么实现的?
监控怎么加的,怎么实现的?
3. 自己的优势在哪儿?
4. 自己的缺点?
5. 怎么用流去提取一串数字中相同的数字?
6. 有一个学生对象,其中有姓名,性别,怎么用流去提取 姓张,姓刘的最多的学生,并且男女要分开
7. delayQueue 的实现?
8. 100W 的数据,需要定时更新,失败需要重试,需要尽快执行完成。现在机器数量不固定,如何用最少的代码实现
9. 一个任务在平时只需要 5 个线程就可以处理好,忙的时候需要 100 个线程才能处理完成, 如何设计才能合理利用资源?
10. 如何排除线上问题?还不要方法论的那种
11. 自己的职业规划
12. 有一个 HTTP 请求,现在返回值和原来不一致,影响了业务,如何排查?
13. 如果现在应用的 CPU 利用率高,如何排查?
14. JAVA 的4种引用,分别有哪些应用场景?
15. 一致性hash 算法的原理?如果有数据倾斜怎么解决?带有虚拟节点的一致性 hash
16. 布隆过滤器的原理?场景
17. SQL 优化的一些方法?
18. 消息队列用的哪个?答:NSQ,面试官:没听说过,遂没接着问
作者:想风一样自由
链接:https://www.nowcoder.com/discuss/508527
来源:牛客网
-
公司做的项目,设计插件,
-
讲讲项目的架构,设计,数据流,ER 图
-
Redis 使用过吧,缓存击穿的解决办法,Redis 的数据结构有哪些,Redis 的主从结构,数据分片,一致性 hash
-
JAVA 基础,存放不相同的对象使用什么数据结构,引出对象的 hashCode 和 equals方法,HashSet 是用什么结构实现的;
-
HashMap 的冲突解决办法
-
HashMap 是不是线程安全的容器,如果并发访问了JDK 是怎么解决的
-
线程安全的容器 ConcurrentHashMap是怎么解决线程安全问题的,分段锁
-
悲观锁和乐观锁的区别,使用悲观锁有什么影响(线程中断,慢),乐观锁有什么好处
-
spring ,spring 的 IOC 是什么,怎么实现的,突然就有点不知道从何说起,讲了有依赖注入和依赖查找,说道了使用 spring 的注解,然后容器启动的时候加载这些注解所在的类,使用反射执行执行初始化就 OK 了
-
然后问到使用反射就可以加载一个 private 的成员吗,不能,需要设置权限
-
如何解决循环依赖呢,用一个 Map 把依赖存起来呗,如果有说明有循环依赖
-
平常自己通过哪些途径学习,答看文档,看博客
-
如果有一个主线程和很多个子线程,主线程需要等子线程运行完才能继续执行,你会用什么,CountdownLatch嘛
-
讲讲 GC,清除,整理,交换(survivor 区域),CMS 执行的过程
-
讲讲自己的希望未来做的事情,高并发场景和领域建模
-
讲讲领域建模,就是 DDD 的核心思想,实现起来就是在 Service 那一层使用充血模型
-
平常有自己写博客吗,不写笔记,996没时间写博客
-
java SPI机制实现 ?dubbo的spi有啥不同,为什么,有没有看过dubbo的源码,它的上下文可以讲一下吗,dubbo的泛化调用有了解吗?
-
如何提升系统稳定性? 业务监控,监控哪些内容?qps,rt,失败率。
-
限流降级熔断你是怎么使用的?
-
如何解决 本地事物成功,消息发送给消息队列成功,但是由于网络原因而没有收到成功的回复? 事务消息
-
concurrent hashmap 如何解决 并发插入桶的第一个元素的问题?
-
threadlocal的实现讲一下?如何将父线程的threadlocal变量传给子线程?
-
加锁的流程讲一下。Aqs的实现讲一下?
-
双重检验的单例实现,volatile解决了什么问题,只用synchronized关键字可以吗,为什么不可以?
-
数据库,MVCC的实现讲一下?多版本体现在哪里实现上是怎样的?B+树索引有了解吗?怎么解决不可重复读的问题?
-
分布式锁,如何解决锁超时未释放的问题
-
动态代理是实现是怎样的,字节码层面上是怎么实现的?
-
Gc相关,新生代,老年代相关的算法流程,为什么要这样使用?
-
spring 的上下文有了解吗,ioc的实现??di注入是怎么实现的??
-
cas是怎么实现的? 交换比较是哪个变量?
-
了解unsafe吗
-
有哪些是你熟悉的领域也可以讲讲?
二面
-
系统架构讲一下?数据流向?数据库设计 (ER 图)讲一下?如果一个商品列表要展示活动,如何设计的?
-
进程和线程的区别?多进程编程有了解吗?多线程编程要注意什么?共享变量,执行时序
-
MySQL 的主从同步机制?幻读是什么?
-
Redis 的主从同步机制?
-
二叉树的层序遍历?
-
设计一个积分前 100 的排行榜?如果积分变更在不同的地方,如何让积分榜实时更新?发消息,监听 binlog
- 本地事务和发消息如何保证强一致性? 事务消息可解决
- 为什么会考虑离职?期望有个更好的平台来发展呗
-
二面面试官人很好,又问了些其他的,比如说公司有没有使用这些严格的机制,比如说事务消息,面试官答:工业界使用当然是越简单的机制越好,新技术可以学习,但是要引进实际生产一定要考虑其本身的复杂性,巴拉巴拉了好多
链接:https://www.nowcoder.com/discuss/496774
来源:牛客网
2. 重复出票怎么处理?重复下单怎么处理?
3. 分布式锁如何实现的?redis分布式锁和zk分布式锁有什么区别?
4. redis分布式锁实现的话,setnx和expire命令,如果A线程将expire操作操作到了B线程了,也就是expire了另一个线程的资源,这种怎么避免?
5. 线程池是什么?
6. Future是什么?有什么作用?
7. 线程池核心数是20个,最大线程数是40个,讲一下任务进入线程池的原理逻辑?
8. 线程池阻塞队列有哪几种?
9. 优先队列了解吗?优先队列底层实现机制?
10. 你说下LinkedBlockingQueue底层阻塞的原理是什么?
11. 你说一下ReentrantLock和Synchronize的区别?
12. ReentrantLock和读写锁的区别?
12. AQS里的setState()是什么时候调用?
13. 讲一下锁的升级策略?
14. HTTP和HTTPS的区别?
15. 对称加密和非对称加密有什么区别?HTTPS是用到了那种加密方式?
16. 看你简历说是熟悉JVM,那JVM有哪几种GC算法?
17. 新生代中为什么会有From Survice和To Survice区?
18. 使用CMS垃圾收集器时,遇到大对象比较多导致频繁GC,该如何解决这种情况?
19. GCRoot是什么?哪些对象是GCRoot?
20. MySQL中有哪些索引类型?
21. B+树和B树有什么区别?
22. 联合索引什么情况下会失效?
23. 最左匹配原则是什么?
24. MySQL有哪几种隔离级别?
25. 幻读是什么?RR隔离级别能解决幻读吗?那RR隔离级别是怎么解决幻读的?
26. 你知道间隙锁吗?间隙锁的作用是什么?是怎么解决幻读的?
27. SpringAOP了解吗?有哪几种实现方式?
28. CGLIB什么情况下会失效?
29. 为什么要同时重写equals和hashcode?
- 你在项目中学习到了哪些?或者是遇到了哪些困难?怎么解决的?
- 如何保证你的调用链路的稳定性?如何保证服务调用链路请求的幂等性?
- mq消息的幂等性如何保证?
- mq如何保证顺序消费?
- 线程池创建有哪几种方式?
- 线程池核心参数有哪些?
- 线程池中拒绝策略有几种?分别说一下各自的作用?
- Redis都用到了哪些场景?除了缓存还有其他场景吗?
- 缓存雪崩、穿透、击穿是什么?如何解决?
- 对于穿透解决方案给key对应的value对写为null、未知错误、稍后重试时,如何解决当数据库真的有对应数据时,缓存数据没更新导致正式用户请求访问不到缓存?
- 你刚刚是讲到了布隆过滤器吗?讲一下布隆过滤器的作用以及底层原理?
- 如何保证缓存和数据库数据一致性?
- 对实时性要求比较高的缓存如何保证和数据库数据一致性?
- 在Redis中常用的数据结构有哪些?
- Redis中Hash结构的扩容机制是什么?那你可以讲讲HashMap的扩容机制吗?
- Redis中的过期机制有哪几种?底层都是如何实现的?
- Redis的部署有哪些方式?
- Redis的cluster和Setinel实现原理是什么?
- 数据库的查询优化、排查慢sql以及sql优化是怎么进行的?详细点说明下
- InnoDB中哈希索引实现机制是什么?
- MySQL中唯一索引和聚镞索引相比,性能如何?
- 除了常用排序算法,你还会用到什么算法?或者了解什么算法?
- Redis中跳表的原理了解吗?
- 项目中用过自定义SpringBoot starter吗?starter是如何实现的?
- 有没有做过或了解过大批量数据迁移,类似于大批量MySQL数据迁移到ES中的操作?
- 分布式事务了解吗?你们项目中都用到了哪些分布式事务?都有哪些优缺点?
- 说一下JVM内存模型有哪些?说一下JVM的内存区域?
- 在Java中,有哪些包是直接定义在对外内存中的?
- 线上做过哪些性能排查以及性能优化的操作?
- 了解Java中的happen-before原则吗?
- 除了用锁、volatile之外,如何保证一个线程的变量能被另外一个线程的变量给实时读取到?
链接:https://www.nowcoder.com/discuss/500617
来源:牛客网
链接:https://www.nowcoder.com/discuss/490951
来源:牛客网