北京清大科越Java后端开发工程师 三面

1. 如何设计短链接生成服务?第一步考虑什么?

思路

先抓核心:全局唯一、长度短、高性能、可跳转。第一步必须先定唯一ID生成策略

回答示例

面试官您好,我第一步会先确定短码的生成规则和全局唯一ID方案

因为短链接最核心的就是:短、唯一、不重复

先把ID怎么来、怎么转成短码定下来,后面存储、跳转、高并发才有基础。

2. 短链接映射关系存在哪?

思路

分层存储:缓存扛读,数据库持久化。

回答示例

我会用两层存储:

  • Redis:存热点短链接,做跳转,毫秒级响应;
  • MySQL:持久化存全量映射关系,做数据兜底。

跳转优先查Redis,不存在再查DB,同时回写到缓存。

3. 如何保证短链接全局唯一?

思路

用全局唯一ID + 进制转换,最稳最简单。

回答示例

分布式ID(雪花/号段模式)+ 62进制转换

先生成一个全局唯一的long ID,再把它转成大小写字母+数字的62进制字符串,就是短码。

这样天然全局唯一,不会重复。

4. 高并发访问时,怎么抗流量?

思路

CDN + 缓存 + 限流 + 异步统计。

回答示例

高并发主要做这几点:

  1. CDN 第一层拦截,静态页面直接返回;
  2. Redis 集群扛读,跳转不走数据库;
  3. 接口限流,防止恶意刷量;
  4. 点击统计异步化,用MQ异步上报,不影响主流程。

5. 短链接过期怎么清理?

思路

过期策略:Redis过期 + 定时任务 + 懒删除。

回答示例

三层过期机制:

  1. Redis 设置过期时间,自动淘汰;
  2. 定时任务,定期扫MySQL删除已过期数据;
  3. 跳转时懒删除,查到已过期直接返回失效并清理。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

全部评论
27届拼多多实习机会或看我主页 https://careers.pddglobalhr.com/campus/intern?t=4OmKPVeX9a
点赞 回复 分享
发布于 03-23 17:34 上海
哇,你准备得真充分啊!清大科越的Java后端三面问题都整理得这么详细,短链接设计思路也很清晰,从ID生成到高并发处理都考虑到了,面试官肯定对你印象很好! 不过面试时除了技术问题,HR面也会问一些软性问题哦~你准备得怎么样了?要不要我帮你模拟一下面试场景? 对了,点击我的头像私信我,我可以给你更详细的面试建议和常见问题解析,帮你顺利拿下offer!
点赞 回复 分享
发布于 03-19 15:52 AI生成

相关推荐

05-14 18:45
已编辑
门头沟学院 C++
因为是双非财经类院校外加28投递前就觉得很难约面,很多人跟我说28没办法实习,公司都不要。但是看到身边很多27都去实习,自己心里耐不住,就抱着试一试的心态去投了。基本每天投上十几个,很多根本都不看,还有一些已读不回的。当时还托27的学姐帮忙求内推了一下,结果岗位hc没了。。就很倒霉。学长跟我说,刚投的那阵,不要想着能约面。好在,第二天就有约面的了,当时直接在寝室床上坐起来接的。在复习的时候约到了第二家。boss上大概投了100来份,看到大家都投了好几百份才有第一段,我感觉我也挺幸运的。我本身对女面试官很畏惧,当时心里想着不要是女面试官,我觉得会很严格。处女面第一家经纬恒润,本来面我的面试官有事,找了个秋招的从来没面过实习的女面试官。问的也是偏底层吧,磕磕绊绊的过了,据说还蛮有名气的。然后想着要去。第二家面了个上海的,搞具身智能的公司去做iOS开发,本来想着随便面不打算去,结果也是被面我的+1扔的大饼扔到嘴里了,说可能会接触ai相关的产出。。。结果并没有,不过300/天,过的很滋润。然后就没咋投,在四月末投了七八家中大厂(阿里,b站,腾讯音乐,得物,懂车帝,京东,百度,美团)懂车帝这里似乎是简历挂了。美团有个组里的人想要我,但是部门hc只有暑期转正了。。加了联系方式说以后有hc会来找我。然后字节约面了,本来投的腾的ieg客户端,没想到被wxg后端捞走了。然后约面。目前进展是wxg一面已过,字节明天面。希望再接再厉!对于找实习的经验就是,打招呼要设计的好一点,先把hr那一关过了,剩下才是看你简历的东西。然后还是要打好基础,不要等着全学完再投简历,应该是学的差不多了,然后投,投又不占时间,继续复习就是了,不要把面试这件事情影响你整个的大规划路线。目前就这样。五月和六月初大概不太会投了。感谢宝宝们阅读
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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