哈罗

开始

1.自我介绍&项目介绍

我的是新闻门户网站,介绍了一下都用到了什么技术,几个人开发,怎么协作

2.先聊聊java基础,说说java面向对象的三大特征

(ps:如果碰到了这个问题,能说多少说多少,拖时间,面试官一般不会轻易打断的) 封装继承多态,在延伸一些C++中的一些对比什么的

3.接口和抽象类的区别?

4.接口和抽象类的java版本不同,有了哪些变化?

5.说说集合的种类

6.HashMap底层实现 (ps:这里能扯得也很多,多说说别的来做对比,比如HashTable怎么怎么,比如扩容机制怎么怎么,能延伸多少是多少)

7.解决哈希冲突的几种办法是什么?

8.ConcurrentHashMap 和 Hashtable 的区别

9.多线程知道吗,大概说说

10.多线程的线程池讲一下,好处是什么?

11.多线程的实现方式

12.多线程线程池的参数都有什么,有哪些作用?

13.多线程的拒绝策略有哪些?详细说说

14.多线程的应用场景,详细说说 (ps:这里一般我们的项目接触不到,一定要去看看相关的案例什么的)

15.ThreadLocal 原理和内存泄漏问题说说

16.行,那来聊聊框架,说说spring和springboot的特点

17.Spring/Spring Boot 常用注解

18.单例 bean 的线程安全问题了解吗?

19.数据库的事务都有哪些,用什么来保证这些特征

20.一条sql怎么优化的呢?

21.知道什么是覆盖索引和回表吗?

22.什么是MVCC?

23.直到redis嘛,Redis Stream消费者崩溃带来的会不会消息丢失问题

24.Redis Steam 坏消息问题,死信问题

25.说说Redis哈希槽的概念?

26.Redis文件事件的模型,详细说说

27.算法题:类似leetcode269 火星词典 (因为见过,这个题的思路很清晰,很快就写完了,面试官觉得不过瘾又来了一道)

28.算法题:一道动态规划,没找到合适的类似题目

你还有什么想问的吗?

评价一下我的表现

面试官:很不错,等消息吧