每天一套面试题-Day26-八股高频(7)

链接题目来自牛客

我的每日一套面试题专栏,每天更新一起打卡

39.讲一下限流算法。

固定窗口计数器(Fixed Window Counter) 原理:将时间划分为固定的窗口(例如每秒一个窗口),每个窗口内有一个计数器。请求到来时,计数器增加,如果计数器超过阈值,则拒绝请求。 优点:实现简单,内存占用少。 缺点:在窗口切换时可能会遇到突发流量。例如,假设每秒允许100个请求,如果在当前窗口的最后100ms内收到了100个请求,下一个窗口的开始100ms内又收到了100个请求,那么在这200ms内就处理了200个请求,这可能会超过系统承载能力。

滑动窗口计数器(Sliding Window Counter) 原理:将固定窗口进一步细分成多个小窗口(例如将1秒划分为10个100ms的小窗口),然后统计当前时间点往前一个单位时间(1秒)内所有小窗口的请求数之和。这样,窗口是滑动的,而不是固定的。 优点:相对于固定窗口,滑动窗口能够更平滑地控制流量,因为窗口是连续滑动的,不会在固定边界处重置。 缺点:需要存储多个小窗口的计数,内存占用相对固定窗口会高一些。

漏桶算法(Leaky Bucket) 原理:可以想象一个漏水的桶,请求像水一样流入桶中,桶以固定的速率漏水(处理请求)。如果桶满了(超过容量),则新的请求会被丢弃或排队(取决于实现)。 优点:能够以恒定的速率处理请求,平滑流量,保护系统不受突发流量影响。 缺点:无法应对突发流量,因为处理速率是固定的。即使系统有能力处理更多的请求,漏桶也会按照固定速率处理。

令牌桶算法(Token Bucket) 原理:系统以固定速率向桶中添加令牌,请求需要从桶中获取一个令牌才能被处理。如果桶中没有令牌,则请求被拒绝。桶有最大容量,防止令牌无限累积。 优点:允许突发流量,只要桶中有足够的令牌,就可以一次性处理多个请求。这对于需要处理突发流量的场景(如秒杀)非常有用。 缺点:实现相对复杂,需要维护令牌的生成和消耗

40.说说类加载机制

加载 验证 准备 解析 初始化

我的博客

41.HTTP/1.0、HTTP/1.1、HTTP/2.0、HTTP/3.0 的区别?

alt

我的博客

42.HTTP 常见状态码有哪些?

2xx:成功 200 OK 3xx:重定向 301 永久重定向 302 临时重定向 4xx:客户端错误 400 Bad Request 语法错误 401 Unauthorized 未认证(不知道你是谁) 403 Forbidden 权限不够(知道你是谁但是你没有权限) 404 Not Found 5xx:服务器错误 500 Internal Server Error 服务器内部错误 503 Service Unavailable 服务不可用,当前暂时无法处理请求

作者:我是猫熊 链接:https://www.nowcoder.com/discuss/816359419549122560?sourceSSR=users 来源:牛客网

#面试真题#
每日一套面试真题 文章被收录于专栏

记录刷过的面试真题

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-20 10:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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