z*s 发帖数: 209 | 1 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。
第一轮电话面试:
1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a
good hash function”,“什么是load factor”。
2、算法:删除一个给定数列中重复的元素。
3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间
,让我写好以后发到他邮箱里。
4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现
vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如
果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
第二轮电话面试:
1、Favorite project。
2、你最喜欢的排序算法,它是怎么工作的,有什么优点和缺点。我说的是选择排序,
他又问有什么排序算法比它的时间复杂度小,并且同样要描述一下它们是怎么工作的。
3、算法、写代码:
给了两个数组,要求找出他们之中相同的元素,并且将相同的元素存储在一个新的数组
里,再输出。如果数组里有重复的元素,比如array1中有四个5,array2中有两个5,那
么新数组里只存储两个5。要求我写代码,再念给他听。
4、OOD:设计restaurant reservation系统。
5、好像是一个开放性问题,我没有完全理解:log file中存储了很多order的信息,每
个order都有一个oid,字符串格式(xxx-xxxxxxx-xxxxxxx)。要求从log file中把所
有的oid都提取出来,问我怎么做。
on-site:
一、给定一篇文章,用户想要搜索一个单词,要求给出搜索单词的建议(就像一般的搜
索引擎的那种功能)。要求描述算法、复杂度并写代码。
二、先问了几个行为问题。然后问了两个简单的链表问题,单链表中查找倒数第n个数
和判断链表中是否有环。编程题问的是boggle游戏的问题:给定一个4*4的矩阵,每个
位置有一个字母,可以从一个位置跳转到周围八个相邻位置中的任何一个,但不能跳到
已经访问过的位置,要求找出所有的单词(假设给定了一个词典)。
http://en.wikipedia.org/wiki/Boggle
三、午餐,一个经理问了一些简历上的projects和实习的经历,然后又介绍了一下他们
组的工作。他说这次面试我的主要是Kindle组的。
四、不是Kindle组的,我估计是传说中的bar raiser。第一个问题是给了一个很大的文
件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重
复。然后是一个开放性问题:一台服务器每过三天就要挂一次,需要重启才能再次使用
,每次重启需要一分钟的时间;问有什么方法能解决这个问题。
五、实现一个整数除法的函数,不使用除号,可以使用加号、减号和乘号,函数只返回
商。 |
g*********s 发帖数: 1782 | 2 2、你最喜欢的排序算法,它是怎么工作的,有什么优点和缺点。我说的是选择排序,
他又问有什么排
序算法比它的时间复杂度小,并且同样要描述一下它们是怎么工作的。
什么是选择排序?
5、好像是一个开放性问题,我没有完全理解:log file中存储了很多order的信息,每
个order
都有一个oid,字符串格式(xxx-xxxxxxx-xxxxxxx)。要求从log file中把所有的oid
都提取
出来,问我怎么做。
grep?
【在 z*s 的大作中提到】 : 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。 : 第一轮电话面试: : 1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a : good hash function”,“什么是load factor”。 : 2、算法:删除一个给定数列中重复的元素。 : 3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间 : ,让我写好以后发到他邮箱里。 : 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现 : vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如 : 果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
|
s*******t 发帖数: 248 | 3 Thanks for sharing!
on site 第一轮,写个trie?
on site 第四轮,那个开放性问题如何回答呢,没有思路。
【在 z*s 的大作中提到】 : 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。 : 第一轮电话面试: : 1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a : good hash function”,“什么是load factor”。 : 2、算法:删除一个给定数列中重复的元素。 : 3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间 : ,让我写好以后发到他邮箱里。 : 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现 : vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如 : 果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
|
M7 发帖数: 219 | 4 selection sort
grep不愧为Amazon的最爱问题。
两次电面都问OOD...不容易。
oid
【在 g*********s 的大作中提到】 : 2、你最喜欢的排序算法,它是怎么工作的,有什么优点和缺点。我说的是选择排序, : 他又问有什么排 : 序算法比它的时间复杂度小,并且同样要描述一下它们是怎么工作的。 : 什么是选择排序? : 5、好像是一个开放性问题,我没有完全理解:log file中存储了很多order的信息,每 : 个order : 都有一个oid,字符串格式(xxx-xxxxxxx-xxxxxxx)。要求从log file中把所有的oid : 都提取 : 出来,问我怎么做。 : grep?
|
g*********s 发帖数: 1782 | 5
i've totally forgotten this one...
【在 M7 的大作中提到】 : selection sort : grep不愧为Amazon的最爱问题。 : 两次电面都问OOD...不容易。 : : oid
|
R***i 发帖数: 78 | 6 2、算法:删除一个给定数列中重复的元素。
这道题看起来简单但是还是很多陷阱啊。。。
比如删除是什么意思?只是把array element mark为一个不可能的值(比如-1),还是
输出一个崭新的没有重复的数列。 |
g*********s 发帖数: 1782 | 7 usually it means in-place remove.
【在 R***i 的大作中提到】 : 2、算法:删除一个给定数列中重复的元素。 : 这道题看起来简单但是还是很多陷阱啊。。。 : 比如删除是什么意思?只是把array element mark为一个不可能的值(比如-1),还是 : 输出一个崭新的没有重复的数列。
|
g*********s 发帖数: 1782 | 8 3、算法、写代码:
给了两个数组,要求找出他们之中相同的元素,并且将相同的元素存储在一个新的数组
里,再输出。
如果数组里有重复的元素,比如array1中有四个5,array2中有两个5,那么新数组里只
存储两个
5。要求我写代码,再念给他听。
this one also confusing. if array1 has 1 "5" and array2 has 1 "5" too.
then new array has 2 "5" or 1 "5"?
looks like it's trying to implement set union. but why allow the
duplicates...
【在 z*s 的大作中提到】 : 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。 : 第一轮电话面试: : 1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a : good hash function”,“什么是load factor”。 : 2、算法:删除一个给定数列中重复的元素。 : 3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间 : ,让我写好以后发到他邮箱里。 : 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现 : vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如 : 果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
|
i**9 发帖数: 351 | 9 是啊,难道要写个 trie吗
【在 s*******t 的大作中提到】 : Thanks for sharing! : on site 第一轮,写个trie? : on site 第四轮,那个开放性问题如何回答呢,没有思路。
|
R***i 发帖数: 78 | 10
请问array怎么实现in-place remove? duplicate的值的空格会被填掉,但array最后几
格还是
都是多出来的空格啊,最后直接return这个array的话也不对啊。。。真心求教
【在 g*********s 的大作中提到】 : usually it means in-place remove.
|
|
|
g*********s 发帖数: 1782 | 11 u can return the index of the ending element, like stl does.
【在 R***i 的大作中提到】 : : 请问array怎么实现in-place remove? duplicate的值的空格会被填掉,但array最后几 : 格还是 : 都是多出来的空格啊,最后直接return这个array的话也不对啊。。。真心求教
|
R***i 发帖数: 78 | 12
o...知道了。。。我一直用java,没有stl的概念,多谢
【在 g*********s 的大作中提到】 : u can return the index of the ending element, like stl does.
|
f***g 发帖数: 214 | 13 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现
vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如
果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
麻烦楼主说说你怎么答得,谢谢 |
l****o 发帖数: 135 | 14 int removeDuplicateInt(int A[], int n)
return the new element number.
【在 R***i 的大作中提到】 : 2、算法:删除一个给定数列中重复的元素。 : 这道题看起来简单但是还是很多陷阱啊。。。 : 比如删除是什么意思?只是把array element mark为一个不可能的值(比如-1),还是 : 输出一个崭新的没有重复的数列。
|
h**********d 发帖数: 4313 | 15 谢谢楼主分享~ 祝福一下
那个服务器老挂那题,怎么回答?
还有这题,用hashmap?
第一个问题是给了一个很大的文
件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重
复。 |
d*********t 发帖数: 33 | 16 我觉得应该用类似histogram的作法,累计每一个整数出现的次数。
【在 h**********d 的大作中提到】 : 谢谢楼主分享~ 祝福一下 : 那个服务器老挂那题,怎么回答? : 还有这题,用hashmap? : 第一个问题是给了一个很大的文 : 件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重 : 复。
|
g*********s 发帖数: 1782 | 17
i doubt hash would work. it requires O(N) space while the file itself is
too big to fit in mem.
【在 h**********d 的大作中提到】 : 谢谢楼主分享~ 祝福一下 : 那个服务器老挂那题,怎么回答? : 还有这题,用hashmap? : 第一个问题是给了一个很大的文 : 件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重 : 复。
|
z*s 发帖数: 209 | 18
对,是in place remove。
【在 g*********s 的大作中提到】 : usually it means in-place remove.
|
z*s 发帖数: 209 | 19 如果array1有一个5,array2也有一个5,新的数组应该只有一个5。应该是取同一数字
的个数较小的那个。
【在 g*********s 的大作中提到】 : 3、算法、写代码: : 给了两个数组,要求找出他们之中相同的元素,并且将相同的元素存储在一个新的数组 : 里,再输出。 : 如果数组里有重复的元素,比如array1中有四个5,array2中有两个5,那么新数组里只 : 存储两个 : 5。要求我写代码,再念给他听。 : this one also confusing. if array1 has 1 "5" and array2 has 1 "5" too. : then new array has 2 "5" or 1 "5"? : looks like it's trying to implement set union. but why allow the : duplicates...
|
h**********d 发帖数: 4313 | 20 详细讲讲?和hashtable不同吗
【在 d*********t 的大作中提到】 : 我觉得应该用类似histogram的作法,累计每一个整数出现的次数。
|
|
|
z*s 发帖数: 209 | 21 服务器那个题我答的不好,因为老是不知道他在问什么,他想要的答案是什么。反正他
给了我很多提示,比如可以用交替使用两台机器,还需要一个load balancer,这样可
以在一台服务器挂的时候正好用上另一台正常工作的服务器,再重启挂的这个机器。
文件找重复的那道题我觉得可以用hashtable,也可以external sorting。hashtable有
个问题是如果内存中放不下这个哈希表的话怎么办?我说可以使用多台机器,每台存放
一定范围内的数字(类似于MapReduce中map的过程),然后再分别对每个机器处理。
【在 h**********d 的大作中提到】 : 谢谢楼主分享~ 祝福一下 : 那个服务器老挂那题,怎么回答? : 还有这题,用hashmap? : 第一个问题是给了一个很大的文 : 件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重 : 复。
|
z*s 发帖数: 209 | 22 很惭愧,我对OOD非常不熟悉。我说的是定义car类,user类和rental类,其中一个
rental对象表示一个租车的交易,要记录用户和车的信息。如果要向用户发送提醒邮件
的话,我说可以定义一个链表,或者直接用一个数组,数组中的每一项是一条租车记录
,它们是按交车时间从早到晚排序的;然后根据当前时间向这个表中的靠前的几条记录
的用户发送提醒邮件。
【在 f***g 的大作中提到】 : 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现 : vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如 : 果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。 : 麻烦楼主说说你怎么答得,谢谢
|
d*********t 发帖数: 33 | 23 我说说看哦,我非CS专业,不晓得hashtable是啥,不对的话见笑。
建一个数组vector count,够大,所有的entry都清零。
然后开始读那个文件,读到任意一个整数,假设为i,就在count的第i个位置加一:
count[i]++;
直到把文件读完,如果这个文件里没有重复出现的数,那么count里的值要么是零要么
是一,如果有大于一的值,说明这个值出现了不止一次。
【在 h**********d 的大作中提到】 : 详细讲讲?和hashtable不同吗
|
g*********s 发帖数: 1782 | 24 this is called direct addressing. impractical as u have to assume the
input is in a range.
【在 d*********t 的大作中提到】 : 我说说看哦,我非CS专业,不晓得hashtable是啥,不对的话见笑。 : 建一个数组vector count,够大,所有的entry都清零。 : 然后开始读那个文件,读到任意一个整数,假设为i,就在count的第i个位置加一: : count[i]++; : 直到把文件读完,如果这个文件里没有重复出现的数,那么count里的值要么是零要么 : 是一,如果有大于一的值,说明这个值出现了不止一次。
|
g*********s 发帖数: 1782 | 25 it's a weird problem. i can't figure out any real scenario we need such
kind of union.
【在 z*s 的大作中提到】 : 如果array1有一个5,array2也有一个5,新的数组应该只有一个5。应该是取同一数字 : 的个数较小的那个。
|
d*********t 发帖数: 33 | 26 哦 那能不能请教一下hashtable是怎么做的
【在 g*********s 的大作中提到】 : this is called direct addressing. impractical as u have to assume the : input is in a range.
|
f***g 发帖数: 214 | 27 是一个方法,不过很显然,这题的初衷并不是让用hashtable,毕竟是bar raiser嘛。
面试官可以说是int 64或者改变为其他类型。
这种题大概有几种方式
bloom filter (会有误差)
external sort
bucket分组
map reduce
【在 d*********t 的大作中提到】 : 我说说看哦,我非CS专业,不晓得hashtable是啥,不对的话见笑。 : 建一个数组vector count,够大,所有的entry都清零。 : 然后开始读那个文件,读到任意一个整数,假设为i,就在count的第i个位置加一: : count[i]++; : 直到把文件读完,如果这个文件里没有重复出现的数,那么count里的值要么是零要么 : 是一,如果有大于一的值,说明这个值出现了不止一次。
|
f***g 发帖数: 214 | 28 已经不错了。
这种预定类型的,大概都是这么个结构吧
那二面中的OOD,其实也差不多了,对吗?
不过,那几个要求有点绕,比如search car 什么的。
并祝楼主拿到Offer
【在 z*s 的大作中提到】 : 很惭愧,我对OOD非常不熟悉。我说的是定义car类,user类和rental类,其中一个 : rental对象表示一个租车的交易,要记录用户和车的信息。如果要向用户发送提醒邮件 : 的话,我说可以定义一个链表,或者直接用一个数组,数组中的每一项是一条租车记录 : ,它们是按交车时间从早到晚排序的;然后根据当前时间向这个表中的靠前的几条记录 : 的用户发送提醒邮件。
|
h**********d 发帖数: 4313 | 29 我以为是让你查挂掉的原因,这种题是不大好答,没这种经验
我也是想每台机寸不同范围的数字,每次多一步 比较一下属于哪个范围
【在 z*s 的大作中提到】 : 服务器那个题我答的不好,因为老是不知道他在问什么,他想要的答案是什么。反正他 : 给了我很多提示,比如可以用交替使用两台机器,还需要一个load balancer,这样可 : 以在一台服务器挂的时候正好用上另一台正常工作的服务器,再重启挂的这个机器。 : 文件找重复的那道题我觉得可以用hashtable,也可以external sorting。hashtable有 : 个问题是如果内存中放不下这个哈希表的话怎么办?我说可以使用多台机器,每台存放 : 一定范围内的数字(类似于MapReduce中map的过程),然后再分别对每个机器处理。
|
h**********d 发帖数: 4313 | 30 我只是猜,虽然文件大,但说不定只有3个数值呢... O_O
【在 g*********s 的大作中提到】 : it's a weird problem. i can't figure out any real scenario we need such : kind of union.
|
|
|
z*s 发帖数: 209 | 31 我一开始也是说查原因,比如说将当时的系统信息和寄存器的状态打印到一个日志什么
的,但是他反问我如果查了半年都不知道是什么错误怎么办,直接否定了这个方法。
【在 h**********d 的大作中提到】 : 我以为是让你查挂掉的原因,这种题是不大好答,没这种经验 : 我也是想每台机寸不同范围的数字,每次多一步 比较一下属于哪个范围
|
p*****a 发帖数: 147 | 32 如果不是查原因,可不可以找个server最不忙的时段定时重启,或者搞个load
balancing之类的。
【在 z*s 的大作中提到】 : 我一开始也是说查原因,比如说将当时的系统信息和寄存器的状态打印到一个日志什么 : 的,但是他反问我如果查了半年都不知道是什么错误怎么办,直接否定了这个方法。
|
E*****R 发帖数: 9 | 33 第一个问题是给了一个很大的文
件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重
复。
这个可以用bitmap,10^7个整数之需要1.25M内存就可以了。这是Programming Pearls
第一章的例题。 |
c****m 发帖数: 179 | 34 LZ店面的题目大部分都很经典啊,看来是OOD打得很好,要不那个amazon经典的grep没
答好都给onsite了。
onsite第一题有没有什么快捷的方法?我想的是根据文章build一个trie,然后用户边
输边遍历子树输出所有可能。当然这个是不考虑最优编码了(word frequency做加权的
)。
虽然trie的build和search比较straightforward,但是写code细节比较多,不知道他家
当时是要求你全写出来了?还是部分coding? |
z*s 发帖数: 209 | 35 假设trie已经建立好了,只用写出字符串搜索和匹配的代码。这部分代码我但是也没写
完,因为时间不够了。这道题确实很经典,可惜平时缺少相应的练习。
【在 c****m 的大作中提到】 : LZ店面的题目大部分都很经典啊,看来是OOD打得很好,要不那个amazon经典的grep没 : 答好都给onsite了。 : onsite第一题有没有什么快捷的方法?我想的是根据文章build一个trie,然后用户边 : 输边遍历子树输出所有可能。当然这个是不考虑最优编码了(word frequency做加权的 : )。 : 虽然trie的build和search比较straightforward,但是写code细节比较多,不知道他家 : 当时是要求你全写出来了?还是部分coding?
|
i**9 发帖数: 351 | 36
这个是 从每个node都dfs一遍整个 matrix,然后删除重复吗?
【在 z*s 的大作中提到】 : 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。 : 第一轮电话面试: : 1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a : good hash function”,“什么是load factor”。 : 2、算法:删除一个给定数列中重复的元素。 : 3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间 : ,让我写好以后发到他邮箱里。 : 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现 : vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如 : 果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
|
y***m 发帖数: 7027 | 37 可以么?
在网上申请的SDE职位。一共两轮电话面试,一轮onsite。
第一轮电话面试:
1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a
good hash function”,“什么是load factor”。
2、算法:删除一个给定数列中重复的元素。
hashmap 记录,++, 删除 2的
3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间
,让我写好以后发到他邮箱里。
k=i+j
a[i],b[j],c[k]
int ii=jj=kk=0;
while(kk
if(a[ii]>b[jj]){
c[kk]=b[jj];
jj++;
} else {
c[kk]=a[ii];
ii++;
}
kk++;
}
4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现
vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如
果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
abstract calss car
calss BMW extends car
calss Honda extends car
....
interface CarManager
class CarManagerImpl {
List T search(Class clazz){
}
T search(Class clazz){
}
}
class User {
List usercarList;
User();
boolean Rent(T entry){
usercarList.add
}
}
class UserCar {
List usercarList;
}
class Monitor implement Runnable {
public boolean doMonitor{
List usercarList = UserCar.getUsercarList(String
condition)
for(User user : usercarList){
sendEmail(getUser().getEmail());
}
}
第二轮电话面试:
1、Favorite project。
2、你最喜欢的排序算法,它是怎么工作的,有什么优点和缺点。我说的是选择排序,
他又问有什么排序算法比它的时间复杂度小,并且同样要描述一下它们是怎么工作的。
3、算法、写代码:
给了两个数组,要求找出他们之中相同的元素,并且将相同的元素存储在一个新的数组
里,再输出。如果数组里有重复的元素,比如array1中有四个5,array2中有两个5,那
么新数组里只存储两个5。要求我写代码,再念给他听。
4、OOD:设计restaurant reservation系统。
5、好像是一个开放性问题,我没有完全理解:log file中存储了很多order的信息,每
个order都有一个oid,字符串格式(xxx-xxxxxxx-xxxxxxx)。要求从log file中把所
有的oid都提取出来,问我怎么做。
on-site:
一、给定一篇文章,用户想要搜索一个单词,要求给出搜索单词的建议(就像一般的搜
索引擎的那种功能)。要求描述算法、复杂度并写代码。
二、先问了几个行为问题。然后问了两个简单的链表问题,单链表中查找倒数第n个数
和判断链表中是否有环。编程题问的是boggle游戏的问题:给定一个4*4的矩阵,每个
位置有一个字母,可以从一个位置跳转到周围八个相邻位置中的任何一个,但不能跳到
已经访问过的位置,要求找出所有的单词(假设给定了一个词典)。
http://en.wikipedia.org/wiki/Boggle
三、午餐,一个经理问了一些简历上的projects和实习的经历,然后又介绍了一下他们
组的工作。他说这次面试我的主要是Kindle组的。
四、不是Kindle组的,我估计是传说中的bar raiser。第一个问题是给了一个很大的文
件(不能完全放入内存),其中每一行存一个整数,要求判断这个文件中的数有没有重
复。然后是一个开放性问题:一台服务器每过三天就要挂一次,需要重启才能再次使用
,每次重启需要一分钟的时间;问有什么方法能解决这个问题。
五、实现一个整数除法的函数,不使用除号,可以使用加号、减号和乘号,函数只返回
商。
【在 z*s 的大作中提到】 : 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。 : 第一轮电话面试: : 1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a : good hash function”,“什么是load factor”。 : 2、算法:删除一个给定数列中重复的元素。 : 3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间 : ,让我写好以后发到他邮箱里。 : 4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现 : vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如 : 果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
|
T*********g 发帖数: 496 | 38 他是不是想问observer模式
【在 z*s 的大作中提到】 : 很惭愧,我对OOD非常不熟悉。我说的是定义car类,user类和rental类,其中一个 : rental对象表示一个租车的交易,要记录用户和车的信息。如果要向用户发送提醒邮件 : 的话,我说可以定义一个链表,或者直接用一个数组,数组中的每一项是一条租车记录 : ,它们是按交车时间从早到晚排序的;然后根据当前时间向这个表中的靠前的几条记录 : 的用户发送提醒邮件。
|