3年Java程序员面试集锦-

2019-08-10  本文已影响0人  可爱的尖椒肉丝

JVM

1.JVM的内存结构。

2.JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。

3.JVM的栈中引用如何和堆中的对象产生关联。

4.可以了解一下逃逸分析技术。

5.GC的常见算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。

6.标记清除和标记整理算法的理解以及优缺点。

7.eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。

8.JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型。

9.强软弱虚引用的区别以及GC对他们执行怎样的操作。

10.Java是否可以GC直接内存。

11.Java类加载的过程。

12.双亲委派模型的过程以及优势。

13.常用的JVM调优参数。

14.dump文件的分析。

15.Java有没有主动触发GC的方式(没有)。

数据结构和算法

1.B+树

走右结点;

   B(B-)树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键

字范围的子结点;

   所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;

   B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点

中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点才命中;

   B*树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率

从1/2提高到2/3;

2.快速排序,堆排序(实现),插入排序(其实八大排序算法都应该了解

3.一致性Hash算法,一致性Hash算法的应用

4. LRU 算法实现

5. FIFO

上一篇 下一篇

猜你喜欢

热点阅读