锁定老帖子 主题:请教一个面试问题,被郁闷了
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-11-30
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-11-30
我想应该是先在本地缓存客户输入的数据,然后在客户再次输入数据时,与缓存的数据作比较,并给出相似的。
|
|
返回顶楼 | |
发表时间:2004-11-30
服务器端缓存一部分数据, 客户端通过xmlhttp发送请求,按照一定的算法取出最接近的一部分数据给客户端.
没有做过做过瞎说的 |
|
返回顶楼 | |
发表时间:2004-12-01
用javascript缓存,2万个id号(2万*20个字符 = 40万 = 400k而已!),要不了多少时间,当然要做好服务器的缓存。
|
|
返回顶楼 | |
发表时间:2004-12-01
nihongye 写道 用javascript缓存,2万个id号(2万*20个字符 = 40万 = 400k而已!),要不了多少时间,当然要做好服务器的缓存。
不过, 要在2万个id号中间找一个记录, 似乎会比较慢哦, 而且id号还是会变化的, 如何做到客户端缓存与服务器端有效率地同步可能比较困难(类似与本地数据库与服务器数据库的同步); 我也认为需要一个算法, 只给客户经常使用到的那些id就可以了(2万个id中, 一个人经常使用到的, 恐怕也就2,3百种吧) 至于那些不常用的, 需要有一个查询界面, 客户输入条件可以查询, 结果分页显示 |
|
返回顶楼 | |
发表时间:2004-12-01
1.如果变化不多,减少网络流量,那么让网页缓存一定时间。
2.如果id有规律,如多个区间,那么用区间描述这些id,对流量和检索都有利。 3.假如id有n个字母,那么构造一个n层的字母树。检索流量都快!(猜想) |
|
返回顶楼 | |
发表时间:2004-12-01
stripbolt 写道 面试的经理问了我一个问题:现在好多客户要求界面友好性,比如说在仓库管理系统中输入货物编号过程中,系统要自动弹出一个下拉列表给出相似的编号供用户选择(类似股票系统选择股票时的那个列表),问我在B/S架构如何实现?我回答用javascript。可是经理说数据库里的纪录有2万多条,那样会严重影响效率。我没能答上来。请问各位高手应该如何解决这个问题?
1缓存 2 不要一键入就触发,通常10位长的需要,键入1位没有意义,分析用户大概会键入几个,例如键入5数字个才开始触发。 查询次数立即减少1半,而且返回的结果也会缩小远超过1半 |
|
返回顶楼 | |
发表时间:2004-12-01
首先是分先类,让它选择(我想不太可能同一类的产品就有二万多,不太现实(如果真的是这样,只能说系统的的分析没有做好,或者说操作者的分类没有做好))。
这样就能大减少了。然后可以用各位楼上的方面。或者同时提供一个查找功能。 |
|
返回顶楼 | |
发表时间:2004-12-01
同意楼上的说法,可以先分类,至于怎么缓冲不是重要的,重要的是怎么让用户方便的使用。
|
|
返回顶楼 | |
发表时间:2004-12-02
荒诞。这种如此复杂的要求仍然坚持要使用B/S?即使可以实现,也必然要付出相当大的开发和性能代价。如果真的像楼主那样说使用javaScript,程序将无可避免地乱到几乎无法维护(想想客户端运行的javaScript如何与服务端代码返回的结果嵌合起来。天哪!!)。
唯一相对合理地满足这个设计要求的方案就是使用applet。applet这种开发上的“半rich client”的特性能够比较整洁地满足要求,但是服务端仍然无可避免地要承载大量的筛选计算。最好的方式其实还是使用C/S结构,下载相似的数据到客户端,然后由客户端计算出待选项目。从性能和开发上都很合理。 顺便说一句,现在很多公司都毫无理由地迷信B/S结构,做啥都要用B/S,毫不考虑开发上的代价。我曾实习过的一个公司就是如此,坚持要用B/S开发一个ERP产品。其实,那个公司根本没有使用B/S开发相对比较复杂的ERP产品的实力。搞到最后项目困难重重,一个烂摊子。 |
|
返回顶楼 | |