字节秋招后端二面好难啊...
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万个员工的工卡号码
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万个员工的工卡号码
全部评论
相关推荐
投票
点赞 评论 收藏
分享