今日头条2018校招大数据方向第一批 简答题 长地址转短地址

本文介绍了一个短链接生成和查询系统的架构设计,旨在解决长链接在特定应用场景下的使用问题。系统需支持高并发环境下长链接到短链接的转换及短链接到原始长链接的跳转,确保同一长链接始终对应相同的短链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

早期短链接广泛应用于图片上传网站,通过缩短网址URL链接字数,达到减少代码字符串的目的。常见于网店图片分类的使用,因有字符个数限制,采用短链接可以达到外链图片的目的。自微博盛行以来,在微博字数有限的特色下,短链接也盛行于微博网站,以节省字数给博主发布更多文字的空间。

问题描述:设计一个短链生成和查询系统,需要提供以下两个功能:

    1、提供长链转换短链的接口

    2、点击短链能跳转到对应的长链

题目要求:

    1、同一个长链生成同一个短链接,不要有多个短链指向同一个长链。

    2、同一个短链只能指向某一个长链,短链生成后要固定不变,不能再指向其它长链。

    3、给出系统架构,需要考虑高并发解决方案。

    4、考虑存储和缓存方案

数据量预估:

    1、预计长链接总量500亿

    2、长链换短链请求量:10W qps

    3、短链跳转请求量:100W qps

参考链接:https://blog.youkuaiyun.com/bntX2jSQfEHy7/article/details/80045503

高并发:区间间隔放号器,类似Spark的UniqueIndex的做法,保证线程安全。

存储、缓存:LRU算法,缓存中只放常使用到的长短地址对应Key-Value。

问题:如何将500亿长链接算出唯一且不变的对应ID(即短链接)

一对一,不可能,只能先在缓存里找,找不到则递增ID。这样能保证短时间内一对一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值