做完笔试之后,和经理面谈,问过几个问题,记了四个,答得不好,请各位给我些思路,谢谢!1. 10000个手机号如何排序
2. 几台服务器之间,如何共享用户信息?(应该是想减少浏览带来的流量)
3. HashMap和ArrayList谁快?为什么?
4. 对图片记录下载次数时,每次对数据库字段加1操作显然不妥,应该用什么方法解决?(先写文件,定时更新数据库么?)再次谢过...
2. 几台服务器之间,如何共享用户信息?(应该是想减少浏览带来的流量)
3. HashMap和ArrayList谁快?为什么?
4. 对图片记录下载次数时,每次对数据库字段加1操作显然不妥,应该用什么方法解决?(先写文件,定时更新数据库么?)再次谢过...
1 这个不知道考什么 Arrays。sort不就行了3 这2个东西查找当hashmap快了,通过索引直接拿值的 不过这个 较arraylist耗内存 呵呵
可以记录用户IP, 按IP来计算
2.不知所云,干吗要共享用户信息?,如果要共享就数据库。如果跨域,就Webservice3.ArrayList?我真不知道那个快,我连那个是同步的都忘了&*(&(郁闷呀,是HashTable同步来把?
4.不知所云。每次下载完成+1不行吗????如果是同步,直接就在下载函数后面加数据库加1语句,当然,异步的情况多了那就在下载完成之后Invoke一下下嘛
在按中间4位,和后4位排,这样拍出来的在功能上更有意义,在效率上期待大大的回答;2,这个不知道,用webservice可以共享;大家都读同一个库也行;3。有可比性吗?4.按IP吧,和投票类似
--------------------------------------这都什么问题哦?完全不同的两个东西,功能、作用都不一样,有可比性么?
再说,谁快?是查找快,还是添加或者是删除快?
想问排序算法?
2. 几台服务器之间,如何共享用户信息?(应该是想减少浏览带来的流量)
数据库?集群?3. HashMap和ArrayList谁快?为什么?
老板的意思应该是想说HashMap,HashMap键值对应,通过关键字直接寻址,不用ArrayList要遍历查找。4. 对图片记录下载次数时,每次对数据库字段加1操作显然不妥,应该用什么方法解决?(先写文件,定时更新数据库么?)
放入一个缓存里,另开一个线程定时监测缓存,到一定时间或者一定数量存入数据库
2.问的有点模糊
3.HashMap查找快;ArrayList插入和修改快
4.不清楚
如是:从数据库查找10000个手机号时候,那个sql查询结果排序是最高效的。
如是算法排序,那要注意把虚拟内存设置大点,小心爆掉,写个冒泡什么的
回答:我想和session相识,整个全局的变量,点一下,加一下。每日定时检测这个变量加到N,更新库为X+N
服务器重启时 可以触发servlet事件?能知道服务器干什么就好办了。
这个不大清晰了。个人看法
1、10000个手机号码作为字符串排序其实本来也不算慢,但是最好的排序算法每次都要比较O(nlgn)次,字符串的比较比int,long等类型的比较要耗时一些,由于手机号码都是纯数字,可以先把它们转成long或int类型,再进行排序,相对来说要快一些。
2、服务器间用户信息共享的话如果用j2ee容器默认的session,每台服务器都要进行session的同步,这个开销是很大的,而且随着服务器的数量的增加程指数增长,一个简单的方式就是用cookie
3、HashMap和ArrayList的快慢本来就不能来比较,因为前者是key-value,而后者就是一个数组(基于索引访问)。如果硬要比较,那么在基于索引的读取速度上ArrayList要比HashMap快,如果是内容查找,当前是HashMap快,至于插入和删除,当然也是HashMap快
4、先更新到缓存里(比如java内存,比如apache服务器模块等)然后定时或定量的统一更新到数据库
手机和pc访问不是同一个应该,
比如pc访问的是www.taobao.com
而手机访问的地址却是m.taobao.com
手机的访问量远没有pc大,可以考虑用服务端session在集群间同步