校招JAVA面试真题(拼多多月薪20k岗)附参考答案.docx
《校招JAVA面试真题(拼多多月薪20k岗)附参考答案.docx》由会员分享,可在线阅读,更多相关《校招JAVA面试真题(拼多多月薪20k岗)附参考答案.docx(4页珍藏版)》请在优知文库上搜索。
1、校招JAVA面试真题(拼多多月薪20k岗)附参考答案1、什么是JaVa优先级队列(PriOrityQueue)?参考答案PriorityQueue是一个基于优先级堆的无界队列,它的元素是按照自然顺序(naturalOrder)排序的。在创建的时候,我们可以给它提供一个负责给元素排序的比较器。PriorityQueue不允许null值,因为他们没有自然顺序,或者说他们没有任何的相关联的比较器。最后,PriorityQueue不是线程安全的,入队和出队的时间复杂度是0(log(n)o2、你了解大。符号(big-0notation)么?你能给出不同数据结构的例子么?参考答案大0符号描述了当数据结构里
2、面的元素增加的时候,算法的规模或者是一个渐进上界。大0符号也可用来描述其他的行为,比如:内存消耗。因为集合类实际上是数据结构,我们一般使用大0符号基于时间,内存和性能来选择最好的实现。大0符号可以对大量数据的性能给出一个很好的说明。3、如何权衡是使用无序的数组还是有序的数组?参考答案有序数组最大的好处在于查找的时间复杂度是O(Iogn),而无序数组是0(n)。有序数组的缺点是插入操作的时间复杂度是0(n),因为值大的元素需要往后移动来给新元素腾位置。相反,无序数组的插入时间复杂度是常量0(1)。4、JaVa集合类框架的最佳实践有哪些?参考答案根据应用的需要正确选择要使用的集合的类型对性能非常重
3、要,比如:假如元素的数量是固定的,而且能事先知道,我们就应该用Array而不是AnrayList。有些集合类允许指定初始容量。因此,如果我们能估计出存储的元素的数目,我们可以设置初始容量来避免重新计算hash值或者是扩容。为了类型安全,可读性和健壮性的原因总是要使用泛型。同时,使用泛型还可以避免运行时的ClassCastExceptiono使用JDK提供的不变类(immutableClaSS)作为Map的键可以避免为我们自己的类实现hashCode()和equals()方法。编程的时候接口优于实现。底层的集合实际上是空的情况下,返回长度是0的集合或者是数组,不要返回nullo5、JaVa集合类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 面试 多多 月薪 20 参考答案