大家好,我是哪吒。
公司最近在招聘实习生,作为面试官之一的我,问了一道不起眼的经典面试题。
一、i++和++i有啥区别?
大部分的面试者会这样答:
- i++ 返回原来的值,++i 返回加1后的值。
- i++是先赋值,然后再自增;++i是先自增,后赋值。
下面这个才是主菜。
二、高并发场景下i++会遇到哪些问题?
大部分面试者心里肯定在想,这会有啥问题,不就是一个普通的操作嘛!
先从i++操作说起,一个命令可以拆分成三部分:
- 取值
- ++操作
- 赋值
我去,这不是吹毛求疵,鸡蛋里挑骨头嘛!这面试不参加也罢!