- 自我介绍一下吧
- 介绍一下研究生期间做了什么事? 答:学习了Java基础和跟着网上课程开发了小项目
- 那你哪方面比较多些,基础还是项目? 答:基础,(项目都是些简单项目,也不敢拿出手。。。)
然后就开始问Java基础
Q1:说一说Java线程的状态和怎么调度
答:开始背八股文,内心想果然不出所料,背背面经就好了,殊不知还是太年轻了
Q2:背的挺熟的,那你说说为什么要设计这些状态?缺了其中一个状态行不行?为什么新建状态后面要跟就绪状态
Q3:Java锁的分类, synchronize锁锁的是什么?可以加在哪些地方?synchronize锁的原理是啥?你刚刚说了monitor以外还有其他的锁吗?偏向锁和重入锁啥区别?有哪些锁是偏向锁?为什么设计这么多个锁?
Q4:volatile关键字是怎么保证可见性的?(回答了说是不需要拷贝到寄存器进行修改,可以在主内存进行更改,保证被其他线程可见。面试官反问:你确定?)
Q4:集合有多少种?最高抽象级别是哪些?List除了ArrayList和LinkedList还有什么?Map除了HashMap和HashTable还有什么?两者区别?
Q5:HashMap是如何扩容的?假设我们要插入2000个数据,要扩容多少次?能给出具体的次数吗?能给出最后HashMap的容量吗?怎么计算?达到什么条件扩容?
Q6:我要查询HashMap中的一个元素,需要查询多少次?Hashcode是如何计算的?
数据库题目
给定一个成绩表,有学号,成绩,科目,找到每一科的最高成绩,输出学号和成绩,科目
算法题
总结
回答的磕磕碰碰的,因为没啥时间准备,只背了背面经,基础知识全是靠本科的记忆在回答,所以回答的时候一直在给自己挖坑。挖了坑还填不起来😅。所以整场面试下来自我感觉也非常不好,只能更努力复习,希望下次好运。
全部评论
(2) 回帖