2023年一线JAVA面试题

企业一:

1.redis是重点。

项目中哪些地方用到了redis,为什么用redis,为什么有些数据你们不用redis存储,redis持久化,redis数据的基本格式。

2.核心业务是什么与基本业务流程是什么

3.你项目中工单审批流程是怎么实现的

4.springboot常用注解有那些?

5.spring的ioc与aop 

6.反射的使用

7.maven怎么继承

8.springCloud常用的注解

企业二:

1.这个项目上线了吗?是哪个公司做的?给谁做的?

2.redis存储结构有哪些?

3.你用了springcloud哪些组件?

4.注册中心有了哪个?还有其他的东西吗?

5.熔断用了哪个?他的作用是什么?

6.你们项目的事务是怎么实现的?分布式事务怎么实现的?

7.你们总共做了几个工程服务?

8.服务与服务之间的调用?具体是怎么实现的?

9.服务与服务之间调用的事务的原理?

10.springmvc的请求过程是怎么样的?

11.java中的集合用了哪些?你用过哪些集合?

12.Alliylist能存空值吗?长度是多少?

13.==与equals的区别

14.mysql字符串转日期是什么?

15.orcal字符串转日期是什么?

16.你用过哪些数据库函数?

 企业三:

1.部署的容器用的是什么?有哪些容器?

2.bs还是cs架构

3.为什么用mongoDB?

4.数据库优化与sql优化

5.用到那些技术

6.你最熟悉的技术

7.提升最高的项目技术是什么?

8.前端怎样?会什么?

9.linux命令怎样?

10.项目上线后,你是怎么发布的?

11.orcal存储过程怎么实现,视图等

12.多表关联查询速度慢怎么解决

企业四:

Springmvc启动原理

Ioc和aop项目中哪里体现

aop思想

Bean的作用域单例模式

bean是线程安全的吗,如何解决单例bean的线程安全(改变bean的作用域 把 "singleton"改为’‘protopyte’ 这样每次请求Bean就相当于是 new Bean() 这样就可以保证线程的安全了。)

@bean和@component的区别

Bean的生命周期

Springboot启动流程

Spring实现事务的底层原理

Mybatis#{}${}

Mybatis  dao和xml文件映射的流程

Mybatis动态sql

Redis同步sql数据库

kafka的优势          

为什么Kafka高吞吐量

Kafka group 如何实现消息不重复

了解那些设计模式

介绍单例模式

线程池在项目中是否使用过

最大线程池满了以后新线程处理方式

Jvm内存机制

Jdk1.8新特性

Java如何实现反射

Io相关

企业五:

ioc容器的作用

spingboot和spring的关系

springcloud和springboot

springboot的常用组件

aop思想的饮用场景

springboot启动的原理

sq|如何优化的in和or

常用的集

hashmap的底层

红黑数的底层原理

链表的结构,链表的饮用场景

(nodetable)和hashmap怎么怎么样以后,还  能put吗

企业工作流程

项目是按什么方式分模块的

公司开发项目用了什么技术

springboot的assert用法

根据什么创建索引

企业六:

介绍下项目

token令牌是怎么存放的

一个浏览器可以多个用户同时登录吗;怎么实现的,

令牌是什么时候放上去的

有没有做过导出功能

上传文件有没有做过

java有哪些容器,分别有哪些子类

arraylist和linkedlist的区别

springboot的启动类注解 ,是哪几个注解组成的

springboot还有哪些注解

项目的日志框架有没有了解过

springcloud有哪些核心组件

hystrix作用,有用过吗

feign的作用,有写过吗

Eureka的作用

项目部署了几层

mq是由哪些东西构成的(组件)

redis 由哪些类型

mysql中select count(*)和select count(1)的区别

有遇到过索引失效的情况吗

怎么发现索引失效

有看过执行计划吗

 企业七:

String能被继承吗?为什么?

线程的生命周期?

事务的隔离级别?

jdk1.8版本新特性?

事务的传播特性?

常用的设计模式?

Spring单例模式有哪几种?具体怎么实现?

如果有子父类继承关系,实例化调用顺序?

抽象类和接口的区别?

SpringMVC的执行流程?

redis的数据类型

说说springboot的常用注解

mybatis中#和$的区别

spring cloud你是怎么理解的

 企业八:

Stream流 了解吗 

groupingby的使用如何分组

Mysql中join 了解吗

数据库死锁了解吗

Mybatis 中sql注入了解吗

Redis 运用在项目中那些方面

为什么要用mq

介绍一下最近的项目,项目中负责哪个模块?

秒杀的业务架构?

项目用户量多少?

秒杀业务的并发量大概多少?

