度小满Java一面面经

1. 首先是自我介绍环节

2. 看到简历里项目用了Spring,被问到Spring的启动流程;

3. 接着深入Spring,询问Bean的扫描机制;

4. 如何确保所有Bean都能被扫描到?若有Bean不在启动类根目录下该怎么处理;

5. Bean默认是单例还是多例;

6. 详细介绍单例模式;

7. 手撕两种单例模式的实现代码;

8. volatile关键字的作用;

9. 讲解JMM内存模型;

10. synchronized的底层实现原理;

11. synchronized如何保证可重入性;

12. synchronized的锁升级过程;

13. 什么是CAS(比较并交换);

14. 让我整体讲讲Java集合;

15. ArrayList是否线程安全;

16. 如何实现ArrayList的线程安全;

17. HashMap是否线程安全;

18. 讲解ConcurrentHashMap的原理,要求分别说明1.7和1.8版本的实现;

19. Java 1.8的ConcurrentHashMap有哪些优化,重点提及红黑树;

20. 什么时候HashMap中的链表会转成红黑树;

21. 若一个桶中元素超8个转红黑树后,移除元素使数量减少,红黑树会变回链表吗?反复添加移除同一桶元素,是否会导致两者频繁转换?该如何解决;

22. 红黑树的查找效率为何比链表高;

23. 线程池的4个核心参数及各自作用;

24. 向线程池提交任务的完整流程;

25. 线程池的四种拒绝策略分别是什么;

26. Redis的八种数据结构分别介绍;

27. 解释缓存击穿、缓存穿透、缓存雪崩的概念;

28. 如何解决上述三种缓存问题;

29. 什么是布隆过滤器;

30. 讲解Redis分布式锁;

31.除了Redis,还了解哪些分布式锁;

32.Redis分布式锁中的看门狗机制;

33.讲解TCP的三次握手与四次挥手过程;

34.TCP和UDP的区别;

35. Spring注入Bean有哪几种方式;

36. @Autowired和@Resource的区别;

37. 使用@Autowired时,若存在多个相同类型的Bean该如何注入;

38. 哪个注解可以扫描指定路径的Bean;

39. 介绍JVM的垃圾回收算法,并说明每种算法的优缺点;

40. 老年代和年轻代分别使用什么垃圾回收算法;

41. 手撕反转链表代码。

全部评论

相关推荐

11-03 17:42
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务