论坛首页 招聘求职论坛

请教一个面试问题,被郁闷了

浏览 40423 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-11-30  
面试的经理问了我一个问题:现在好多客户要求界面友好性,比如说在仓库管理系统中输入货物编号过程中,系统要自动弹出一个下拉列表给出相似的编号供用户选择(类似股票系统选择股票时的那个列表),问我在B/S架构如何实现?我回答用javascript。可是经理说数据库里的纪录有2万多条,那样会严重影响效率。我没能答上来。请问各位高手应该如何解决这个问题?
   发表时间:2004-11-30  
我想应该是先在本地缓存客户输入的数据,然后在客户再次输入数据时,与缓存的数据作比较,并给出相似的。
0 请登录后投票
   发表时间:2004-11-30  
服务器端缓存一部分数据, 客户端通过xmlhttp发送请求,按照一定的算法取出最接近的一部分数据给客户端.


没有做过做过瞎说的
0 请登录后投票
   发表时间:2004-12-01  
用javascript缓存,2万个id号(2万*20个字符 = 40万 = 400k而已!),要不了多少时间,当然要做好服务器的缓存。
0 请登录后投票
   发表时间:2004-12-01  
nihongye 写道
用javascript缓存,2万个id号(2万*20个字符 = 40万 = 400k而已!),要不了多少时间,当然要做好服务器的缓存。


不过, 要在2万个id号中间找一个记录, 似乎会比较慢哦, 而且id号还是会变化的, 如何做到客户端缓存与服务器端有效率地同步可能比较困难(类似与本地数据库与服务器数据库的同步);

我也认为需要一个算法, 只给客户经常使用到的那些id就可以了(2万个id中, 一个人经常使用到的, 恐怕也就2,3百种吧)

至于那些不常用的, 需要有一个查询界面, 客户输入条件可以查询, 结果分页显示
0 请登录后投票
   发表时间:2004-12-01  
1.如果变化不多,减少网络流量,那么让网页缓存一定时间。
2.如果id有规律,如多个区间,那么用区间描述这些id,对流量和检索都有利。
3.假如id有n个字母,那么构造一个n层的字母树。检索流量都快!(猜想)
0 请登录后投票
   发表时间:2004-12-01  
stripbolt 写道
面试的经理问了我一个问题:现在好多客户要求界面友好性,比如说在仓库管理系统中输入货物编号过程中,系统要自动弹出一个下拉列表给出相似的编号供用户选择(类似股票系统选择股票时的那个列表),问我在B/S架构如何实现?我回答用javascript。可是经理说数据库里的纪录有2万多条,那样会严重影响效率。我没能答上来。请问各位高手应该如何解决这个问题?


1缓存
2 不要一键入就触发,通常10位长的需要,键入1位没有意义,分析用户大概会键入几个,例如键入5数字个才开始触发。

查询次数立即减少1半,而且返回的结果也会缩小远超过1半
0 请登录后投票
   发表时间:2004-12-01  
首先是分先类,让它选择(我想不太可能同一类的产品就有二万多,不太现实(如果真的是这样,只能说系统的的分析没有做好,或者说操作者的分类没有做好))。

这样就能大减少了。然后可以用各位楼上的方面。或者同时提供一个查找功能。
0 请登录后投票
   发表时间:2004-12-01  
同意楼上的说法,可以先分类,至于怎么缓冲不是重要的,重要的是怎么让用户方便的使用。
0 请登录后投票
   发表时间:2004-12-02  
荒诞。这种如此复杂的要求仍然坚持要使用B/S?即使可以实现,也必然要付出相当大的开发和性能代价。如果真的像楼主那样说使用javaScript,程序将无可避免地乱到几乎无法维护(想想客户端运行的javaScript如何与服务端代码返回的结果嵌合起来。天哪!!)。

唯一相对合理地满足这个设计要求的方案就是使用applet。applet这种开发上的“半rich client”的特性能够比较整洁地满足要求,但是服务端仍然无可避免地要承载大量的筛选计算。最好的方式其实还是使用C/S结构,下载相似的数据到客户端,然后由客户端计算出待选项目。从性能和开发上都很合理。

顺便说一句,现在很多公司都毫无理由地迷信B/S结构,做啥都要用B/S,毫不考虑开发上的代价。我曾实习过的一个公司就是如此,坚持要用B/S开发一个ERP产品。其实,那个公司根本没有使用B/S开发相对比较复杂的ERP产品的实力。搞到最后项目困难重重,一个烂摊子。
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics