2023面经

汇总了一下从10月份离职到12月份找工作被问到的面试题

数据库相关:

1、什么是回表?

      在数据库中,尤其是在MySQL中,“回表”(table scan)是指当查询无法仅通过索引树(index tree)来获取所需的数据时,数据库需要回到原始的数据表(table)中去检索数据。这种情况通常发生在使用非聚簇索引(non-clustered index)进行查询时。
     非聚簇索引的叶子节点通常只存储主键值,而不存储完整的行数据。因此,当用户执行查询时,如果查询条件包含非索引列(即索引列之外的列),数据库可能需要先通过索引找到对应的主键值,然后回到主表中获取完整的行数据。这个过程就是回表。
      回表是一个相对耗时的操作,因为它涉及到额外的磁盘I/O。为了减少回表操作,数据库管理员可能会考虑创建包含所有需要查询的字段的覆盖索引(covering index),这样查询就可以直接从索引中获取到所需的数据,而不需要回表。

2、主键索引和索引区别?

3、MySQL的隔离级别有哪些?分别说说解决哪些问题?

4、说一下Mysql Innodb支持哪几种索引,底层结构?

5、Mysql如何看当前sql索引使用情况?sql前面加上 EXPLAIN 语句

6、写一个分页查询sql?

WHERE id = some_value ORDER BY id ASC LIMIT 100 OFFSET 10;

7、Spring写一个分页查询?

8、说一下mysql中的执行计划

9、哪些情况下会使索引失效?

设计模式相关:

1、说一下单例模式?懒汉式和饿汉式的区别?

2、说一下读写者模式

Redis相关:

1、说说哨兵模式

2、Redis有哪几种数据结构?

3、Redis设置过期时间的命令是什么?

4、Redis如何做数据持久化?

5、你在项目中如何使用的Redis?

6、如何用Redis做消息队列?

7、缓存击穿、穿透、雪崩?

Kafka相关:

1、你在项目中如何使用的kafka?

2、说说Kafka的topic、相关参数的作用

3、消费者是如何进行消费的?

Java相关:

1、数组、链表区别?

2、说一下HashMap?

3、手写一个二分查找代码?

4、说一下Java GC?

5、说一下类加载机制?

6、说一下JVM?

7、说一下线程实现有哪几种方法?

8、使用过线程池吗?线程池中几个核心参数分别是什么?作用是什么?

9、线程池和Executor的关系是什么?

10、说一下封装、继承、多态?

11、线程池中如果没有任务了后核心线程会被销毁吗?

12、知道Java反射吗?反射如何实现的?Spring中哪里用到了反射机制?

13、Java的几种基本类型与引用类型?在-128到127会出现什么现象?

14、Java基本数据类型有哪些,引用数据类型有哪些?为什么有了基本数据类型外还要有引用类型?

15、error和exception区别?运行时异常有哪些?

16、ArrayList是线程安全的吗?线程安全的List有哪些?

17、说一下JAVA内存模型

18、工作中用出现性能问题如何解决的?如何使用的jps、jstate这些工具?

19、说一下布隆过滤器?

20、让你实现一个事务要怎么设计?

Spring相关

1、使用Spring框架的好处?

2、说一下Bean的生命周期(太长,不想背,直接回答不会)

3、说一下Spring中如何开启事务?

4、spring和springboot有哪些区别?

5、spring核心注解有哪些?

项目相关

1、对方有反爬虫机制你是如何处理的?

Linux相关

1、查找文件中某个关键词的命令

2、统计一个文件中某个词出现的总次数用哪个命令?

Docker相关

1、Docker如何打通的内部网络与外部网络?

docker run --network host --name my-container my-image

docker run -p 8080:80 --name my-container my-image

其他:问项目

猜你喜欢

转载自blog.csdn.net/sinat_41721615/article/details/135236589