搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 码农沉思录 > 面试官:什么是CPU缓存行?如何进行优化?

面试官:什么是CPU缓存行?如何进行优化?

码农沉思录 2020-07-01

不知道你们多长时间没有参加过面试了。

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

  1. synchronized volatile的CPU原语是如何实现的?
  2. 无锁、偏向锁、轻量级锁、重量级锁有什么差别?
  3. 线程间通信,同机器进程间通信,跨机器进程间通信,各有什么方法?
  4. 线程和纤程的区别的是什么?为什么纤程比较轻量级?
  5. ThreadLocal有没有内存泄漏的问题?为什么?
  6. 下列三种业务,应该如何使用线程池:
    高并发、任务执行时间短
    并发不高、任务执行时间长
    并发高、业务执行时间长

面试官:什么是CPU缓存行?如何进行优化?


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

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


面试官:什么是CPU缓存行?如何进行优化?

诶,马士兵是谁?

面试官:什么是CPU缓存行?如何进行优化?


99年清华毕业,从程序员干到CTO,一直致力于推动Java、大数据、AI生根中国,其高并发直播课程广受欢迎,有千万次播放学习。
  马士兵  
面试官:什么是CPU缓存行?如何进行优化?
让骨灰级扫地神僧马士兵老师带你将多线程的知识系统化,帮助你理解多线程在CPU层级的实现,以及这些实现如何一层一层的映射到那些上亿用户,千万QPS,百万TPS的系统。

训练营时间

7月2日-7月3日,20:00

限时福利,本号粉丝免费学习...

面试官:什么是CPU缓存行?如何进行优化?


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

预习资料:

面试官:什么是CPU缓存行?如何进行优化?


长按扫码即可添加微信

仅限前200名

遇到扫码频繁,请再次识别哦

(内容的价值取决于您的行动,千万莫做收藏家)


训练营第一天:
  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. 通过阿里一道面试题理解响应式线程池应用


训练营时间

7月2日-7月3日,20:00

训练营全程直播,限时福利,本号粉丝免费听...


再强调一遍,扫码:

1.预习学习资料

2.参与小游戏,得《JVM实战调优》书籍

3.参与直播课程,免费抽大奖

扫码领预习资料,仅限前200名

遇到扫码频繁,请在识别一次

(内容的价值取决于您的行动,千万莫做收藏家)

扫上方“二维码”,白嫖2个小时,值得!!!

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《面试官:什么是CPU缓存行?如何进行优化?》的版权归原作者「码农沉思录」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注码农沉思录微信公众号

码农沉思录微信公众号:code-thinker

码农沉思录

手机扫描上方二维码即可关注码农沉思录微信公众号

码农沉思录最新文章

精品公众号随机推荐