由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 亚麻OO design 出租车系统讨论
相关主题
发个evernote的code challenge请教大家关于实时数据统计的设计
twittier的onsite挂了,来问个常见题bloomberg onsite
问一个面试经常问的ood,维护前k名的list的问题我看uber为什么不会有风险
问道indeed面试算法题Can Uber ever deliver?
到底什么是priority queue啊?一道关于priorityqueue的面试题,谁能给个正确解答?
上午偷闲把TopKFrequentWords写出来了amazon tel interview
高频题:下面这lru的code 怎么改成有效率且thread-safe的版本问三道题
请教一道Google面试题careercup书上那个maintain median value的题
相关话题的讨论汇总
话题: taxi话题: request话题: customer话题: 系统话题: hashmap
进入JobHunting版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
2. 面向对象设计,一个叫出租车的系统。乱七八糟的,我也就瞎说一通。然后他就问
了,如果不同的用户同时叫了同一辆车,怎么办?我说就像数据库事务处理会死锁一样
,标记一下,用另一个线程解就行了。他说不行,那多少工作量。我就说,用面的类来
判断重复就行了,一个车就是预订人再多,也多不哪去,这个可以分布式安在车上或者
不同出租公司的机器上,压力不大。他就不说了。
p*****2
发帖数: 21240
2
从来没叫过出租。一般来说怎么订?
1.在网上订?
2.打电话订?
网上订应该就是是自动的吧,打电话订是自动的还是人工的?我感觉会是人工的。如果
是人工的,那么这个系统就是给接线员准备的系统?
g****y
发帖数: 2810
3
https://www.uber.com/#
他当时说的就是这个网站,你可以看看

【在 p*****2 的大作中提到】
: 2. 面向对象设计,一个叫出租车的系统。乱七八糟的,我也就瞎说一通。然后他就问
: 了,如果不同的用户同时叫了同一辆车,怎么办?我说就像数据库事务处理会死锁一样
: ,标记一下,用另一个线程解就行了。他说不行,那多少工作量。我就说,用面的类来
: 判断重复就行了,一个车就是预订人再多,也多不哪去,这个可以分布式安在车上或者
: 不同出租公司的机器上,压力不大。他就不说了。

p*****2
发帖数: 21240
4

你有用过这个网站吗?如果没用过的像我怎么办?面试官会把需求讲清楚吗?

【在 g****y 的大作中提到】
: https://www.uber.com/#
: 他当时说的就是这个网站,你可以看看

p*****2
发帖数: 21240
5

看了一下。当时面试的重点是什么?
需要考虑signup, payment, mobile devices这些吗?还是只是backend的booking
system?

【在 g****y 的大作中提到】
: https://www.uber.com/#
: 他当时说的就是这个网站,你可以看看

g****y
发帖数: 2810
6
系统我没用过,他会讲得,不清楚让你再问。
让你作的是backend system
h*******8
发帖数: 29
7
有可能我想的比较简单了。
如果是订车系统的话,最终是不是考虑维护一个分布式的队列?
预定就是进队列(enq),派出出租车是出队列(deq)。
由于这个队列是分布式的,可能要用到quorum consensus维护一致性,以及提供一定程
度的容错。
p*****2
发帖数: 21240
8

感觉request接受没什么,但是scheduling学问比较大。比如怎么match一个taxi到一个
request上,涉及到很多信息需要储存和处理。这个我准备做一下。大家一起讨论。

【在 h*******8 的大作中提到】
: 有可能我想的比较简单了。
: 如果是订车系统的话,最终是不是考虑维护一个分布式的队列?
: 预定就是进队列(enq),派出出租车是出队列(deq)。
: 由于这个队列是分布式的,可能要用到quorum consensus维护一致性,以及提供一定程
: 度的容错。

p*****2
发帖数: 21240
9
感觉没什么意思,随便写了一下。觉得难点是如何匹配taxi。比如要考虑taxi的当前位
置,状态,如果载人,什么时候能idle。而且还要考虑traffic情况,customer也可能
会改变当前request的destination什么的。还有要检查是否有灵异事件,比如进去两个
,出来一个什么的。
class Customer{
ID, name, address, etc.
type {maybe enum regular, premium etc}
credit card
book()
}
class Request{
customer
from
to
number of people
number of taxi
}
class Driver{

}
class Taxi{
status {on order, idle, etc.}
driver
location
request
takerequest()
donerequest()
}
BookSystem{
HashMap of customer
HashMap of driver
HashMap of taxi
Queue of request (maybe PriorityQueue)
}
p*****2
发帖数: 21240
10
不知道一个driver是不是固定一个taxi还是可以互换的。或者2,3个driver驾驶同一个
出租。
不知道一个customer可不可以下几个request。或者一个request可不可以支持几个
custoemer。
系统的数据量有多大。感觉都需要跟面试官交流才能做呀。
相关主题
上午偷闲把TopKFrequentWords写出来了请教大家关于实时数据统计的设计
高频题:下面这lru的code 怎么改成有效率且thread-safe的版本bloomberg onsite
请教一道Google面试题我看uber为什么不会有风险
进入JobHunting版参与讨论
p*****2
发帖数: 21240
11
如果不同的用户同时叫了同一辆车,怎么办?
为什么会发生这个情况呢?不是应该系统去匹配吗?难道用户叫车的时候可以指定哪辆
车?
Z**********4
发帖数: 528
12
不同用户叫同一辆车的情况应该是:
某车司机被call要去某地接人,运送过程中又 接到电话问是否愿意去另一地接人(没
有比他更近的出租车了)司机说好,等送完人以后直接去接那个人。
p*****2
发帖数: 21240
13

那taxi class里加一个queue是不是就解决了?

【在 Z**********4 的大作中提到】
: 不同用户叫同一辆车的情况应该是:
: 某车司机被call要去某地接人,运送过程中又 接到电话问是否愿意去另一地接人(没
: 有比他更近的出租车了)司机说好,等送完人以后直接去接那个人。

Z**********4
发帖数: 528
14
简单情况下是这样。但是如果在这个司机送第一个乘客的过程中又有其他出租车恰好比
他更近的话,应该重新安排任务。

【在 p*****2 的大作中提到】
:
: 那taxi class里加一个queue是不是就解决了?

p*****2
发帖数: 21240
15

感觉是会有这个情况。比如路上堵车了。所以BookSystem需要保持一个pending的list
, 并且监视taxi的状况,一旦发现异常则可能重新schedule。

【在 Z**********4 的大作中提到】
: 简单情况下是这样。但是如果在这个司机送第一个乘客的过程中又有其他出租车恰好比
: 他更近的话,应该重新安排任务。

1 (共1页)
进入JobHunting版参与讨论
相关主题
careercup书上那个maintain median value的题到底什么是priority queue啊?
给LeetCode推荐一道题Modified Minimum Path Sum上午偷闲把TopKFrequentWords写出来了
k sorted array merge大家现场写一个heap?高频题:下面这lru的code 怎么改成有效率且thread-safe的版本
请教各位大牛一个K-way merge 的问题请教一道Google面试题
发个evernote的code challenge请教大家关于实时数据统计的设计
twittier的onsite挂了,来问个常见题bloomberg onsite
问一个面试经常问的ood,维护前k名的list的问题我看uber为什么不会有风险
问道indeed面试算法题Can Uber ever deliver?
相关话题的讨论汇总
话题: taxi话题: request话题: customer话题: 系统话题: hashmap