度小满25运维开发一面

度小满25运维开发一面

本文作者:程序员小白条

本站地址:*****************************

总体用时 20 分钟,技术栈不符合,基本是 KPI 面了。

1)单体限流是怎么做的?

  1. 明确场景:首先说明在单体应用(非分布式)中,限流是为了保护应用自身,防止被突发流量打垮。
  2. 技术实现:Guava RateLimiter: 这是最经典的答案。介绍其基于令牌桶算法,可以平滑地进行限流。例如:RateLimiter.create(10.0) 表示每秒生成10个令牌。Semaphore(信号量): 对于控制并发线程数(而非QPS)的场景,可以使用 Semaphore。它规定了同时访问某个资源的线程数量。自定义计数器: 在时间窗口内(如1秒)用一个原子计数器(如 AtomicInteger)统计请求数,超过阈值则拒绝。注意时间窗口的滑动和重置。
  3. 落地方式: 通常使用AOP或拦截器,在Controller层或Service层的方法上通过注解进行限流。

2)介绍下常见的限流算法

  1. 计数器算法:固定窗口: 将时间划分为固定窗口(如1秒),在窗口内计数,超过则限流。实现简单,但窗口临界点可能承受双倍流量。滑动窗口: 将窗口划分

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

大学四年面经(学院本) 文章被收录于专栏

大学全部面经从大一到大四,从实习、秋招、春招等等,各种岗位,中小厂,乃至大厂面经! 公粽号:程序员落叶,里面分享全部文章详情。

全部评论

相关推荐

雾凇岛:你会有这个想法,大概率是因为困在互联网行业的信息茧房里了。要不先去跑两天外卖试试吧。不需要辞职,每周请假或者周末去跑一两天众包,这工作是日结,会接触很多人,也能按你的时间来开始和结束。你先从原来的环境中脱离出来,就能更理性地思考这是不是真正适合你的选择
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务