首页 > 其他分享 >定时器相关面试问题

定时器相关面试问题

时间:2023-10-30 11:23:25浏览次数:30  
标签:怎么 定时器 实现 redis 面试 使用 相关 过期

非活动连接,定时器怎么实现的,最小堆和升序链表 (会不会修改,有点忘了,应该是会改的,我记得有umap, 就说了)


怎么设计分布式定时器(单实例定时器挂了怎么处理),主节点和从节点逻辑不一样


假设LRU缓存的数据,需要过期时间,怎么设计(答:和webserver的定时器差不多,每个缓存开启一个定时器,使用时间堆)


webserver 定时器是如何实现的?如果要用 STL 里的某个数据结构,应该选哪个?存放的数据又是什么?


手撕:实现一个定时器,包含常见功能


● 定时器如何实现

 

● 大量定时器,如何优化轮询查看是否超时的这个流程

 

链接的处理要不要定时器

 

6、IO的处理要不要定时器

 

7、定时器怎么做的,实现方案(深挖)

 

有没有了解过其他定时器的实现方式?

 

A:其实不同的实现方式都是为了要快速找出过期任务,那么可以使用的方案就很多了:

维护有序数组,二分查找过期任务;
类似1,可以借助于跳表;
使用红黑树维护;
使用最小堆维护;
使用时间轮算法:对于时分秒三级时间,每一级都使用一个时间轮,并维护一个游标cursor:

redis是单线程的为什么有定时器

 

定时器类为什么要使用红黑树,可以使用跳跃表吗

 

为什么用小根堆做定时器而不用其他方法做定时器

 

Linux可以通过什么实现定时器?怎么实现?

 

每一次客户端发送一个tcp包,服务端都会刷新定时器吗


定时器为什么不多搞几个链表替换时间轮

 

大量的定时器怎么实现的

定时器是为了检测tcp异常,如何用keep alive实现?

Linux定时器的实现。比如TCP中发送一个ACK包后有一个超时等待,如何去做。


定时器作用
2.场景题:
(1)双十一十五分钟不付款就取消订单,怎么实现?(定时器)
定时器加到哪里(订单添加到数据库时,添加定时器)
负载均衡,如果有几台服务器宕机了,定时器怎么办?(冗余备份)
那么备份定时器的资源消耗有多大?(懵逼)

如何实现一个高可靠、低延迟的定时器(给出的是发布订阅模式+redis+过期时间)

定时任务用redis怎么实现任务消费(发布订阅,绑定设置的键。轮询或回调。能不能用消息队列实现)

Linux 中如何实现一个定时器,能够精确到微秒

标签:怎么,定时器,实现,redis,面试,使用,相关,过期
From: https://www.cnblogs.com/studie/p/17797343.html

相关文章

  • command_block的 《分块相关杂谈》注
    目录0x00分块概论0x10基础数列分块原文链接0x00分块概论大概可以理解为将一段数组分成长度大约为\(\sqrt{n}\)长度的块,对于一段区间\(\left[l,r\right]\),我们可以将其拆分为三大部分:\(\left[l,bl\timeslen+len-1\right]\)的暴力区间,\(\left[bl\timeslen+len,br\time......
  • 面试必刷TOP101:16、删除有序链表中重复的元素-II
    一、题目二、题解importjava.util.*;publicclassSolution{publicListNodedeleteDuplicates(ListNodehead){//空链表if(head==null)returnnull;ListNoderes=newListNode(0);//在链表前加一个表头......
  • python面向对象-学习笔记(六、方法相关的补充)
    私有化方法私有方法classPerson:__age=18#私有方法def__run(self):print("run")#def_Person__run(self):#print("Personrun")p=Person()#p.__run()#p._Person__run()print(Person.__dict__)内置特殊方法......
  • EDA工具使用+GIT操作+python编程+C语言编程+Riscv相关+TCL操作
    EDA工具使用Verdi覆盖率转网页urg-full64-dirsimv.vdbVerdi加载sessionverdi-ssrsessionFileVcs分部编译额外选项-partcomp:自动分块编译。-fastpartcomp:使用多核计算系统并行部分编译。-pcmakeprof:查看每部分编译占用的时间,方便对时间更久的进行拆分。-partc......
  • Java面试题小练(一)
    java面向对象的三大特征封装,继承,多态封装说明一个类行为和属性与其他类的关系,低耦合,高内聚;继承是父类和子类的关系,多态说的是类与类的关系封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。外界对他的内部细节是隐藏的,暴露在外界的只是它......
  • python面向对象-学习笔记(四、类相关的补充)
    元类创建类对象的类对象怎么产生的?由类创建出来的。类是不是对象?是所以类对象是不是由另外一个类创建出来的?是,元类创建类对象的另外一种方式#创建类对象的另外一种方式defrun(self):print("run",self)dog=type("Dog",(),{"count":1,"run":run})prin......
  • python面向对象-学习笔记(五、属性相关的补充)
    私有化属性注意python并没有真正支持私有化,但是可以使用下划线完成伪私有的效果类属性(方法)和实例属性(方法)遵循相同的规则公有属性a在类的内部可以访问在子类的内部可以访问在模块其他地方类的属性可以访问子类的属性可以访问类的实例的属性可以访问子类的......
  • bs64的相关操作
    ......
  • 多年没有遇到如此流畅的面试了
    美东一公司的面试,有多年没有遇到如此流畅的面试了。本来说的面试时间是30分钟,这个还是第一轮处于电话面试那种,但是不知道为什么最后面试整个时间都延长到了快一个小时,貌似双方都还继续沟通下,有点意犹未尽的感觉。互相了解通常第一轮面试的过程都是互相了解。这个公司本身有自己......
  • 计算机网络面试常问问题--保研及考研复试
    前言:Hello大家好,我是Dream。今年保研上岸山东大学人工智能专业(经验贴),现在将我自己的专业课备考知识点整理出来,分享给大家,希望可以帮助到大家!这是重点知识总结,如果你想看全部的内容的话,这里我给大家都已经打包好了,需要自取:保研复试全套材料+408专业课知识总结及思维导图(点击即可......