拼多多 JAVA三面
2021.09.14
1.实习做了些啥事情,说几个亮点
2.多个Java进程会有几个JVM(多个,想起了OS中进程的地址是隔离的)
3.Java 的GC 算法有哪些
4.为什么 新生代采用复制算法,老年代标记清除或标机整理(回答了不同年代的对象创建销毁,回收价值频率不一样,但是还是没答道面试官想要的点子上)
5.Java中String怎么替换可以不生成新对象(不会,到底是啥呢)
算法
string中,一个key对应多个value,求某个key是否存在
规则 k1 v1 k2 v1 v2 k3 v1 v2 v3
思考 key 的 位置 n *(n+ 1)/ 2 + n
用了两次二分做的,O(lognlogn)面试官还想要更优的复杂度,感觉二分到顶了呢。
感觉这次面试体验还是很棒的,有些问题从来没从这些角度想过,反问聊了很久职业走向的问题