字节秋招后端二面好难啊...

1.项目介绍
2.我们先不聊项目了哈,我们聊一个系统设计类的问题,放松一下(无语)
3.有没有了解过短链系统,说一下你的理解
4. 好,那现在你来设计一个短链系统,你怎么来设计
5.你刚刚说就两个功能:一个是长链转短链,一个是短链还原长链并跳转非常好,那你可以拆一下模块都有哪些
6.打断一下,你刚提到短链生成那短码生成这块能不能再往里拆一拆
7.你刚提了哈希那你这个哈希冲突你准备怎么解决
8.短链支持自定义码吗?如果支持怎么处理冲突?自定义短码如果重复了怎么办
9.这个系统要支持用户设置有效期吗你打算怎么处理这个字段
10如果有人恶意生成链接怎么办
11你说到风控,我这里刚想刚好跟你深入聊一下,我觉得这个还蛮有意思的,比如说你在长链转短链里面已经有风控了,那你短链转长链需要风控吗?因为你的数据库里的东西都是安全的,你需要风控么还是说不需要,为什么
12.你刚说加黑名单那这个风控是在生成短链的时候做,还是跳转的时候也要做
12.短码和长链映射关系存到数据库有什么要注意的点或者是你那个表怎么设计
13这边数据库写入时候要注意什么
14数据存储当量大了以后怎么操作呢?就比如说量特别大,你一张表存完然后呢
15. 那你会怎么做分库分表?按什么规则分?用哈希?那hash怎么做落库映射
15你怎么判断这个链接是过期链接你的状态字段怎么用
16.如果我之前封禁了一个恶意链接,有个新用户又拿这个原始长链想同的长链进来要来生成短链了,你是怎么处理的
17黑名单这块怎么做拦什么、存哪里怎么查
18.我继续深再深问一下,你刚才说到用redis来做这个黑名单管理,为什么,为什么不用数据库还是说用了,还有你的redis的key和value怎么设计用什么结构
19那你觉得你可以到多少,你觉得这个系统是ok的,因为你每次都要查这个东西,你要查三,四次是吧整体你觉得这个数据量或者整个RT大概会在多少你这个系统是能搞得定的
20.无论你这个Redis set里有1万10万甚至100万条,查一次都是毫秒以内,你确定么,你了解Redis set底层么?是这样做的
21.那有实测过么比如它在普通网络、单机 Redis大概是怎么样的
22.那我如果再大怎么办比如总量不止10几万
23手撕:员工公平抽奖:工行有30万个员工,其工卡号码分别是1~30万,在接下来的某天他们将举行年会,需要抽出10万个员工发奖品。我们有一个随机数生成函数rand()能够生成0~65535的整数,请写一个公平的抽奖程序,输出这10万个员工的工卡号码
全部评论
看着都觉得有压迫感
点赞 回复 分享
发布于 2025-12-14 13:53 陕西
有意思
点赞 回复 分享
发布于 2025-12-13 18:42 陕西
啥部门
点赞 回复 分享
发布于 2025-11-23 02:15 天津

相关推荐

1. Guava Cache 和 Caffeine 分别使用了什么缓存淘汰算法​2. 实际项目里本地缓存命中率大概多少​3. 引入缓存带来的风险和解决方案​4. 缓存的读写策略​5. 如何保证缓存和数据库一致性​6. “先写缓存,再异步批量刷库”方案,除一致性外还有哪些潜在风险​7. 如何拦截恶意请求,设计防护手段避免缓存被恶意利用​8. 布隆过滤器原理,如何解决缓存穿透​9. 布隆过滤器误判概率大概多少,如何估计​10. 定时任务 5 分钟一轮询,任务执行超 5 分钟时,如何保证状态不丢失、不阻塞调度​11. 分布式 RPC 为什么要自定义协议,而不用 HTTP​12. 单机 QPS 1w+ 这个数据是怎么统计/得到的​13. RPC 项目目前瓶颈在哪​14. 了解哪些 HTTP 版本,各版本特性​15. HTTP 队头阻塞是什么​16. 队头阻塞是否只存在于 HTTP 层面​17. TCP 会不会存在对应阻塞问题​18. HTTP3 如何解决 HTTP2 在 TCP 上的队头阻塞​19. 为什么 HTTP3 基于 QUIC,而不继续在 TCP 上优化​20. TCP 如何实现可靠传输和流量控制​21. TCP 发送窗口如何根据接收窗口和拥塞情况动态调整,窗口结构如何维护变化​22. TCP 如何判断报文丢失,什么条件触发重传​23. TCP 除重传计时器外还有哪些计时器​24. AI 项目中降低大模型幻觉的具体优化方法​25. 大模型产生幻觉的底层技术原因​26. 算法题:Java 原生数组实现栈,实现常用操作
查看26道真题和解析
点赞 评论 收藏
分享
评论
7
15
分享

创作者周榜

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