@
1194129822 很多人质疑我怎么判断面试官的能力,怎么就变成反向面试了。说马老师 发生甚么事了?
我觉得面试官的存在就是评估候选人的能力,你能力多强就能评估的越准确。你让 P5 能评估 P8 么?
就比如 REDIS 实现分布式锁,他还真问了,这个时候根据我们传统后端面试者,要先假装说用 SETNX 实现,等面试官来问,其实这里边还有坑,如果加锁后、进程、线程挂了怎么办?锁永远不释放。,明白点的一定会质疑我,自大点的会说 “就这?就这?你这难道不会 BALABALA ?”,只有不懂的才会沉默。
这个时候就是点到为止,根据我们传统后端面试,面试官如果沉默了 大概率是他不懂,面试官已经输了啊。
他就直接没说话,做冥思苦想状,我就继续说 SETNX 可能遇到点小问题,如果加了 SETEX 命令的原子性无法保证,执行 SETNX 后挂了 SETEX 不执行 一样不释放,所以简单点的办法是直接用 SET 就可以了 一条命令就可以满足。
另外就是加锁的时候设置随机字符串 解锁的时候对比随机字符串有没有改变过。
这个是目前开销比较小的实现方式,可以满足大部分场景,只是解锁时不是原子性的,需要配合 LUA 脚本,可以参考 REDLOCK 。
说完了 面试官直接懵逼了,有问题是吧 觉得不对对吧? 可以啊 我们探讨探讨啊。
面试官 “阿巴 阿巴...”