收录面试官面试的问题

 

整理群友的面试题

aop实现过程

https://blog.csdn.net/q982151756/article/details/80513340?utm_source=distribute.pc_relevant.none-task

类的加载过程

https://blog.csdn.net/ln152315/article/details/79223441?utm_source=distribute.pc_relevant.none-task

Java内存模型

https://blog.csdn.net/qq_41701956/article/details/81664921

spring自动装箱原理

hash扩容原理

线程池参数,拒绝策略

数据库锁的实现原理

数据库事务实现原理

数据库索引

@SpringBootApplication底层

常见设计模式有哪些,及其原理

写一个非懒汉式饿汉式的单例模式代码

Java虚拟机基本结构

什么是类加载器

简单谈一下类加载的双亲委托机制

普通的java类的类加载过程和tomcat的类加载过程是否一样,区别在哪

简单谈一下java垃圾回收机制?

Person  person = new Person() java虚拟机内存分配的?

https://www.jianshu.com/p/ebaa1a03c594

对象的四种引用类型

https://baijiahao.baidu.com/s?id=1629253892215446066&wfr=spider&for=pc

hashmap深入分析

https://blog.csdn.net/qq_36520235/article/details/82417949?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

HashMap工作原理和扩容机制

https://blog.csdn.net/u010890358/article/details/80496144?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/pange1991/article/details/82347284

如何设计秒杀系统

https://blog.csdn.net/qq_35190492/article/details/103105780?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

事务的特性,隔离级别,怎么使用事务?

事务是怎么回滚的,一个serviceA加事务,里面又有一个serviceB没有加事务,如果serviceB出现异常,serviceA会回滚吗?--如果serviceB的异常抛出到了serviceA中,并且往外面抛了。那么就会触发serviceA回滚。

集合了解吗?Collection接口都有哪些实现?针对某一些做一些介绍。比如arrayList的初始大小多少?扩容的时候大小是怎么扩容的。

ArrayList和LinkedList有什么区别?

HMap底层是怎么实现的,数据结构,是否安全,安全的都有哪些,死锁原因,hash碰撞。

hashMap中key是怎么排序的

能说下hashMap中put值的一个过程吗?

ArrayList遍历的时候可以做一些删除操作吗?

hashMap怎么遍历key?

什么场景下用多线程?打印日志的时候会单独启用线程吗?

进程和线程有什么区别?

开启多个线程,保证顺序执行,怎么处理?

多线程都有哪几种状态?

https://blog.csdn.net/lx_Frolf/article/details/82381849

ReenTrantLock可重入锁(和synchronized的区别)区别

线程池:如果线程池队列满了,新的请求怎么处理?

 java中的线程池有哪些,分别有什么作用?

Synchronized怎么锁类

NIO和netty用过吗?有什么特征,什么情况下会用?

你用过NIO的一些框架吗?

 线程安全怎么理解?

volidate怎么保证可见性的,怎么通知其他线程的呢?

volidate为什么不能保证原子性? 

volidate适合用在什么场合?

synchronized原理了解吗?

多线程情况下还用过其他锁吗?

synchronized与lock锁有什么区别?

线程池的几个参数你知道吗?

核心线程数你们怎么定的?

一个线程有很多状态,之间是怎转换的?

线城池是哪个类实现的?

线程数和CPU有什么关系?

内存分区都有那几块?

PerSon person = new PerSon();,在各个分区都是怎么使用的?

OOM的几种情况?  

https://blog.csdn.net/sinat_29912455/article/details/51125748

平时java使用的框架都哪些?

springCloud注册用到什么?

熔断机制你们那边用吗?

微服务中,调接口超时,框架层面是怎么解决的?

  • 答;抛出异常,有日志监控,会钉钉发消息,或者邮件通知,面试官好像不是太满意。

消息中间件的重复消费,数据库出现重复的数据,是怎么解决的?

  • 可以使用redis或用日志表做一个类似版本号的标记,客户端接收到消息之后,在给消息队列返回ack之前,查版本号,版本号如果表示已经消费,改消息不做处理,直接给队列返回已经消费,如果版本号表示没有消费或者消费失败,继续处理消息,但是面试官有问了:那客户端如果服务挂了,程序可能已经改了数据库,也没有给消息队列ack确认,下次还会消费的。我没有回答了,有点蒙。

有很多类,类中有很多方法,所有的方法上都需要使用 @Bean吗?那什么样的方法上需要使用

异常处理怎么处理的?如果是抛到最外层,怎么处理的呢?

那你平时对架构这方面研究过吗?

我看你们有用网关,怎么用的?

请求从nginx到controller的过程?

springCloud的注册中心,讲下,Nginx负载均衡讲下

springCloud 服务间的两种通信方式

dubbo如何使用,除了dubbo之外,你还是用过那些rpc框架?

你用过阿里的dubbo吗?介绍下?

 Zookeeper的工作原理了解吗?

从服务器接收到请求,到路由到controller,这中间都发生了什么?

AOP是怎么理解?除了反射还有其他方式吗?反射和动态代理不是一回事。

bean的生命周期是怎样的一个过程?

springMVC的执行流程

你可以讲下Spring上下文对象的生命周期吗?

java序列化与反序列化的目的是什么?有哪些序列化反序列化的框架

Spring在项目中做什么?

Spring中都用到哪些注解?

Spring中都用到哪些接口?

Spring有什么特点?

bean注入的时候会有失败的情况吗?

Spring是怎么实现AOP的,他有什么特点?

Spring是有几种实现AOP的方式?动态或者静态?一种是基于类的,一种是基于JDK的?

