想在大厂面试中脱颖而出,该掌握哪些并发编程知识点和技术?

面试的时候小心翼翼,如履薄冰,生怕说错一句话,就错失机会,面试紧张、卡壳。不知道大家有没有这个问题?

面试官:

你知道CAS吗,能跟我讲讲吗?

我:

CAS(Compare And Swap),比较并交换。整个AQS同步组件,Atomic原子类操作等等都是基于CAS实现的,甚至ConcurrentHashMap在JDK1.8版本中,也调整为CAS+synchronized。可以说,CAS是整个JUC的基石。

CAS的实现方式其实不难。在CAS中有三个参数:内存值V、旧的预期值A、要更新的值B,当且仅当内存值V的值等于旧的预期值A时,才会将内存值V的值修改为B,否则什么也不干,是一种乐观锁。其伪代码如下:

我:

接着我举了个AtomicInteger的例子,来给面试官阐述CAS的实现。

面试官:

那CAS有什么缺陷吗?

我:

CAS虽然高效的解决了原子问题,但是还是存在一些缺陷的,主要体现在三个方面:

1.循环时间太长:

如果自旋CAS长时间不成功,则会给CPU带来非常大的开销,在JUC中,有些地方就会限制CAS自旋的次数。

2.只能保证一个共享变量原子操作:

看了CAS的实现就知道这只能针对一个共享变量,如果是多个共享变量就只能使用锁了。或者把多个变量整成一个变量也可以用CAS。

3.ABA问题:

CAS需要检查操作值有没有发生改变,如果没有发生改变则更新,但是存在这样一种情况:如果一个值原来是A,变成了B,然后又变成了A,那么在CAS检查的时候会发现没有改变,但是实质上它已经发生了改变,这就是所谓的ABA问题。对于ABA问题的解决方案是加上版本号,即在每个变量都加上一个版本号,每次改变时加1,即A->B->A,变成1A->2B->3A。例如原子类中AtomicInteger会发生ABA问题,使用AtomicStampedReference可以解决ABA问题。

面试官: 你能说下轻量级锁吗?

面试官: 你先说下你对synchronized的了解。

面试官: 什么是原子操作?

面试官: 什么是Executors框架?

面试官: 什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

面试官: CycliBarriar和CountdownLatch有什么区别?

面试官: Java中用到的线程调度算法是什么?

我: …

总结:

面试的时候,开口第一句,面试官就知道你的水平了。你很多东西用过,但是并不懂底层原理,面试官一问,你就哑火了…

并发编程中涉及到的知识点其实挺多,工作多年的程序员,应该掌握哪些技术?如何才能在大厂面试中侃侃而谈,在无数竞争对手中脱颖而出?

为了给在工作和技术上遇到瓶颈的小伙伴找到发展方向,彻底把这块技术掌握好,我这里整理了一个学习路线图, 结合面试题一起来学习,更加有效,我这里也把我这几天在网上看到的并发编程面试题都整理出来了,都是一些大厂常见的面试题。

有需要的朋友可以加q群:580763979   备注:简书   免费领取~

并发编程面试题:

问 题 一 : Synchronized 用 过 吗 , 其 原 理 是 什 么 ?

问 题 二 : 你 刚 才 提 到 获 取 对 象 的 锁 , 这 个 “ 锁 ” 到 底 是 什 么 ? 如 何 确 定 对 象 的 锁 ?

问 题 三 : 什 么 是 可 重 入 性 , 为 什 么 说 Synchronized 是 可 重 入 锁 ?

问 题 四 : JVM 对 Java 的 原 生 锁 做 了 哪 些 优 化 ?

问 题 五 : 为 什 么 说 Synchronized 是 非 公 平 锁 ?

问 题 六 : 什 么 是 锁 消 除 和 锁 粗 化 ?

问 题 七 : 为 什 么 说 Synchronized 是 一 个 悲 观 锁 ? 乐 观 锁 的 实 现 原 理 又 是 什 么 ? 什 么 是 CAS, 它 有 什 么 特 性 ?

问 题 八 : 乐 观 锁 一 定 就 是 好 的 吗 ?

可 重 入 锁 ReentrantLock 及 其 他 显 式 锁 相 关 问 题

问 题 一 : 跟 Synchronized 相 比 , 可 重 入 锁 ReentrantLock 其 实 现 原 理 有 什 么 不 同 ?

问 题 二 : 那 么 请 谈 谈 AQS 框 架 是 怎 么 回 事 儿 ?

问 题 三 : 请 尽 可 能 详 尽 地 对 比 下 Synchronized 和 ReentrantLock 的 异 同 。

问 题 四 : ReentrantLock 是 如 何 实 现 可 重 入 性 的 ?

问 题 五 : 除 了 ReetrantLock, 你 还 接 触 过 JUC 中 的 哪 些 并 发 工 具 ?

问 题 六 : 请 谈 谈 ReadWriteLock 和 StampedLock。

问 题 七 : 如 何 让 Java 的 线 程 彼 此 同 步 ? 你 了 解 过 哪 些 同 步 器 ? 请 分 别 介 绍 下 。

问 题 八 : CyclicBarrier 和 CountDownLatch 看 起 来 很 相 似 , 请 对 比 下 呢 ?

Java 线 程 池 相 关 问 题

问 题 一 : Java 中 的 线 程 池 是 如 何 实 现 的 ?

问 题 二 : 创 建 线 程 池 的 几 个 核 心 构 造 参 数 ?

问 题 三 : 线 程 池 中 的 线 程 是 怎 么 创 建 的 ? 是 一 开 始 就 随 着 线 程 池 的 启 动 创 建 好 的 吗 ?

问 题 四 : 既 然 提 到 可 以 通 过 配 置 不 同 参 数 创 建 出 不 同 的 线 程 池 , 那 么 Java 中 默 认 实 现 好 的 线 程 池 又 有 哪 些 呢 ? 请 比 较 它 们 的 异 同 。

问 题 五: 如 何 在 Java 线 程 池 中 提 交 线 程 ?

Java 内 存 模 型 相 关 问 题

问 题 一 : 什 么 是 Java 的 内 存 模 型 , Java 中 各 个 线 程 是 怎 么 彼 此 看 到 对 方 的 变 量 的 ?

问 题 二 : 请 谈 谈 volatile 有 什 么 特 点 , 为 什 么 它 能 保 证 变 量 对 所 有 线 程 的 可 见 性 ?

问 题 三 : 既 然 volatile 能 够 保 证 线 程 间 的 变 量 可 见 性 , 是 不 是 就 意 味 着 基 于 volatile 变 量 的 运 算 就 是 并 发 安 全 的 ?

问 题 四 : 请 对 比 下 volatile 对 比 Synchronized 的 异 同 。

问 题 五 : 请 谈 谈 ThreadLocal 是 怎 么 解 决 并 发 安 全 的 ?

问 题 六 : 很 多 人 都 说 要 慎 用 ThreadLocal, 谈 谈 你 的 理 解 , 使 用 ThreadLocal 需 要 注 意 些 什 么 ?

最后:

面试官问你一些问题其实并不是想要难倒你,也不会因为你答不上来而去拒绝你,大多数的面试官只是想了解你掌握的知识程度在哪里,所以说我们去面试的时候一定摆正心态,不要以为面试官问你这么多只是因为装X ,祝大家可以拿到自己想要大厂offer,年薪百万~~~

我这里也准备了一线大厂面试资料和超多超硬核的PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作!

有需要的朋友可以加q群:580763979   备注:简书   免费领取~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352

推荐阅读更多精彩内容