由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个amazon面试题
相关主题
问个精华区的面试题今天的面试题
再问个amazon面试题来道A设计题大家头脑风暴一下
问个g的面试题请教一道面试题
Amazon面试题请教面试题
问一道data structure的面试题Weighted Graph Challenge 一道面试题
一道有关Graph的面试题借人气 问个形象问题
面试题总结(7) - Tree问个L家的onsite题
真诚请教: 如何准备系统设计类的面试题问个Linkedin设计题:判断任意两个用户间的距离,怎样通过好友连接
相关话题的讨论汇总
话题: item话题: buy话题: amazon话题: product话题: friend
进入JobHunting版参与讨论
1 (共1页)
B*******1
发帖数: 2454
1
How do you implement the following feature which Amazon uses on its website?
"What Do Customers Ultimately Buy After Viewing This Item?"
81% buy this item
10% buy item B
9% buy item C
r*******g
发帖数: 1335
2
mark
y*******g
发帖数: 6599
3
我一直想知道这个,,在用amazon的时候

website?

【在 B*******1 的大作中提到】
: How do you implement the following feature which Amazon uses on its website?
: "What Do Customers Ultimately Buy After Viewing This Item?"
: 81% buy this item
: 10% buy item B
: 9% buy item C

g**********y
发帖数: 14569
4
1. Amazon保存了所有用户的browing history和buying history
2. Amazon把书(物品)分很细的类
case 1. 如果该类东西足够多,就把看过那页的用户,和看过之后近期内买了该类东西的用户做个交集,对交集用户,取他们的购买选择计算,统计排行榜,取最高的3~5个显示。
case 2. 如果该类东西不够多,就在父类或祖先里搜索,直到足够多数据。
这些计算量是很大的,我不认为他们是实时生成的,而且也没必要。应该是overnight
在server算出来的。
有意思的是,好象现在Amazon把这个功能摘掉了,换成“Frequently Bought Together
" 和 “Customer Bought This Item Also Bought"
我觉得可能是有厂家不满,这个算法很容易导致马太效应,做得好的,或口碑好一点的
,迅速拿下大部分可以左右的客户。同类的新产品很难与之竞争。

website?

【在 B*******1 的大作中提到】
: How do you implement the following feature which Amazon uses on its website?
: "What Do Customers Ultimately Buy After Viewing This Item?"
: 81% buy this item
: 10% buy item B
: 9% buy item C

B*******1
发帖数: 2454
5
火鸡可以具体说说每一步具体用什么数据结构实现吗?
thanks
g**********y
发帖数: 14569
6
就我的理解:
1. 用户browse history, 这个用简单database table就可以,保存:user_id, page_
id, browse_time
2. 用户buying history, 这个也可以用简单table, user_id, product_id, buy_time
3. page -> product的link, 用table: product_id, page_id
4. product category, 用table: product_id, category_id
算法实现:
1. find all (user_id, page_id, browse_time) where page_id = xxx
2. for page_id, find product_id, then category_id.
3. for all result in step 1, only keep record who buy same category product
in browse_time + GAP_TIME (for example 1 week)
4. count remaining results, get top 3 product_id
这些计算看上去都是SQL就可以做的,对大规模的数据来说,可能处理时需要技巧,那
是我不熟的。
数据结构都是根据用的算法来选择,我不清楚以上环节哪儿是计算的瓶颈,需要特殊算
法,该用拿种算法,这些都需要实际经验。

【在 B*******1 的大作中提到】
: 火鸡可以具体说说每一步具体用什么数据结构实现吗?
: thanks

B*******1
发帖数: 2454
7
en. 我也觉得像数据库的东西。
再问一个问题,facebook里面那些friend的mutal friend,或者friend之间的关系,你
觉得是用数据库query出来的,还是graph 算出来的呢?
g**********y
发帖数: 14569
8
那个是用graph计算,算法上可以简化计算量和存储空间。数据库是没法这样优化的。

【在 B*******1 的大作中提到】
: en. 我也觉得像数据库的东西。
: 再问一个问题,facebook里面那些friend的mutal friend,或者friend之间的关系,你
: 觉得是用数据库query出来的,还是graph 算出来的呢?

B*******1
发帖数: 2454
9
看到一个面试题,忘记是F还是G的了,A一堆朋友,B一堆朋友,应该用graph里面的哪
个算法算出mutal friend啊?
thanks
g**********y
发帖数: 14569
10
F的,你说的那个应该是算两人的最短距离。一种算法是象画同心圆一样,A, B轮流增
大半径1,直到相交。

【在 B*******1 的大作中提到】
: 看到一个面试题,忘记是F还是G的了,A一堆朋友,B一堆朋友,应该用graph里面的哪
: 个算法算出mutal friend啊?
: thanks

B*******1
发帖数: 2454
11
这个算法怎么算出公共的friend呢?
可以给个具体点例子吗?
譬如a->b
a->c
a->d
b->d
a和b本身是friend了,距离1,但是d是a和b的mutal friend,现在要算出所有类似d这
样子的mutal friend,似乎算最短距离不行啊

【在 g**********y 的大作中提到】
: F的,你说的那个应该是算两人的最短距离。一种算法是象画同心圆一样,A, B轮流增
: 大半径1,直到相交。

g**********y
发帖数: 14569
12
公共的朋友直接算不就行了,就是求两个set的交集。

【在 B*******1 的大作中提到】
: 这个算法怎么算出公共的friend呢?
: 可以给个具体点例子吗?
: 譬如a->b
: a->c
: a->d
: b->d
: a和b本身是friend了,距离1,但是d是a和b的mutal friend,现在要算出所有类似d这
: 样子的mutal friend,似乎算最短距离不行啊

1 (共1页)
进入JobHunting版参与讨论
相关主题
问个Linkedin设计题:判断任意两个用户间的距离,怎样通过好友连接问一道data structure的面试题
问个脑筋急转弯的面试题。一道有关Graph的面试题
问个面试题面试题总结(7) - Tree
问个bit struct的面试题 急真诚请教: 如何准备系统设计类的面试题
问个精华区的面试题今天的面试题
再问个amazon面试题来道A设计题大家头脑风暴一下
问个g的面试题请教一道面试题
Amazon面试题请教面试题
相关话题的讨论汇总
话题: item话题: buy话题: amazon话题: product话题: friend