【面试题解析】-- 20200311Java软件开发工程师面试题解析

1. 请你说说Java中HashMap的工作原理

在Java中HashMap是通过key-value保存键值的,通过默认构造方法创建HashMap它的初始大小为16,负载因子为0.75,在HashMap中通过hashcode()与equals()对元素进行添加与检索,当调用put方法时,hashMap会计算key的hash值,如果存在则直接替换值,如果不存在则添加一个元素,

2. 请你说说什么是HashMap?

HashMap是Java中一个保存key-value键值对象的集合,它继承自abstractMap类,实现了Map接口,它初始化大小为16,默认负载因子为0.75,HashMap是线程不安全的,它相比较于HashTable它效率更高。

3. Java中transient关键字的作用是什么?

Java中的transient关键字用于表示一个字段为临时字段,被他修饰的字段是不会被序列化的。

4. 你再开发中如何编写一个工具类?

一般来说工具类一般满足以下几个条件,不需要被实例化就可以使用它的方法。所以在编写工具类时应当将工具类的默认构造方法改成private修饰的,然后将创建的方法以static关键字修饰。

5. 谈谈你对二分查找算法的理解

二分查找算法对于查找的数组或集合必须是有序排列的,它是根据比较元素大小进行判断查找范围的,每次查找都用查找的元素跟数组中的中间值进行比较,如果中间值大于需要查找的值则以中间值下标索引-1的元素为下次查找范围的最大值,依次类推后面查找的步骤也是如上所介绍的,直到找到相关元素为止。

发布了132 篇原创文章 · 获赞 55 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43199016/article/details/104811201