阿里简历评估面(java)
上来直接问问题,没有问项目,没有问实习经历。
一:.JVM方面
1.jvm的内存布局。(JVM堆,jvm栈,本地方法栈,方法区,程序计数器)。
2. 一个类和它对象的数据都分别存储在哪里。(原问题是一个Spring管理的bean的对象存储在哪里)。
我答的是类的元信息比如常量表,字面量,静态字段在方法区(Method Area里),关于对象的数据在jvm堆里。
3.方法调用的过程(我答的是将方法的符号引用解析成内存的实际引用地址,即存放指令的地址)。
4.一个函数里有一个int型值存储在哪里。(jvm 栈)
5.一个函数递归调用自己(没有出口)会发生什么。 (StackOverflowError)
二:HashMap 原理,hash冲突解决办法,然后又扯到红黑树。
三:Mysql索引文件的数据结构,介绍一下B+树。
四:分布式锁:多台机器部署的应用对一个共享数据做同步,问如何解决。 我先答的扔到Redis里面去做,他问还有什么可行的办法,我又说放入数据库里 加 select 锁,他最后说也算是一种方法,感觉是还有更好的方法吗,有大神知道吗? 欢迎评论区留言讨论。
大概只问了不到20分钟,问的很快,很直接。