奇葩的戴尔# Hardware - 计算机硬件
l*p
1 楼
两通电话,每个45min,到最后两个都超时
第一通电话:
1、指定我简历中的一篇一作文章,让我描述那文章里的内容
2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
我说为了节省空间,可以把冲突处理方式改成rehashing
4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
法的优劣
很明显,他出这个题是期望我在第2问中说用array来记录,然后第3问再让我改成
hash,结果我第二问直接就用hash了。我说时间上差不多,但是用于处理ASCII时,
array比较省空间,处理Unicode时,hash比较省空间
5、如果这个字串数据量很大,而且分布在多台机器上,同时由于带宽限制,不能把整个
hash在多台机器中传输,怎么办?
这题没答上来,花了很长时间,后来先下一题的代码,然后还有时间,继续回答这题,最终还是没答
上来,只是说you are on the right track
6、写代码:给定了个整型数组,建立一个binary search tree
第二通电话:
1、问我当前在研究什么
2、如何把多个字符串连接成一个字符串
选择一个分界符,并在各个字符串中escape
3、写代码:实现一个PeekingIterator,与Java的Iterator不同的是,它多了一个
peek方法,这个方法返回下一个item,但不移动指针,也就是调用peek多次,它将返回
同一个item。
4、写代码:给定一由个位数组成的数组,比如[1,2,9],用于表示数字129,要求对这
个数组进行加1运算,返回结果,比如[1,3,0]
复习了10天的算法,唯一用到的是哈希表的原理和binary search tree的概念,每通电话最后
都问我还有什么问题,我都问我的performance跟别人比怎么样,都没得到什么有用信息。大家这种
时候都问什么问题?
第一通电话:
1、指定我简历中的一篇一作文章,让我描述那文章里的内容
2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
我说为了节省空间,可以把冲突处理方式改成rehashing
4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
法的优劣
很明显,他出这个题是期望我在第2问中说用array来记录,然后第3问再让我改成
hash,结果我第二问直接就用hash了。我说时间上差不多,但是用于处理ASCII时,
array比较省空间,处理Unicode时,hash比较省空间
5、如果这个字串数据量很大,而且分布在多台机器上,同时由于带宽限制,不能把整个
hash在多台机器中传输,怎么办?
这题没答上来,花了很长时间,后来先下一题的代码,然后还有时间,继续回答这题,最终还是没答
上来,只是说you are on the right track
6、写代码:给定了个整型数组,建立一个binary search tree
第二通电话:
1、问我当前在研究什么
2、如何把多个字符串连接成一个字符串
选择一个分界符,并在各个字符串中escape
3、写代码:实现一个PeekingIterator,与Java的Iterator不同的是,它多了一个
peek方法,这个方法返回下一个item,但不移动指针,也就是调用peek多次,它将返回
同一个item。
4、写代码:给定一由个位数组成的数组,比如[1,2,9],用于表示数字129,要求对这
个数组进行加1运算,返回结果,比如[1,3,0]
复习了10天的算法,唯一用到的是哈希表的原理和binary search tree的概念,每通电话最后
都问我还有什么问题,我都问我的performance跟别人比怎么样,都没得到什么有用信息。大家这种
时候都问什么问题?