去哪儿网java开发面试经验牛客
发布网友
发布时间:2022-04-25 22:56
我来回答
共1个回答
热心网友
时间:2022-06-18 10:59
以下是某位求职者面经,仅供参考:
一面:
1.自我介绍
2.直接上手红黑树和平衡二叉树区别
3.红黑树的旋转
2node节点插入和3node节点插入时候旋转的情况 简述伪代码
4.问项目情况。大概半小时 5.concurrenthashmap
结构分析。 删除和获取操作过程描述。就是segment. Entry.
除了value 为volatile 其余都是final.
删除和获取操作等等。例如:删除操作是将entry要删除的节点的前半部分链表进行复制,并指向当前删除节点的后面节点。(因为next是final的,不可以进行修改,只有entry的表头可以修改)
不详述了。
6.索引的优缺点 什么时候索引不起作用? 在什么地方可以使用索引?
7.jvm
多态原理。invokestatic invokeinterface
等指令。常量池中的符号引用 找到直接引用。在堆中找到实例对象,获取到偏移量,由偏移量在方法表中指出调用的具体方法。接口是在方法表中进行扫描)等等扯了半天
8.os: 页面调度算法 几种 分别说一下 LRU FIFO 最佳适应算法
9.内存管理: 固定分区 动态分区 段 页 都讲讲 (哈哈)
10.自己实现一下LRU算法
8.怎么学习。看过什么书
二面:
1.自我介绍
2.项目中与app移动端 的json格式设计
3.hashmap的缺点 具体提现在哪里?
4.Collections.sort()
的原理---本质上调用的是Arrays.sort() 内部是 使用的归并排序 接着写了一下归并(辅助数组的归并,和手摇算法的归并)
5.一个字符串数组,现给定一个string去进行找出对应的数组中字符串的下标 (可以有容错,但两字符串长度必须一致,容错为2)
例如:
["hello","hj","abc"]
key=“hellg" 返回下角标0
6.jvm参数调优 jvm堆的大小调优
MaxTureningShelod newratio -xxs -xxm -persize
7.图的 prime
算法
kruskal
算法
dijkstra算法 解决什么问题? 分别写一下
伪代码
8.设计模式: 单例模式(懒汉饿汉) 工厂方法模式 观察者模式 责任链模式
9.项目 又问了一些
10.平时怎么学习?
三面:
1.自我介绍
2.自己优缺点
3.目前有几个offer
4.工作地点要求
5.在校实验室做项目,你认为最大的收获是什么
6.评价一下自己的大学生活
7.讲了一下福利 之类的
现场书面offer没了,所以只好等等邮寄,不过还好给了一个布偶纪念品