由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 再贴设计电梯
相关主题
电梯问题设计题 谁给个比较好的设计方法啊how to prepare questions like "Design an elevator"?
电梯设计题问一个interview时候design的general问题
谁能给个“电梯设计”题的终极解答?问几道题
急问两道面试题design elevator 问题求解
贴一个电梯设计伪码吧。刚被面了,贡献两个题目
How to OO design a chicken class?问问电梯设计elevator design的问题。
报个Box Offer,和面经找工作中的networking
amazon的面经问个电梯系统设计的问题
相关话题的讨论汇总
话题: void话题: door话题: state话题: button话题: alarm
进入JobHunting版参与讨论
1 (共1页)
r**u
发帖数: 1567
1
大家comment吧
class Door {
int state; // Door is open or closed.
public:
void open();
void close();
};
class Button {
int indicate; // What does this Button indicate?
int state;
public:
void push(); // Send a request to go to a certain floor.
void clear();
};
class Alarm {
int state; // Current state of alarm, beeping or not
public:
void beep();
void stopBeep();
};
class Light {
int state; // Current state of light, on or off
public:
void turnOn();
void tu
W****N
发帖数: 299
2
看不懂啊

【在 r**u 的大作中提到】
: 大家comment吧
: class Door {
: int state; // Door is open or closed.
: public:
: void open();
: void close();
: };
: class Button {
: int indicate; // What does this Button indicate?
: int state;

t******e
发帖数: 1293
3
Bank class是manager的类?

【在 r**u 的大作中提到】
: 大家comment吧
: class Door {
: int state; // Door is open or closed.
: public:
: void open();
: void close();
: };
: class Button {
: int indicate; // What does this Button indicate?
: int state;

r**u
发帖数: 1567
4
一个bank可以有几个电梯,电梯有door, light, alarm, button。大致是这个意思。

【在 r**u 的大作中提到】
: 大家comment吧
: class Door {
: int state; // Door is open or closed.
: public:
: void open();
: void close();
: };
: class Button {
: int indicate; // What does this Button indicate?
: int state;

m******9
发帖数: 968
5
其实我有个地方没想明白的是,在Door button light alarm都定义了state,可是在
elevator中如何自动的调整这些state,
比如,现在电梯在7楼,1楼3楼都有人等电梯,当电梯穿过了7楼,door的状态要close
,button off, light off。 当到达3楼时, door open,light on, alarm on
这个状态该怎么描述呢?
r**u
发帖数: 1567
6
可以用elevator里的moveTo function,在这个函数里
door->close(), light->turnOff, alarm->turnOff...
然后再弄个arrive function,在这个函数里,
door->open(), light->turnOn, alarm->turnOn.
还有一个问题,就是elevator先在所在的楼层怎么update,
这个用一个事件之类的东西吧。每次触发这个事件,update
current floor.

close

【在 m******9 的大作中提到】
: 其实我有个地方没想明白的是,在Door button light alarm都定义了state,可是在
: elevator中如何自动的调整这些state,
: 比如,现在电梯在7楼,1楼3楼都有人等电梯,当电梯穿过了7楼,door的状态要close
: ,button off, light off。 当到达3楼时, door open,light on, alarm on
: 这个状态该怎么描述呢?

g*****u
发帖数: 298
7
Elevator类里destination是向上或向下么?如果不是,和request的关系是什么?
还有,你bank里的Elevators就用了一个指针,没有数目啊,怎么能知道有几个
elevator呢。还有,楼梯间的button不要表示了么?
r**u
发帖数: 1567
8
Elevator类里不该有requests,只有bank该记录所有的request,elevator只要知道它
的destination就行了。另外,button被push时,bank要加入一个新的request,但是这
个怎么弄我没想清楚。

【在 g*****u 的大作中提到】
: Elevator类里destination是向上或向下么?如果不是,和request的关系是什么?
: 还有,你bank里的Elevators就用了一个指针,没有数目啊,怎么能知道有几个
: elevator呢。还有,楼梯间的button不要表示了么?

a****l
发帖数: 8211
9
a building is only going to have so many elevators, and a building is only
going to have so many floors. So, all those things are fixed, no way to
change suddenly. You are not going to suddenly have one additional floor in
a building, right? no way.
Therefore, there is no need to employ any complex mechanisms, such as queues
, events, etc. Store everything in a table. Just let everyone post the
information, and others check the information. Since elevators are
mechanical and slow anyway, polli

【在 r**u 的大作中提到】
: Elevator类里不该有requests,只有bank该记录所有的request,elevator只要知道它
: 的destination就行了。另外,button被push时,bank要加入一个新的request,但是这
: 个怎么弄我没想清楚。

g*****u
发帖数: 298
10
我感觉Elevator类还是应该记录所有它应该停靠的楼层,比如用stop_floors表示,而
不只是一个destination。这个可以用bitmap或者数组来实现。电梯里的人可以按下多
个楼层。另外bank收到楼梯间的request的时候,决定哪个电梯来响应这个服务,并把
该楼层加入到相应服务的电梯的stop_floors里。在某一层停过后就从中删除。

【在 r**u 的大作中提到】
: Elevator类里不该有requests,只有bank该记录所有的request,elevator只要知道它
: 的destination就行了。另外,button被push时,bank要加入一个新的request,但是这
: 个怎么弄我没想清楚。

r**u
发帖数: 1567
11
我觉得elevator不用记录stop_floors,否则的话就跟bank记录的信息重复了。当
elevator service了current destination之后,bank会给它新的destination。

【在 g*****u 的大作中提到】
: 我感觉Elevator类还是应该记录所有它应该停靠的楼层,比如用stop_floors表示,而
: 不只是一个destination。这个可以用bitmap或者数组来实现。电梯里的人可以按下多
: 个楼层。另外bank收到楼梯间的request的时候,决定哪个电梯来响应这个服务,并把
: 该楼层加入到相应服务的电梯的stop_floors里。在某一层停过后就从中删除。

g*****u
发帖数: 298
12
我觉得不是,因为一个电梯要停的楼层不光来自bank,还有可能是电梯内的人。

【在 r**u 的大作中提到】
: 我觉得elevator不用记录stop_floors,否则的话就跟bank记录的信息重复了。当
: elevator service了current destination之后,bank会给它新的destination。

1 (共1页)
进入JobHunting版参与讨论
相关主题
问个电梯系统设计的问题贴一个电梯设计伪码吧。
OO - design questionsHow to OO design a chicken class?
大家讲讲OOD 问题怎么准备报个Box Offer,和面经
请问OOD的问题应该如何回答 有哪些资料可以参考amazon的面经
电梯问题设计题 谁给个比较好的设计方法啊how to prepare questions like "Design an elevator"?
电梯设计题问一个interview时候design的general问题
谁能给个“电梯设计”题的终极解答?问几道题
急问两道面试题design elevator 问题求解
相关话题的讨论汇总
话题: void话题: door话题: state话题: button话题: alarm