l******2 发帖数: 41 | 1 如何设计Tiny URL呢?
HashMap map
key是tiny url, value 是full URL ? 那 collision怎么处理呢? |
s********i 发帖数: 74 | 2 Tiny URL设计要求就是没有collision,否则你想想一个hashmap就解决了,还需要设计
么? |
c******f 发帖数: 243 | |
g*****g 发帖数: 34805 | 4 SHA256 hash should give you collision free hash in practice.
【在 s********i 的大作中提到】 : Tiny URL设计要求就是没有collision,否则你想想一个hashmap就解决了,还需要设计 : 么?
|
c*******7 发帖数: 438 | 5 设计不光只是找hash function吧,还有各种流量估算,server architecture之类的吧 |
z******f 发帖数: 277 | 6 Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么? |
l****i 发帖数: 2772 | 7 +1
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
c******1 发帖数: 37 | 8 我面yahoo的时候有个follow up比较奇葩,问要不要保留url后面的.html, .php之类的 |
l******2 发帖数: 41 | 9 谢谢回复 :) ,可以详细讲讲吗?或者给个链接参考?
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
h*****a 发帖数: 1718 | 10 这道题不是只考hashmap的,呵呵。其实里面考点可以很多。
1)基本数据结构,hashmap
2) 怎么persist data
3)怎么handle非常大的scale
4) 怎么生成hash符合各种use case,比如不能被人逆推去browse。
5) 需不需要reverse lookup,即给定一个已经入库的长url,找到它对应的短url。
...
面试官从哪里dig deep都有可能,被问到要尽量随机应变就好。
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
|
|
l******2 发帖数: 41 | 11 如何设计Tiny URL呢?
HashMap map
key是tiny url, value 是full URL ? 那 collision怎么处理呢? |
s********i 发帖数: 74 | 12 Tiny URL设计要求就是没有collision,否则你想想一个hashmap就解决了,还需要设计
么? |
c******f 发帖数: 243 | |
g*****g 发帖数: 34805 | 14 SHA256 hash should give you collision free hash in practice.
【在 s********i 的大作中提到】 : Tiny URL设计要求就是没有collision,否则你想想一个hashmap就解决了,还需要设计 : 么?
|
c*******7 发帖数: 438 | 15 设计不光只是找hash function吧,还有各种流量估算,server architecture之类的吧 |
z******f 发帖数: 277 | 16 Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么? |
l****i 发帖数: 2772 | 17 +1
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
c******1 发帖数: 37 | 18 我面yahoo的时候有个follow up比较奇葩,问要不要保留url后面的.html, .php之类的 |
l******2 发帖数: 41 | 19 谢谢回复 :) ,可以详细讲讲吗?或者给个链接参考?
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
h*****a 发帖数: 1718 | 20 这道题不是只考hashmap的,呵呵。其实里面考点可以很多。
1)基本数据结构,hashmap
2) 怎么persist data
3)怎么handle非常大的scale
4) 怎么生成hash符合各种use case,比如不能被人逆推去browse。
5) 需不需要reverse lookup,即给定一个已经入库的长url,找到它对应的短url。
...
面试官从哪里dig deep都有可能,被问到要尽量随机应变就好。
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
|
|
b********r 发帖数: 620 | 21 ding big cow :)
【在 h*****a 的大作中提到】 : 这道题不是只考hashmap的,呵呵。其实里面考点可以很多。 : 1)基本数据结构,hashmap : 2) 怎么persist data : 3)怎么handle非常大的scale : 4) 怎么生成hash符合各种use case,比如不能被人逆推去browse。 : 5) 需不需要reverse lookup,即给定一个已经入库的长url,找到它对应的短url。 : ... : 面试官从哪里dig deep都有可能,被问到要尽量随机应变就好。
|
s****a 发帖数: 794 | 22 代价就是空间暴大。。。
这种东西可问的太多了 就想知道个作文题目 还是看积累和发挥吧
【在 g*****g 的大作中提到】 : SHA256 hash should give you collision free hash in practice.
|
s********y 发帖数: 161 | 23 库挂了怎么办?service挂了怎么办?数据中心挂了怎么办?你这一句话是拿不到offer
的。
【在 z******f 的大作中提到】 : Tiny url不是直接入库然后拿insertID转成a-zA-z0-9么?
|
x*******1 发帖数: 28835 | 24 用ddb存映射就行了 (再用GSI 存反向映射)。 秒杀。 再问,你就是问DDB的问题。
怎么 hash key,怎么fault tolerant,怎么LB。 怎么handle 大流量。 不就是分布
式的data store么。 问的深了,你也不明白。 怎么实现一个tiny fucntion, 并且
满足tiny(tiny) == tiny 。 自己可以去试试。 |
x*******1 发帖数: 28835 | 25 这个tinyurl 一半都有时间限制的。 过了ttl,可以overwrite。 |