时隔半个月终于收到了意向书,互联网的秋招似乎已经接近尾声,其他的大厂基本也没太多机会了,准备躺平了🤣
楼主投的美团优选部门后台开发岗位,此次面试一共两面技术面和一面HR面,面试流程挺快的,两三天就结束了,就是意向书等了挺久。
9.2 一面 14:00 1h 15min
一面比较基础,没怎么问项目和框架。
自我介绍。
谈谈你对 final 关键字的理解,除了 String 类还有哪些类是 final 的?
HashMap 的数据结构,1.7 和 1.8 的区别,put 方法的过程,数组长度为什么是 2 的整数次幂?
ConcurrentHashMap 的原理,1.7 和 1.8 区别,如何保证线程安全的?CAS 原理,存在哪些问题,分别怎么解决?
Java 内存模型 (JMM),有几个特性?volatile 保证了哪些特性?底层原理是什么?内存屏障了解吗?
synchronized 原理,和 Lock 的区别,锁升级过程?
Java 的线程有哪些状态,转换关系是怎么样的?如果一个线程在等待IO,那它处于什么状态?
写个代码吧,两个线程交替打印数字,从1到20,线程一打印1,3,5,7... 线程二打印2,4,6,8... 输出结果是1 2 3 4 5 6 ... 20。(当时选择用 ReentrantLock 搭配 Condition 进行实现)
线程池的核心参数和拒绝策略有哪些?
思考这样一个场景:一个线程池的核心线程数是4,最大线程数是8,有一个任务提交过来,迅速执行完毕,如果再来一个任务,那么线程池是新建一个线程去执行,还是会复用之前的线程,为什么?
介绍一下 JVM 的类加载机制,介绍一下 G1 垃圾收集器的特点和原理。
Redis 的 zset 原理,使用场景,redis 线程模型,底层架构设计。
MySQL 常用的索引数据结构,有什么区别,介绍一下覆盖索引。
简单介绍一下你的项目。
代码题,找出数组中出现次数大于数组长度一半的数字,要求时间复杂度O(n),空间复杂度O(1)。
9.4 二面 11:00 38min
这面好奇怪,一半问技术,一半谈人生。
- 自我介绍。
- 谈下未来的规划。
- 介绍一下你最熟悉的项目。
- 你项目中的负载均衡功能是怎么实现的?
- 说一下BIO 和 NIO 的区别,介绍一下三种多路 IO 复用程序的原理和区别。
- 介绍一下 Zookeeper 原理,ZAB 协议,CAP 理论,zk 保证了 CAP 中的哪两个特性?怎么保证一致性的?脑裂问题了解吗?怎么解决?
- ConcurrentHashMap 的原理,1.8 相比之前做了哪些改进?性能为什么更好?
- 接下来就没有技术问题了,都是一些职业规划,个人优缺点,家庭情况之类的问题。
9.4 HR 面 19:00 30min
比较常规的 HR 面吧,视频形式,小姐姐很 nice,一直面带微笑,还详细介绍了美团对新人的培养制度。
全部评论
(9) 回帖