#58集团面试经验#【后台面试流程】
我面试的是后台,一共分为两次,第一次注重简单的自我介绍和经验,第二次注重于工作上理论应用。
初次面试:自我介绍、JVM内存模型、GC收集算法(标记清除,标记整理,复制)、GC收集器,详细询问了CMS和G1 SpringBoot的优势、实现多线程同步的方式(继承Thread,实现Runnable,实现Callable)。
关于经验上问题:
1.设计模式,实现场景区别是什么?
2.继承类的只能用CGlib的动态代理,实现接口的都能用是为什么?JDK的动态代理,
3.被代理类需要继承Proxy,Java只支持单继承,CGlib是通过修改字节码来继承被代理类,对方法进行重写。
算法题:一个大数组,一个小数组,在内存不够大的条件下找到两者的交集。
附加问题:如果可以丢失精度,使用什么数据结构比较合适?
二次面试:
1.Sychronized和Lock和区别?
2.ArrayList和LinkedList的区别?
3.TCP的流量控制(滑动窗口)?
4.滑动窗口使怎么变大变小的?
5.JVM的full gc什么时候发生,需要STW么?
6.JVM的老年代存放什么对象?
7.查看JVM对象占用空间的方法是什么?