度小满运维开发一面

度小满运维开发一面

本文作者:程序员小白条

本站地址:https://xbt.xiaobaitiao.top

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

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

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

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

  1. 计数器算法
    • 固定窗口: 将时间划分为固定窗口(如1秒),在窗口内计数,超过则限流。实现简单,但窗口临界点可能承受双倍流量。
    • 滑动窗口: 将窗口划分为更细粒度的小窗口,按时间滑动。解决了固定窗口的临界问题,是计数器算法的改进版。Redis + Lua 常用来实现分布式滑动窗口。
  2. 漏桶算法
    • 请求像水一样进入漏桶,桶以固定的速率出水(处理请求)。当桶满时,请求被丢弃或等待。
    • 特点 : 平滑输出,无法应对突发流量(因为出水速率固定)。
  3. 令牌桶算法
    • 系统以恒定速率向桶中放入令牌。请求到达时,需要从桶中获取令牌,获取成功则处理,失败则限流。
    • 特点 : 既能平滑处理,又能允许一定程度的突发流量(取决于桶容量)。Guava RateLimiter 和网关如Sentinel默认采用此算法。

3)流量告警,邮件是怎么发送的?

4)数据库和缓存的一致性策略

5)怎么解决项目跨域问题的?

6)介绍下数据库的各种索引类型

7)时序数据库了解哪里?

8)Redis 持久化策略介绍一下

9)RDB 和 AOF 各自的区别、优缺点

10)Redis 宕机后数据恢复的流程

11)RDB 的写时复制

12)反问技术栈和主要的业务

主要还是 Python + Go,需要转语言,后续算法也拒了,直接下播下播~

算法力扣的一个困难题,迷宫和体力问题。

程序员小白条的编程日记:https://xbt.xiaobaitiao.top/ (分享如何拿到腾讯实习 Offer 和多个中大厂的面试机会,大学经历、求职经历、职场工作、创作经历、生活日常、面经、技术分享、毕设项目指导 )定期更新内容,成长打怪系列,分享从大一到大四的完整面经,更新好玩的,有趣的事!看完可冲中大厂!dy同名程序员小白条,主要口述面试经历和分享我认为的实用网站,会比面经讲的详细很多,以真实面试录音为主!公粽号:程序员落叶(秋招技巧、面经、公司投递表、谈offer)

欢迎关注上方公粽号!感谢支持!一起进步,共勉!

相关推荐
希望有朝一日能如愿以偿5 分钟前
力扣每日一题:统计梯形的数目
算法·leetcode·职场和发展
大柏怎么被偷了7 分钟前
【Git】基本操作
linux·运维·git
小女孩真可爱7 分钟前
大模型学习记录(八)---------RAG评估
linux·人工智能·python
纯粹的热爱8 分钟前
Windows 10/11解决“无法访问共享文件夹—组织安全策略阻止未经身份验证的来宾访问”
运维
刘晓倩15 分钟前
Python3的Sequence
开发语言·python
_院长大人_17 分钟前
Spring Boot 客户端设计示例:自动刷新 Token 并重试接口调用(Springboot Starter 封装)
java·spring boot·后端
乾元18 分钟前
AI + Jinja2/Ansible:从自然语义到可执行 Playbook 的完整流水线(工程级深度)
运维·网络·人工智能·网络协议·华为·自动化·ansible
ZhengEnCi20 分钟前
一次多线程同步问题的排查:从 thread_count 到 thread.join() 的踩坑之旅
python·网络协议·tcp/ip
卷到起飞的数分23 分钟前
19.Spring Boot原理1
java·spring boot·后端
ULTRA??24 分钟前
ROS Action 完整示例(AI辅助):客户端发目标 + 服务器接参数(lambda 替代 boost::bind)
c++·python