9.16 途虎面试 一面
37分钟, 5分钟写完算法后就是 32分钟八股文
1. 算法题 : 约瑟尔夫环(我用的双端队列解决,这个方法妙 很容易理解记忆,不容易写错)
2. jvm内存区域
3. jvm垃圾收集算法(标记整理,标记清除,标记复制(新生代eden survivor survivor))
4. Object类有哪些方法(我答了equals,toString, hashcode) hashcode有啥用? 然后我说了HashMap,面试官就问 hashMap的hashcode是怎么算的,为啥首先得先用hashcode比较key而不是equals(布吉岛)
5. final作用
6. 说说io多路复用 (select,poll,epoll (为什么epoll要用到红黑树)))
7. 分布式id生成?还要是增长的
8. LinkedHashMap 是什么?
9. 如何避免表单重复提交?
10. 是怎么实现登录模块的(微信登录/邮箱登录)JWT? MD5?
11. 权限验证?(springgateway网关拦截)
12. ThreadLocal 是什么?原理呢?
补:算法题代码
class Main { public static void main(String[] args) { solution(5, 2); } static void solution(int n, int k) { Deque<Integer> dq = new ArrayDeque<>(); for(int i = 0; i < n; i++) { dq.add(i + 1); } int cnt = 1; while(dq.size() > 1) { if(cnt % k == 0) { dq.poll(); } else { dq.offer(dq.poll()); } cnt++; } System.out.println(dq.poll()); } }
面试官人真的很好,第一次面试很幸运,面试官很有耐心
面试结果很快啊,当天晚上就出了
#途虎养车##面经#