Spring是怎么管理数据库事务的?

代码里怎么开启事务?你会选择属性吗?

事务在什么情况下会回滚,以及事务之间的嵌套关系?

跟AOP相关的实现类或者接口或者包都可以有哪些?

哪些注解可以声明一个Bean?

@Bean注解什么时候使用?

@Bean是放在方法上,还是放在类上,还是放在变量上?

@component 注解什么时候使用?

@Qualifier用法

索引这些原理了解过吗?B+数据了解过吗?

Mysql你们用的是什么引擎?

比如说你们表里建索引,怎么评估这个字段要不要加索引?

有三个字段加了联合索引,第一个字段没有索引没有用到,后边2个字段索引会用到吗?

 redis有在用吗?什么场景下使用的?缓存击穿?

redis中key一般都加的有过期时间,如果过期了,redis是怎么清除的。

数据库的索引,sql优化,慢sql

数据库索引失效的原因有哪些?

什么场景下使用redis?

更改redis中key的时候,怎么保证key更新成功?

加过索引吗?加索引有什么规则吗?

怎么看sql的执行过程,有哪些字段?

sql中 ${}和#{}的区别?

数据库锁都哪些?

我看你项目中有使用kafka,kafka中group的怎么理解?

MQ,kafka都怎么使用

MQ,kafka消费的失败话怎么办?

MQ生产者消费特别快,消费者消费的慢,有什么思路?

RPC框架,RPC框架流程都是非常像的,一个服务发布者是怎么启动的,一个调用者怎么调的,这个过程?

MQ用过哪些?rocketMQ用过吗?

什么场景下使用消息中间件?

kafka如何保证数据一致性?什么情况下数据会重复消费?

kafka中group和topic怎么配置?

kafka里的数据,入库的时候入库了2条,这种情况你觉得什么时候会发生?

kafka数据一致性ack机制是怎么做的?

kafka的offset原理是什么?

MQ和kafka消费有几种模式?

kafka的消费者和消费者组是怎么区别的?

集群有几种模式?

你们的数据会不会有从数据库同步到redis的情况?数据库数据怎么同步到redis?

mysql是集群吗?sql的分页是怎么做的?

mysql左右关联有什么区别?怎么使用?

数据库主从复制,读写分离是怎么做的?

kafka读数据是怎么读的,一次读多少条?可配置吗?

从二叉节点中找出某个元素 手写

两个表  A表字段为 ID NAME B表ID  B表字段为 ID SEX TIME  写出 name等于张三 TIME最小的sql

springBean生命周期

二叉树

java8 特性 务必熟练3-5点

手写单例 

用过java8哪些新特性?给一个数组,手写转换,过滤,排序,

手写链表节点数据结构

分布式锁

锁,多线程场景,让手写a1b2,然后怎么保证顺序,park unpark

单例 一定牢记内部类模式哈

数据库行级锁

a1b2…  三种实现方式 你回答到map  flatmap  他会问你区别

分布式锁原理一定得你明白

排他性,互斥

防止死锁

网络脑裂,容错机制

sql优化  组合索引  防止索引失效全表扫描啥的

innodb  myisam

redis  list类型数据 使用场景

单机环境下  200个接口  不想每个接口都校验    怎么认证权限

java8比如:flatmap和map有啥区别

spring-data-jpa 一定得了解
 

反射:反射可以获取到运行时的一些状态,可以动态获取,


反射的性能会慢一些:

  • 在运行时,用反射会先去方法区看改类有没有加载到方法区,如果没有加载,会先去加载类到方法区,所以使用反射在创建对象的时候可能会慢一些在运行的时候会快一些,因为反射是一种解释操作,需要我们去告诉jvm,希望他怎么做,比我们直接写代码,直接操作会慢一点。

ngiux怎么做负载均衡的,或者还知道有哪些负载均衡算法?

  • 1 一致性hash,和hashMap的key一样,去做一个一次性hash,比较均衡的放到各个机器上,
  • 2 还有一种就是加权hash,因为有的机器可能配置比较高,性能比较好,我们把更多的流量分配给他。
  • 3 轮询,轮询的话效果可能就没有那么好

一致性hash一致性什么意思?

http.tcp udp.为什么是三次握手,四次挥手,

索引:

  • 创建索引的时候。可以使用覆盖索引,覆盖索引可以减少回表的次数,mysql在5.6之后对覆盖所有做了优化,可以减少下推的过程。

18k的面试题

1.eureka如何处理高并发读写

2.mysql行锁没有释放怎么处理

 3.AQS底层是什么

4.new一个对象,几种内存分配方式

 5.线程池有哪几种实现方式

6.netty的channel生命周期是怎么样的

7.springcloud gateway实现原理,画图出来

 8.1234567  7个数字  分别用二叉树 平衡二叉树  b树  b+树  画图出来

9.mysql读写分离,从库没有同步主库的数据原因有哪些

10.G1收集器与CMS收集器三色回收算法的区别是什么

11.G1收集器与CMS收集器的区别在哪里

12.hystris原理(动态代理)

13.inodb和mysiam的区别

14.spring哪几种注入方式

15.mybatis一对一,一对多标签分别是啥?

16.线程的底层是什么

 

 

 

 

 

Spring面试题

https://blog.csdn.net/a745233700/article/details/80959716?utm_source=distribute.pc_relevant.none-task

Mybatis常见面试题总结

https://blog.csdn.net/a745233700/article/details/80977133

SpringMVC常见面试题总结

https://blog.csdn.net/a745233700/article/details/80963758?utm_source=distribute.pc_relevant.none-task

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值