H*M 发帖数: 1268 | 1 一个汽车工厂生产各种各样的车,比如卡车,乘客车等等
每辆车有不同特性,比如有的有天窗,有的四个门,有的两个门
现在让你设计一个测试车的程序,比如说,想测试电池,那么所有有电池的车都要被测试;
如果想测试天窗,那么所有有天窗的车都要被测试.
给出class,和主要function.
这个又是什么pattern之类的呢? | a****n 发帖数: 1887 | 2 设计电梯,停车场, 纸牌 和 动物园, 这几个题比较经典, 也可以讨论一下
不过我觉得设计不应该从pattern 入手, 应该先从需求入手,分析client-server 的
接口 | H*M 发帖数: 1268 | 3 是是
牛人,那么20多个pattern,你觉得哪些比较重点?
【在 a****n 的大作中提到】 : 设计电梯,停车场, 纸牌 和 动物园, 这几个题比较经典, 也可以讨论一下 : 不过我觉得设计不应该从pattern 入手, 应该先从需求入手,分析client-server 的 : 接口
| a****n 发帖数: 1887 | 4 我觉得gowii这方面比较牛,我的一点体会:
创建者模式用的最多的是factory method, singleton
结构模式用的最多的是proxy, adapter, facade
行为模式中observer, command, state, strategy, template method 用的最多
面试我倒不是很清楚
不过我觉得最难的pattern是visitor.
还有一个非常重要的pattern就是 MVC,这个非常经典,要实现出来也是很困难的
另外实现上proxy, adapter 和 decorator 很像。
目的而言template method 和 strategy 很像。
我觉得设计模式的种类划分, 是根据目的划分的, 就是design pattern中每个
pattern章节的第一句话, 如果上手就看实现的话,会很乱。
不过这些都是做项目的体会, 和面试关系不是很大。
【在 H*M 的大作中提到】 : 是是 : 牛人,那么20多个pattern,你觉得哪些比较重点?
| H*M 发帖数: 1268 | 5 谢谢.
存了.
你有没有总结过像动物园,电梯停车场这种题?
【在 a****n 的大作中提到】 : 我觉得gowii这方面比较牛,我的一点体会: : 创建者模式用的最多的是factory method, singleton : 结构模式用的最多的是proxy, adapter, facade : 行为模式中observer, command, state, strategy, template method 用的最多 : 面试我倒不是很清楚 : 不过我觉得最难的pattern是visitor. : 还有一个非常重要的pattern就是 MVC,这个非常经典,要实现出来也是很困难的 : 另外实现上proxy, adapter 和 decorator 很像。 : 目的而言template method 和 strategy 很像。 : 我觉得设计模式的种类划分, 是根据目的划分的, 就是design pattern中每个
| a****n 发帖数: 1887 | 6 没有。我最近也打算看看类似的问题
一般面试的时候给的requirement都不多, 大都需要自己问, 不能光靠假设来设计。
设计类的问题最好能大家一起讨论
网上copy来的
How would you model a parking lot?
What to look for?
Expected answer: A parking lot is (at least conceptually) a container for
objects of type vehicle - vehicle may be subclassed for different kinds of
vehicles: trucks, motorcycles, cars, ... - Important concepts: container,
inheritance!
Does the candidate jump to conclusions as to what the parking lot is
supposed to do?
Does the candidate approach this proble
【在 H*M 的大作中提到】 : 谢谢. : 存了. : 你有没有总结过像动物园,电梯停车场这种题?
| H*M 发帖数: 1268 | 7 这个哪拷的?说的还挺有道理的.
【在 a****n 的大作中提到】 : 没有。我最近也打算看看类似的问题 : 一般面试的时候给的requirement都不多, 大都需要自己问, 不能光靠假设来设计。 : 设计类的问题最好能大家一起讨论 : 网上copy来的 : How would you model a parking lot? : What to look for? : Expected answer: A parking lot is (at least conceptually) a container for : objects of type vehicle - vehicle may be subclassed for different kinds of : vehicles: trucks, motorcycles, cars, ... - Important concepts: container, : inheritance!
| a****n 发帖数: 1887 | |
| k***e 发帖数: 556 | 9 看了设计也是你的强项!
顶!
【在 a****n 的大作中提到】 : 我觉得gowii这方面比较牛,我的一点体会: : 创建者模式用的最多的是factory method, singleton : 结构模式用的最多的是proxy, adapter, facade : 行为模式中observer, command, state, strategy, template method 用的最多 : 面试我倒不是很清楚 : 不过我觉得最难的pattern是visitor. : 还有一个非常重要的pattern就是 MVC,这个非常经典,要实现出来也是很困难的 : 另外实现上proxy, adapter 和 decorator 很像。 : 目的而言template method 和 strategy 很像。 : 我觉得设计模式的种类划分, 是根据目的划分的, 就是design pattern中每个
| g***i 发帖数: 408 | 10 VISITOR的本质实际上是double dispach,实际应用的很少,因为其紧耦合。。。
【在 a****n 的大作中提到】 : 我觉得gowii这方面比较牛,我的一点体会: : 创建者模式用的最多的是factory method, singleton : 结构模式用的最多的是proxy, adapter, facade : 行为模式中observer, command, state, strategy, template method 用的最多 : 面试我倒不是很清楚 : 不过我觉得最难的pattern是visitor. : 还有一个非常重要的pattern就是 MVC,这个非常经典,要实现出来也是很困难的 : 另外实现上proxy, adapter 和 decorator 很像。 : 目的而言template method 和 strategy 很像。 : 我觉得设计模式的种类划分, 是根据目的划分的, 就是design pattern中每个
| | | g***i 发帖数: 408 | 11 VISITOR
例子WIKI上有
http://en.wikipedia.org/wiki/Visitor_pattern
试;
8.12.]
【在 H*M 的大作中提到】 : 一个汽车工厂生产各种各样的车,比如卡车,乘客车等等 : 每辆车有不同特性,比如有的有天窗,有的四个门,有的两个门 : 现在让你设计一个测试车的程序,比如说,想测试电池,那么所有有电池的车都要被测试; : 如果想测试天窗,那么所有有天窗的车都要被测试. : 给出class,和主要function. : 这个又是什么pattern之类的呢?
| m******9 发帖数: 968 | 12 我早就想请教了,这些题好多公司都喜欢问了,
不过没看到什么全面的答案,大家是该好好讨论一下
【在 a****n 的大作中提到】 : 设计电梯,停车场, 纸牌 和 动物园, 这几个题比较经典, 也可以讨论一下 : 不过我觉得设计不应该从pattern 入手, 应该先从需求入手,分析client-server 的 : 接口
| a********a 发帖数: 219 | 13 你真是太强了。你是我见过design最强的。很多partten连听都没听说过。
【在 a****n 的大作中提到】 : 没有。我最近也打算看看类似的问题 : 一般面试的时候给的requirement都不多, 大都需要自己问, 不能光靠假设来设计。 : 设计类的问题最好能大家一起讨论 : 网上copy来的 : How would you model a parking lot? : What to look for? : Expected answer: A parking lot is (at least conceptually) a container for : objects of type vehicle - vehicle may be subclassed for different kinds of : vehicles: trucks, motorcycles, cars, ... - Important concepts: container, : inheritance!
| m****n 发帖数: 145 | 14 我来一个汽车design的粗浅解法,大家讨论一下,共同进步。
附件是UML图。下面是Factory中Test方法的C#伪码:
// t should be one of the subclass of class Part
Void Test(Type t)
{
foreach(var car in Cars)
{
foreach(var part in car.Parts)
{
if(part is t)
part.test();
}
}
}
以上程序可以用Linq简化。由于手头没有编译器就不做了。 | m****n 发帖数: 145 | 15
【在 m****n 的大作中提到】 : 我来一个汽车design的粗浅解法,大家讨论一下,共同进步。 : 附件是UML图。下面是Factory中Test方法的C#伪码: : // t should be one of the subclass of class Part : Void Test(Type t) : { : foreach(var car in Cars) : { : foreach(var part in car.Parts) : { : if(part is t)
|
|