java面试

技术问题
Java中HashMap底层是如何实现的
Java中查询元素,和添加元素的整个逻辑过程是如何实现的
JavaHashMap底层中,哈希表对应位置上的链表过长,底层如何解决的。当底层红黑树层数过深是,底层又是如何平衡的
Java中HashMap底层扩容是如何实现的
Java锁有哪些,具体的原理是什么,之间有什么区别
进程和线程的区别,多进程和多线程之间的区别
进程之间是如何切换的
HashMap在多线程操作时候,如何保证线程的安全性
Collecions类对于线程安全是如何实现的
jvm中类加载是如何实现的
Java中Class类是什么作用
反射是如何实现的,有什么作用
你认为java是解释型语言还是,编译型语言?为什么
Java在多线程操作中,分组上锁(可能说的是分离锁)是如何实现的?
算法问题
一个0-5区间的随机函数,只会产生0,1,2,3,4,5。如何将其变成0-7的随机函数,保证每个数字出现的概率相同?
一个含有一万个数字的数组,如何从其中找出最小的十个数,保证使用的空间复杂度最小?
快速排序的空间复杂度是多少?具体如何实现
一个链表是否有环
智力问答
有A,B两个人,双方轮着数数。每次说出的数字,只能在对方的基础上加一或者加二,当最后谁先数到30及以上谁输。如果A先从0开始数,那你有什么方法使得A必赢?能否用具体算法实现
有一组小球共12个,其中一个是残次品,比标准球重还是轻未知。你现有一个天平,如何用最少的次数将残次品挑出,最少称几次?

你可能感兴趣的:(面试)