两道比较难的面试题(急盼指点)

robinson324 2009-08-27 11:01:31
面试一家电信方面的公司的职位,题目多注重性能的考查,如下:

第一题:假设某应用程序,需要实现如下功能:
1. 保存用户话单,并提供按照主叫电话号码和被叫电话号码两个条件查询话单的功能,此外并无其他要求
2. 每天话单量在500G左右
3. 需要保存30天的数据
4. 要求按天查找的响应控制在5秒
5. 支持100查询并发
请给出一个概要的架构设计,包括软件和硬件

(这个题目主要是考查怎样处理海量数据方面的内容,本人比较菜,没有这方面的经验,顺便说一本人的几个疑惑:
a,是不是要根据主叫电话号码和被叫电话号码两个字段建立索引?
b,每天话单量在500G左右,还要保存30天的数据,应该建立多个数据库吧?然后每个数据库根据时间段建立多张表,如每一小时建立一张表。我知道oracle一个库最大能建256张表,一张表最大是多少个G?一个库最大是多少G,有没有限制?
c,响应控制在5秒,肯定要并发查询了,这个没什么好讨论的
d,对于硬件有什么要求?)


第二题:假设需要读取大量操作系统的文件,文件大小在5M左右(只读)。请给出Java代码,描述您认为最高效的方法。

(这个问题应该注意什么?我的想法是这样的,对于读取大量文件,就要用多线程了,为了提高效率,也就是使用线程池了,对于读的时候有什么提高效率方法,我就不知道了,我就知道用io流去读就行,再就是使用bufferInput.大家还有什么提高效率方法吗?麻烦指点一下)


希望大家就以上两题,特别是第一题发表一下意见。
...全文
262 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hero_shaoshuai 2010-01-07
  • 打赏
  • 举报
回复
mark
tom309287610 2009-12-08
  • 打赏
  • 举报
回复
看看。。。。。。。。。。。。。。
robinson324 2009-08-28
  • 打赏
  • 举报
回复
谢谢各位,长见识了。
wing_88 2009-08-28
  • 打赏
  • 举报
回复
mark~~
showjim 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 robinson324 的回复:]
第二题:假设需要读取大量操作系统的文件,文件大小在5M左右(只读)。请给出Java代码,描述您认为最高效的方法。

  (这个问题应该注意什么?我的想法是这样的,对于读取大量文件,就要用多线程了,为了提高效率,也就是使用线程池了,对于读的时候有什么提高效率方法,我就不知道了,我就知道用io流去读就行,再就是使用bufferInput.大家还有什么提高效率方法吗?麻烦指点一下)
[/Quote]
硬盘是一般系统的瓶颈,如果不是磁盘阵列类似的机制,多线程只会让程序更慢.既然文件只读,应该是要开辟内存缓存文件,防止重复读取的问题,关键问题在于内存不足时的淘汰策略.
showjim 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 robinson324 的回复:]
1. 保存用户话单,并提供按照主叫电话号码和被叫电话号码两个条件查询话单的功能,此外并无其他要求
2. 每天话单量在500G左右
3. 需要保存30天的数据
4. 要求按天查找的响应控制在5秒
5. 支持100查询并发
[/Quote]
需要64位CPU及应用软件支持:
2.如果每条记录30字节左右,平均19万次/s插入操作,需要磁盘阵列或固定硬盘的支持,数据插入操作最好在内存中积累到一定量的时候执行.网络带宽>50Mb/s.
4.每天一个表格
1.两个字段都要建索引,最好不要有聚簇索引,500G数据量单次定位读取索引50次左右,内存容量最好能装载索引内容
3.硬盘容量在15T以上
5.100查询并发主要考验硬盘的读取速率,如果能够支持19万记录/s的插入,这个问题不是很大
有什么不周的地方,请大家指正.
vipwan 2009-08-27
  • 打赏
  • 举报
回复
首先 这个要用到很多数据库了.

根据 地区创建数据库. 如 北京 ,如果硬件完全满足 还可以小到区.

根据号码区号 或者前几位 创建 话单表. 话单中存储号码的除区号,或者前几位的 后几位 , 然后在存储的号码上创建索引.不要创建2个索引, 大不了 增加一个字段 表示 主叫 或者被叫的 bit 类型.

查询语句就不说了.

保存30天这个 每天晚上夜深数据库作业 就是了.


一点愚见.我也很期待高人 呵呵
.

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