经历了滴滴的幸福裁员潮,又迎来了人人车硬刚劳动法,出现了苏宁管培生巨婴,伴随着网易的大面积裁员,各大企业一波未平一波又起。对于技术在手,说走就走的IT工程师而言,裁员不就是换个公司继续填坑吗?大家都习以为常了。为了进入更好的坑,IT工程师不断的提升技术,不断提升能力。小编作为一名资(diao)深(si)级工程师,总结了5个经典面试题一redis分布式锁过期时间内没执行完怎么解决?分布式锁超时没有执行完,是没有办法避免的,因为锁过期不会通知客户端,只能尽量不在锁内执行长任务;从业务上解决的话,需要为锁值加版本号。删除前判断版本号;二rocketmq延迟消息怎么实现的?RocketMQ提供了延迟消息类型,简单来说就是生产者在发送消息的时候指定一个延迟时间,当达到延迟时间之后消息才能被投送到消费者。生产者将延迟消息发送到Broker,Broker区分普通消息与延迟消息消息如何保证不被消费者拉取到的(RocketMQ将消息以SCHEDULE_TOPIC_XXXX为topic将延时消息持久化,等到达延时消息之后再以原有的topic重新保存)对于延迟消息,常用方法是用时间堆来实现的消息队列保存消息事件,额外线程定时检查堆顶进行消息投放。三myisam索引数据结构是什么?MYISAM使用b+tree,索引文件和数据文件分离。索引文件仅保存记录所在页的指针(物理位置),通过这些地址来读取页,进而读取被索引的行。四消息队列的使用场景消息队列主要用于业务异步解耦,流量请求削峰,业务通信,广播组播等事务。五redis单线程为什么这么快?redis数据操作基于内存操作,而不是基于磁盘IO操作的,所以不需要等待磁盘IO就绪。单线程不需要出现线程切换的代价,故redis能够采用单线程。与之相对的,mysql数据操作是基于磁盘IO的,单线程是绝不可能的。至于快,内存操作本来就快的,这与单线程和多线程没有关系的。欢迎评论
转载请注明:http://www.aierlanlan.com/rzgz/6618.html