后端开发一面面经
完整信息
本篇目录
JD偏Agent
项目深挖+计算机基础+手撕代码,时长约1小时。
\---
项目拷打
如果处理超长内容(比如超长视频),你们是怎么设计方案的?
如果不同用户导入完全相同/内容相似的数据,你们系统是怎么去重/处理的?
项目有没有具体的效果评估指标和数据支撑?evaluation是怎么做的?
任务队列/异步任务处理框架为什么选择Celery?有没有跟其他方案做过对比?
详细讲一下你们整个任务分发-执行的流程设计。
如果worker在处理任务过程中执行到一半突然失败/宕机,你们系统是怎么处理这种异常情况的?
失败重试机制是怎么设计的?有没有做重试次数限制?会不会存在无限重试的风险?
八股
解释一下虚拟内存的概念,它是用来解决什么问题的?
什么是缺页中断?发生缺页中断之后系统是怎么处理的?
冒泡排序的时间复杂度是多少?
从理论上解释一下,为什么冒泡排序算法能够保证把数组正确排序?(要求给出严谨的正确性证明思路,而非只描述过程)
手撕:输出前10000个质数,编译器时间复杂度限制很严格,py暴力解和跳过偶数以及平分判断都超时。可能只能质数筛,或者用C++这类
\---
整体感受:项目部分问得很细,会一路追问设计细节和边界case(去重、容错、评估),不是背版本能应付的;算法题看似简单但对代码实现速度和边界优化要求较高,建议提前刷熟质数筛法(埃氏筛/欧拉筛)相关变种,八股好久没背了基本上顺不出来,只有个印象。
面完一个小时就通知二面了,发面经攒攒后面运气
本篇目录
当前问题0112
- 01
如果处理超长内容(比如超长视频),你们是怎么设计方案的?
- 02
如果不同用户导入完全相同/内容相似的数据,你们系统是怎么去重/处理的?
- 03
项目有没有具体的效果评估指标和数据支撑?evaluation是怎么做的?
- 04
任务队列/异步任务处理框架为什么选择Celery?有没有跟其他方案做过对比?
- 05
详细讲一下你们整个任务分发-执行的流程设计。
- 06
如果worker在处理任务过程中执行到一半突然失败/宕机,你们系统是怎么处理这种异常情况的?
- 07
失败重试机制是怎么设计的?有没有做重试次数限制?会不会存在无限重试的风险?
- 08
解释一下虚拟内存的概念,它是用来解决什么问题的?
- 09
什么是缺页中断?发生缺页中断之后系统是怎么处理的?
- 10
冒泡排序的时间复杂度是多少?
- 11
从理论上解释一下,为什么冒泡排序算法能够保证把数组正确排序?(要求给出严谨的正确性证明思路,而非只描述过程)
- 12
手撕:输出前10000个质数,编译器时间复杂度限制很严格,py暴力解和跳过偶数以及平分判断都超时。可能只能质数筛,或者用C++这类
