首页 > 美团社招Java面试经历
头像
ce、欢笙
编辑于 2020-08-20 16:23
+ 关注

美团社招Java面试经历

一面:

1、jvm内存模型

根据JVM规范,JVM 内存共分为虚拟机栈,堆,方法区,程序计数器,本地方法栈五个部分。

1)程序计数器(线程私有)

是当前线程锁执行字节码的行号治时期,每条线程都有一个独立的程序计数器,这类内存也称为“线程私有”的内存。正在执行java方法的话,计数器记录的是虚拟机字节码指令的地址(当前指令的地址)。如果是Natice方法,则为空。

2java 虚拟机栈(线程私有)

每个方法在执行的时候也会创建一个栈帧,存储了局部变量,操作数,动态链接,方法返回地址。每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。

3)本地方法栈(线程私有)

和虚拟机栈类似,主要为虚拟机使用到的Native方法服务。也会抛出StackOverflowError OutOfMemoryError

4Java堆(线程共享)

被所有线程共享的一块内存区域,在虚拟机启动的时候创建,用于存放对象实例。

对可以按照可扩展来实现(通过-Xmx -Xms 来控制)

当队中没有内存可分配给实例,也无法再扩展时,则抛出OutOfMemoryError异常。

5)方法区(线程共享)

被所有方法线程共享的一块内存区域。

用于存储已经被虚拟机加载的类信息,常量,静态变量等。

这个区域的内存回收目标主要针对常量池的回收和堆类型的卸载。


2、垃圾收集算法

3、新生代垃圾收集是否会停顿

4、cms是否会停顿,在什么时候停顿

5、jmm

6、redis持久化,以及分别的应用场景。

1redis应用于最新消息展示。

2redis应用于各种结构型和非结构型高热度数据访问加速。

3redis应用于抢购,限购类、限量发放优惠券、激活码等业务的数据结构存储设计。

4redis应用于即时任务/消息队列执行管理。


7、二叉树的镜像的算法题

8、并发包concurrenthashmap

9、mysql的索引,b+树索引是否支持范围查询,联合索引的失效情况

10、项目,项目中还有一个情景题。


二面:

1、另一个项目

2、有n个客户接入,如何固定等概率分配10个机器人客服中的三个机器人,不能使用额外的内存空间。

3、分布式环境下的session管理

4、for空循环会有什么影响?

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