ohmyblog

#并发

笔试真题复盘:两个线程各执行 50 次 tally++,最终结果的范围是多少

先说明属性:这是一篇历史笔试题的复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题面很短:全局变量 tally 初值为 0,两个线程各自执行 50 次 tally++,没有任何同步措施,问最终结果是多少。

经典题解析:final 关键字到底锁住了什么,修饰类、方法和变量各是什么语义

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「final 有什么用」几乎每个 Java 面试都会问,多数人能背出三个位置的答案,但面试官追问「final 引用指向的对象能改吗」「final 在并发里还有什么用」时,背书就露馅了。

经典题解析:线程安全的单例模式,五种写法哪个才对

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面:手写一个线程安全的单例,说说几种写法的差别。

经典题解析:乐观锁、悲观锁、读写锁,原理和选型一次说清

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面:乐观锁、悲观锁、互斥锁、读写锁的原理、实现与区别,分别怎么选?

经典题解析:线程池这几个参数搞不懂,面试肯定挂

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。线程池是 Java 并发面试的高频题,但它的真正考点不是背七个参数的名字,而是能不能讲清楚一个新任务提交之后,线程池内部的决策顺序——这条流程线串起了所有参数的意义。

经典并发题:程序为什么会死锁?原因、排查、预防一次答全

想象面试现场:面试官问,多线程程序为什么会死锁?线上碰见了怎么排查?写代码时又怎么预防?这道题属于经典题解析(历史题目复盘,见文末来源说明),它看起来基础,但能一层层追问下去——只背出「四个必要条件」的候选人,和能讲清排查动作、预防策略的候选人,差距立刻拉开。