帆软一面面经
0.自我介绍
1.java的基本数据类型有哪些,long占几个字节,char呢?
2.double类型的二进制存储是怎么实现的?满足什么标准?(IEEE)
3.创建长度为10的String字符串占用多少存储空间?(创建对象40字节+自身长度20字节)
4.IO中用到哪些设计模式(适配器、装饰器),BufferedInputStream FileInputStream之间用到了什么设计模式?(装饰器)
5.equals和==的区别
6.HashMap的底层结构是什么?
7.AVL树和红黑树之间的区别,查找效率和增加效率比较
8.停止线程的方法
9.索引的优点和缺点有哪些
10.判断对象是否可以被回收有哪些方法?
11.子类加载器和父类加载器对类进行加载后得到的结果用equals比较是否相同?(不太懂,有人知道吗)
12.volatile可以保证线程的原子性吗?可以用什么方法保证其原子性?除了synchronized 和 Lock还有别的方法吗?
13.不变类是怎么实现的?只用你说的AtomicReference真的可以做到吗?
14.时间复杂度为O(nlogn)的排序方法有哪些?它们的区别是什么
15.有1亿个范围在10000-20000之间的数据集,如果对数据集进行排序?
16.如果是数据集没有范围呢?
17.如何求1亿个无序数据集的中位数?
15-17都是bitmap,15题我用O(n)的双指针方法写出来了,所以面试官尝试用16-17两道题来引导我,可惜我没理解面试官的意思
#java求职##帆软软件##面试题目#