一个小伙伴最近参加某一线互联网公司的面试,被问到了一些并发相关的问题,看看大家能否答出来:
(1)synchronized 的 CPU 原语级别是如何实现的?
(2)无锁、偏向锁、轻量级锁、重量级锁有什么差别,升级过程如何?
(3)线程间通信,同机器进程间通信,跨机器进程间通信,各有什么方法?
(4)下列三种业务,应该如何使用线程池:
高并发、任务执行时间短的业务
并发不高、任务执行时间长的业务
并发高、业务执行时间长的业务
(5)秒杀系统,如何能够撑住 100W 级别 TPS(淘宝最高 54 万 TPS)?
如果平时只有 CRUD 的经验
不了解多线程与高并发,面对这样面试题,大概率一头雾水。