面试专题:Oppo复盘

面试时长:28分钟

  1. 线程池运行原理?创建线程池参数的含义?ArrayBlockingQueue作用及实现原理?
    参考答案:

ArrayBlockingQueue是一个阻塞式的队列,继承自AbstractBlockingQueue,间接的实现了Queue接口和Collection接口。底层以数组的形式保存数据(实际上可看作一个循环数组)。常用的操作包括 add,offer,put,remove,poll,take,peek。

  1. 常用集合?TreeMap原理?CopyOnWriteArrayList原理?
    参考答案:
名称线程安全描述
ArrayList继承了AbstractList类,实现了List、RandomAccess、Cloneable、Serializable接口
Vector继承了AbstractList类,实现了List、RandomAccess、Cloneable、Serializable接口
LinkedList继承了AbstractSequentialList类,实现了List、Deque、Cloneable、Serializable接口
HashMap继承了AbstractMap类,实现了Map、Cloneable、Serializable接口
LinkedHashMap继承了HashMap类,实现了Map接口
TreeMap继承了AbstractMap类,实现了NavigableMap(继承了SortedMap)、Cloneable、Serializable接口
Hashtable继承了Dictionary类,实现了Map、Cloneable、Serializable接口
ConcurrentHashMap继承了AbstractMap类,实现了ConcurrentMap(继承了Map)、Serializable接口
HashSet继承了AbstractSet类,实现了Set、Cloneable、Serializable接口
TreeSet继承了AbstractSet类,实现了NavigableSet(继承了SortedSet)、Cloneable、Serializable接口
LinkedHashSet继承了HashSet类,实现了Set、Cloneable、Serializable接口
CopyOnWriteArrayList实现了List、RandomAccess, Cloneable, java.io.Serializable
  1. RPC底层原理?如何设计一套RPC框架

  2. Oracle分页语句?为什么要先查一次再做分页?

    select rownum,id,name from ( select rownum rn, n.* from ( select * from test ) n where rownum <=6 ) where rn>=4
    rownum有如下特点:
    1)ROWNUM 只适用于小于或小于等于,如果进行等于判断,那么只能等于1;
    2)ROWNUM 是oracle系统顺序分配的行的编号,返回的第一行分配的是1,第二行是2,依此类推;
    3)ROWNUM 总是从1开始
    4)第一条数据行号为1,不符合>2的条件,则第一行被去掉,之前的第二行变为新的第一行,如此下去,一直到最后一行,条件始终没法满足,所以就一条数据也查不出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值