拼多多 2018一面 面经

1Hashtable线程安全是对每个方法都加入了Synchronize方法。hashtable的加入元素顺序也是无序的。TreeMap是有序的。解决冲突方法拉链法(链地址法)

hashtable耗时的原因:hashtable大量使用了%,而非位运算,同步方面大量方法使用synchronized。

2、缓存记录时间:put(key, Utils.newStringWithDateInfo(saveTime, value));

newStringWithDateInfo(saveTime,value)是ACache的内部工具类,用来拼接time为header,value为content的字符串。

3、自己实现一个内存中的最少使用算法:修改对象的某个字段,添加一个记录访问次数的字段,并对对象按次数排序。

4、数据库与使用SharePreference文件存储内容,哪种方式更好?

    SQLite数据库支持百万级的数据存储量,适合存放字符文本类数据。但是频繁并发在数据库进行存取是一个问题。

文件形式:轻量化的xml文件格式进行本地存储的方式,直接进行put和get操作即可以,但并不适合存储复杂的数据。

对于选择可以按照以下几种原则:数据读写效率,包括考虑数据的体积大小,数据类型,数据来源。例如图片缓存,应该存储于本地比较好,也可以存储于数据库。数据的时效性。数据的可维护性,经常需要更改的可以使用数据库。数据的安全性,contentProvider共享,没有安全性。本地数据库有加密规则,所以比较安全。

5、断点续传:实现

6、两台不同的电脑的hash方法结果是否一样?我想是一样的。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值