3/26 10:30开始,面试官一开始看上去挺严肃的,后面聊着聊着感觉也挺好说话的。
一开始就是自我介绍和项目经历。稍微聊了一下秒杀的项目后面试官就开始问java基础知识了。
JVM的内存区域说一下;
类数据存在哪里?如果spring通过动态代理生成了很多类,超出了内存限制,该修改哪个参数呢?(只了解过Xms和Xmx,这个不清楚
GC说一下大概的过程;提了引用计数法,可达性分析法,选什么做GC Roots,跨代引用,RememberSet,三色标记法;
对象从新生代到老年代的过程;
对反射有了解吗?应用场景呢?
说一下HashMap;
说一下线程池的原理;
说一下保证线程安全的措施有哪些;
说一下synchronized和volatile;
synchronized的各种优化有了解吗,比如偏向锁,轻量级锁;
ReentrantLock和synchronized的区别是什么;
假如你在使用spring的时候出现jar包不兼容的时候你是怎么排查的?(不会,用SpringBoot没遇见过,不知道咋处理...
微服务用过吗,说一下对微服务的理解?(没用过)有看博客或文章的时候了解过微服务吗,能简单说一下吗?
然后开始问数据库。
说一下数据库的索引种类,hash索引和B+树索引的优劣;
说一下应该在什么样的列上建索引;说一下联合索引;
稍微具体的说一下数据库的悲观锁和乐观锁;项目里有用过吗,怎么用的。
然后出个算法题吧,不用写代码,说一下思路就行。
一个长度为n的数组,里面的元素都是整数,从中拿出一个元素,如何求出拿出的元素是什么?
一开始就想着用hashmap统计每个元素出现的次数;然后面试官提示如果元素是字符串的话这么做没问题,但现在元素是整数,可以想想如何利用这个条件。想了一下用异或可以做。
然后又问了一下自己的规划,前几天百度四面学长说可能会问个人的成长计划就稍微准备了一下,虽然当时没用到,不过这次用到了。
最后就是反问了,问了一下具体的业务;大概多久给后续的反馈(一两天吧)。
下午三点半收到了约面的电话,应该就是hr面了吧,希望后面的面试能顺利完成早日拿到offer就去赶毕设了。
全部评论
(9) 回帖