滴滴一面(高级java)面试题分享

简介: volatile语义中的内存屏障volatile的内存屏障策略非常严格保守,非常悲观且毫无安全感的心态:在每个volatile写操作前插入StoreStore屏障,在写操作后插入StoreLoad屏障;在每个volatile读操作前插入LoadLoad屏障,在读操作后插入LoadStore屏障;由于内存屏障的作用,避免了volatile变量和其它指令重排序、线程之间实现了通信,使得volatile表现出了锁的特性。

1 说下对 volatile关键字的理解


  • volatile可以禁止指令重排序优化
  • 保证可见性、不保证原子性(也就是说多个线程并发修改某个变量时,依旧会产生多线程问题,但适合使用一个线程写,多个线程读的场合。)


    以下场景可以使用volatile

  • 运算结果并不依赖变量的当前值,或者能够确保只有单一的线程修改变量的值
  • 变量不需要与其他的状态变量共同参与不变约束


 原理:volatile语义中的内存屏障volatile的内存屏障策略非常严格保守,非常悲观且毫无安全感的心态:在每个volatile写操作前插入StoreStore屏障,在写操作后插入StoreLoad屏障;在每个volatile读操作前插入LoadLoad屏障,在读操作后插入LoadStore屏障;由于内存屏障的作用,避免了volatile变量和其它指令重排序、线程之间实现了通信,使得volatile表现出了锁的特性。


2 jvm调过优没有,是怎么做的?排查问题时一般会用哪些命令?


  •   jps(JVM Process Status):虚拟机进程状况工具 显示虚拟机进程 jps -l
  •   jstat(JVM Statistics Monitoring Tool):监控虚拟机各种运行状态
  •   jinfo(Configuration Info for Java):java配置信息工具
  •   jmap(Memory Map for Java) 堆转储快照
  •   jstack(Stack Trace for Java) java堆栈跟踪工具


3 AQS 原理大概说一下


   可参考 : 彻底搞懂AQS


4 Redis 高可用实现方式

   redis cluster 或哨兵机制


5 Kafka 或 RocketMq 实现原理

   问的太广了,自己知道什么有逻辑的表达一下吧


6 spring cloud 和 dubbo区别

   

主要是RPC和生态上的区别


7 spring cloud 用过哪些组件 ?

 

可参考 :spring及spring cloud框架主要组件介绍


8 Hystrix 熔断器有哪些模式


29.png


  • closed:请求正常时,不使用熔断器;
  • open:统计请求的失败比例,达到阀值时,打开熔断器,请求被降级处理;延时一段时候后(默认休眠时间是5S)会进入halfopen状态;默认失败比例阀值是50%,请求次数最少不低于20次;
  • halfopen:在进入该状态后会放入部分请求;判断请求是否成功,不成功,进入open状态,重新计时,进入halfopen状态;成功,进入closed状态,


9 介绍下项目


10 有什么问题问我的?

相关文章
|
1天前
|
缓存 Java 数据库连接
java面试题目 强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?
【6月更文挑战第28天】在 Java 中,理解和正确使用各种引用类型(强引用、软引用、弱引用、幻象引用)对有效的内存管理和垃圾回收至关重要。下面我们详细解读这些引用类型的区别及其具体使用场景。
10 3
|
2天前
|
安全 算法 Java
java多线程面试题2019整理
java多线程面试题2019整理
|
2天前
|
负载均衡 NoSQL Dubbo
java分布式面试快问快答
java分布式面试快问快答
10 0
|
2天前
|
XML Java 数据库连接
面试必备!Java核心技术100+面试题
面试必备!Java核心技术100+面试题
|
2天前
|
算法 Java 调度
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
7 0
|
2天前
|
SQL 网络协议 Java
技术经验分享:Java不会或做错的面试题总结
技术经验分享:Java不会或做错的面试题总结
11 0
|
3天前
|
安全 Java 中间件
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
8 0
|
3天前
|
安全 Java API
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
7 0
|
SQL 缓存 安全
Java高频面试题目
面试时面试官最常问的问题总结归纳!
111 0
JAVA高频面试题目集锦(6)
JAVA高频面试题目集锦(6)
112 0
JAVA高频面试题目集锦(6)