你在项目中用过哪些编程锁(locks)或并发控制手段?分别适用于什么场景?
What programming locks (or concurrency controls) have you used? When would you use each?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Carsales Interview
标签: Locks, Thread Safety
目标公司: carsales
参考答案摘要
答案 可按“范围+代价”回答:互斥锁/monitor(保护临界区)、读写锁(读多写少)、信号量(限流/资源池)、自旋锁(极短临界区)、乐观并发(CAS/版本号)、无锁队列/原子操作。 说明取舍:锁越重越影响吞吐;优先缩小临界区、避免嵌套锁;配合超时与指标监控防止死锁与锁竞争。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。