l******n 发帖数: 347 | 1 第一题是设计一个airport
scheduling system讨论了起飞和降落两个部分。第二题是设计一个分布式的queue。还
讨论来分布式系统cache的设计。
any idea where we can find useful information about answering questions
like this? |
s*****n 发帖数: 5488 | 2 第一题原理上类似电梯把。贴贴你的回答讨论一下?
【在 l******n 的大作中提到】 : 第一题是设计一个airport : scheduling system讨论了起飞和降落两个部分。第二题是设计一个分布式的queue。还 : 讨论来分布式系统cache的设计。 : any idea where we can find useful information about answering questions : like this?
|
l******n 发帖数: 347 | 3 no, I am borrowing the questions from some one,
share your elevator system design,please!
【在 s*****n 的大作中提到】 : 第一题原理上类似电梯把。贴贴你的回答讨论一下?
|
s*****n 发帖数: 5488 | 4 关键点是调度程序,不要用一个大的foreach loop, 然后switch on type.
用多态来解决问题。
对象有:调度,机场,跑道,飞机。做一个UML的concept diagram.
调度机场1:1. has-a关系。
跑道机场,n:1,has-a 关系。
飞机,抽象类,具体类,小飞机,大飞机,直升飞机,etc.isa关系。
对于机场调度,考虑起飞和降落两个use cases:
可以画interactive diagram,或者文字。
飞机: 1. 请求降落
调度: 2. 分配跑道
飞机: 3. 降落
飞机: 4. 释放跑道资源。
如果没有资源,进入queue排队。
这样,需要一个跑道资源manager,和飞机queue.
设计模式:
机场,调度,跑道manager, 飞机queue, singleton.
飞机降落过程template method.
飞机/调度广播通信:observer
调度:mediator
暂时想到这么多。
【在 l******n 的大作中提到】 : no, I am borrowing the questions from some one, : share your elevator system design,please!
|
p********u 发帖数: 47 | 5 问为啥是observer pattern? 如果调度是subject, 飞机是observer的话, 如果跑道
available了, subject 只需要每次notify一架飞机就可以, 不需要notify所有的
observer了吧 |
s*****n 发帖数: 5488 | 6 我自己设计的,不是标准答案。主要考虑的是queue是subject.而没有进队的飞机是
observer.
【在 p********u 的大作中提到】 : 问为啥是observer pattern? 如果调度是subject, 飞机是observer的话, 如果跑道 : available了, subject 只需要每次notify一架飞机就可以, 不需要notify所有的 : observer了吧
|
D***h 发帖数: 183 | 7 说说distribute quequ和cache怎么实现?
【在 s*****n 的大作中提到】 : 我自己设计的,不是标准答案。主要考虑的是queue是subject.而没有进队的飞机是 : observer.
|
s*****n 发帖数: 5488 | 8 我也不会啊。这个应该是web server上的东西。准备放狗查查。
【在 D***h 的大作中提到】 : 说说distribute quequ和cache怎么实现?
|
c******a 发帖数: 789 | 9 Distributed queue use case:
10 million tasks in task queue, overseeing 10 VMs on a cluster. FIFO order
needs to apply to all queue operations cluster-wide.
有人说他实现了。。。。
http://code.google.com/p/hazelcast/wiki/Queue |
f**********t 发帖数: 1001 | 10 这里的跑道manager和调度有啥区别?
【在 s*****n 的大作中提到】 : 关键点是调度程序,不要用一个大的foreach loop, 然后switch on type. : 用多态来解决问题。 : 对象有:调度,机场,跑道,飞机。做一个UML的concept diagram. : 调度机场1:1. has-a关系。 : 跑道机场,n:1,has-a 关系。 : 飞机,抽象类,具体类,小飞机,大飞机,直升飞机,etc.isa关系。 : 对于机场调度,考虑起飞和降落两个use cases: : 可以画interactive diagram,或者文字。 : 飞机: 1. 请求降落 : 调度: 2. 分配跑道
|