Redis并发问题有哪些,如何解决?

幂等性如何解决?

事务的隔离级别?

线程池的参数?

线程run()和start()区别?

其他相关:

1.什么是回表查?
 聚簇索引与非聚簇索引
2.Spring如何解决循环依赖问题
A类依赖了B类,B类依赖了C类,而最后C类又依赖了A类,这样就形成了循环依赖问题
Spring解决循环依赖问题,主要是通过三级缓存来解决的。Spring中有三个缓存,用于存储单例的Bean实例,这三个缓存是彼此互斥的,不会针对同一个Bean的实例同时存储。如果获取这个对象,则需要从三个缓存中依次获取指定的Bean实例。 读取顺序依次是一级缓存 ==> 二级缓存 ==> 三级缓存。当创建A的时候发现需要依赖B,spring先将A放入三级缓存,然后再去创建B,当创建B的时候发现需要依赖C,然后将B放入三级缓存,创建C的时候发现依赖A,那么他就去三级缓存中查找A,这个时候C就创建好了,并放入一级缓存中,依次是B,然后是A最后解决循环依赖问题
3.Nginx负载均衡 和 限流配置?略
4.Redis Lua 脚本?略
5.Nacos 存储了什么信息?
 服务的注册信息,服务的配置信息
6.微服务之间的调用原理
RestAPI + 负载均衡(如何注册、如何发现、如何调用)
7.Redis 数据类型 及 底层数据结构?五种或6种(zset底层)
8.哈希槽为什么是16384?
 Redis计算hash槽的时候使用的CRC16算法产生的hash值有16bit,这个算法可以产生2^16-=65536个值,作者之所以使用16384个而不使用65536个,他自己的解释在下面网站
 在redis节点发送心跳包时需要把所有的槽放到这个心跳包里,以便让节点知道当前集群信息,16384=16k,在发送心跳包时使用bitmap压缩后是2k(2 * 8 (8 bit) * 1024(1k) = 2K),
 也就是说使用2k的空间创建了16k的槽数。
 虽然使用CRC16算法最多可以分配65535(2^16-1)个槽位,65535=65k,压缩后就是8k(8 * 8 (8 bit) * 1024(1k) = 8K),
 也就是说需要需要8k的心跳包,作者认为这样做不太值得;并且一般情况下一个redis集群不会有超过1000个master节点,所以16k的槽位是个比较合适的选择
 作者原话:
 1、普通心跳数据包携带节点的完整配置,该配置可以用旧配置以幂等方式替换,以便更新旧配置。
 这意味着它们包含原始形式的节点的槽配置,16k的槽配置需要使用2k内存空间,但是使用65k槽将使用8k的内存空间。
 2、同时,由于其他设计折衷,Redis集群不可能扩展到超过1000个节点。
 因此,16k是比较合适的,可以确保每个主设备有足够的槽,最大为1000个。
9.线程池配置?略
10.线程池的合理线程数是多少?
  如果是CPU密集型的,如偏计算的情况核心线程数最好与服务器核心数保持一致,最大线程数为核心数的2倍即可
  如果是io密集型的,如涉及到io操作,需要设置核心线程数为服务器核心数的2倍
11.跨域的解决方法?略
12.Mysql的函数:
  尽量高级函数写几个
13.Mysql保证精准度的数据类型?略
14.代码管理工具及命令?Git
15.Java 集合详情 (单列 双列 队列 及实现类和特点)略
16.Springboot和Springmvc的区别是什么
17.git如何解决冲突
18.多线程编程开发的时候需要注意什么事情(安全问题 保证安全 死锁问题)
19.volatile起什么作用(保证内存的可见性、禁止指令重排序)
20.Mysql都有几种类型的索引、储存结构
21.雪花算法的组成
22.如何自己实现lru(最近最少): 双向链表
23.锁是如何升级的:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁
24.Redis的事务怎么实现 : watch 监听key multi开启事务 命令1  命令2 exec 提交保证原子性
25.mysql如何解决幻读:通过间隙锁和临建锁、也可以通过MVCC
26.gateway三大组件是什么:路由、断言、过滤
27.回表查询
28.Redis、ES集群搭建
29.ES 常用数据类型 number(long,integer,short,double,float)、text、Keywords 等 
30.数据库死锁,以及解决方法: 前提大事务下,多个线程保持与等待,尽量避免大事务
31.2个亿URL如何找到重复的: 
  分治思想,先文件分割将url哈希计算后取模,保证相同的url在同一个小文件中
  读取小文件,放入hashset写入新文件
32.G1和cms区别
33.CAS算法
34.base理论


 

猜你喜欢

转载自blog.csdn.net/weixin_45934981/article/details/130698221