前言
想给所有程序员一点建议:在日常工作中,万万不要仅局限于自己手头上的工作,因为自己负责的工作内容可能只是某系统上的“冰山一角”,这个系统是前辈们留下的财富,我们要学会怎么去利用它。这个时候,就需要我们站得高一些,看得远一点,去了解这个系统的整个经脉,揣测当初它设计的“Why?How?”,换做自己应该会怎么做,这样或许你将会离架构师更近一步。
5.7 一面
1.多态
多态的概念、原理
JVM如何实现多态,如何确定调用的是子类方法
2.double和Double区别
①在内存中的存储区别
②占用空间大小
③自己提到了对象头
深挖:对象头是做什么的,里面放的是什么东西,用处,如何获取一个对象的对象头
3.hashmap
实现原理
手写hashmap
put get方法,不需要扩容,但是要链表从大到小有序
考虑:①不能插入相同的键值
②键值相同时要更新value值
③更新完value后还要有序
5.10 二面
1.都上过什么课
时间太久远,忘记了,只说了数据库原理和Oracle
2.数据库原理学了什么东西
索引和事务(说就学了这些?)
3.B树和B+树区别
4.手撕代码,leetcode第235最近公共祖先(不会,给我换了一道)
5.两个栈实现一个队列
6.研究方向