求助 router ac66u# Hardware - 计算机硬件
r*n
1 楼
今天又被一道这种题目弄郁闷了,那人叫我OOD设计一个version control system,比如
就是SVN,怎么design? 我大致说job是个class, file是个class,然后不同的文件格式
可以subclass file, job里面可以包含check-in, check-out等methods;file里面
property有content,version#,有个compare method等。然后,他问如何实现svn
status功能,我就说可以把两个file vector中的file进行比较,返回有修改的file
list。似乎还问了如何实现branch功能,总之最后似乎电面的人十分不满意我的答案,
直接说“that's not what I expect to hear. wish you good luck in job hunting,
blablabla” ......
的确不太会答这类题。因为这类题目太含糊,店面时,基本都是说完题目,我基本也得
马上回答。所以我一般都是挑出几个最明显的component,说这几个东西要成为class,
大致说下可以有一些property(name,age, color etc..), methods(set, get和特别明
显的需求)。然后就开始想有没有subclass,表明我知道inheritage,polymorphism的
概念;假如有公有资源,就会说是否要加上mutex。除此之外,往往就不知道咋想了。
各种design pattern大致也知道些,不过总觉得这时候不太容易一下子,把一个具体的
design题扯到pattern上。
不太清楚interview到底想听到啥关键字之类的,有大牛能以SVN这题为例讲讲不?
就是SVN,怎么design? 我大致说job是个class, file是个class,然后不同的文件格式
可以subclass file, job里面可以包含check-in, check-out等methods;file里面
property有content,version#,有个compare method等。然后,他问如何实现svn
status功能,我就说可以把两个file vector中的file进行比较,返回有修改的file
list。似乎还问了如何实现branch功能,总之最后似乎电面的人十分不满意我的答案,
直接说“that's not what I expect to hear. wish you good luck in job hunting,
blablabla” ......
的确不太会答这类题。因为这类题目太含糊,店面时,基本都是说完题目,我基本也得
马上回答。所以我一般都是挑出几个最明显的component,说这几个东西要成为class,
大致说下可以有一些property(name,age, color etc..), methods(set, get和特别明
显的需求)。然后就开始想有没有subclass,表明我知道inheritage,polymorphism的
概念;假如有公有资源,就会说是否要加上mutex。除此之外,往往就不知道咋想了。
各种design pattern大致也知道些,不过总觉得这时候不太容易一下子,把一个具体的
design题扯到pattern上。
不太清楚interview到底想听到啥关键字之类的,有大牛能以SVN这题为例讲讲不?