没有自我介绍直接开问,一下给我整的很慌。
上来问了进程线程协程,比较紧张说的很混乱,协程看过但是忘了。后来想起来好像是在go里面看的,我不是面的java吗。
Redis底层实现了解过吗?为什么Redis快,深入讲一下?
为什么Mysql不能做到单线程跟redis一样快?要求说多种原因,我就说了个MySQL I/O多,然后他说RedisIO量也很大的,我说MySQL要经过磁盘,多一次,然后问还有没有原因,想不出来了。
自己实现一个锁,怎么实现,问的很细,还要多种方法,包括可重入,自旋,能不能不自旋?
接口幂等性有哪些实现方法,也要求说多种实现方法?
为一个1000万的表加索引怎么加不影响业务?分表加。分表加也会锁那一小块表,怎么办?我说用第三方工具,忘了叫什么了,原理是把表复制一份,给复制的表加,他说那加索引这段时间的一致性怎么保证呢?我说可能需要借助日志来记录加索引这段期间的操作。感觉他不满意,没继续问下去了。
ACID说一下,原理是什么?
然后一个一个的问,一致性怎么保证,持久性怎么保证。。。
持久性我说的是redo log,他说不对,redo log很小的只有1M。我想猜一下binlog ,怕他又继续问下去,就说不知道了。
手撕了一个算法题,有序数组找某个数最后出现的位置,小于On复杂度。
最后反问环节都没给就挂断了。
大哥一面啊,压力拉满了,体验不是很好,面试官压迫感很强。