好久没出去面试了,没想到问这么难...

好久没出去面试了,没想到问这么难...

1周前

不知道你们多长时间没有参加过面试了,最近这段时间的面试,真的是一个比一个严格!

我昨天参加了一线大厂的技术面,被问到了一些并发相关的问题,没想到这么难!

如果你不信,这几个问题了解一下:

  1. synchronized volatile的CPU原语是如何实现的?

  2. 无锁、偏向锁、轻量级锁、重量级锁有什么差别?

  3. 线程间通信,同机器进程间通信,跨机器进程间通信,各有什么方法?

  4. 线程和纤程的区别的是什么?为什么纤程比较轻量级?

  5. ThreadLocal有没有内存泄漏的问题?为什么?

  6. 下列三种业务,应该如何使用线程池:

    高并发、任务执行时间短

    并发不高、任务执行时间长

    并发高、业务执行时间长

如果你平时只有CRUD的经验,不了解多线程与高并发,面对这样面试题,大概率一头雾水。

如果你真是这样,建议要拿出2个小时的时间,参加一次马士兵老师的《多线程与高并发》训练营,限时福利,本号粉丝免费学习...i

马士兵是谁?

99年清华毕业,从程序员干到CTO,一直致力于推动Java、大数据、AI生根中国,其高并发直播课程广受欢迎,有千万次播放学习。

  马士兵  

让骨灰级扫地神僧马士兵老师带你将多线程的知识系统化,帮助你理解多线程在CPU层级的实现,以及这些实现如何一层一层的映射到那些上亿用户,千万QPS,百万TPS的系统。

 

(吊打一切敢于提问高并发问题的面试官)

训练营第一天:

  1. 线程的本质(操作系统与CPU是如何执行线程的)

  2. 纤程的本质(go语言纤程为什么和线程池有关)

  3. 并发的本质是什么?锁的本质是什么?

  4. synchronized关键字的字节码原语

  5. 无锁、偏向锁、轻量级锁、重量级锁升级过程

  6. 偏向锁和重量级锁的应用场景

  7. 偏向锁的启动延迟

  8. 为什么偏向锁会有启动延迟?

  9. 自旋锁(CAS)的最底层实现

  10. 自旋锁何时升级重量级锁

  11. 用JOL手工观察锁升级的过程

     

训练营第二天:

  1. 什么是CPU缓存L1 L2 L3?

  2. 什么是缓存行?

  3. 为什么会有缓存行?

  4. 缓存行的大小是多少?

  5. 缓存行如何影响Java编程

  6. Disruptor框架如何使用缓存行填充提高效率?

  7. 什么是CPU的乱序执行?

  8. 如何证明CPU的乱序执行?

  9. 什么是内存屏障?

  10. JVM如何用内存屏障禁止重排序?

  11. DCL单例中不禁止重排序会造成什么严重后果?

  12. 通过阿里一道面试题理解响应式线程池应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值