美团_Java开发_一二面面经
去向
面的美团到店事业部,应该凉凉。
Spring的东西忘得差不多了,书还在学校没法复习。
拿了腾讯、字节跳动的后台实习offer,去了字节跳动。
字节跳动内推码:XXVMT6U
背景
机械本科,转的计算机硕士,冶金行业211。
研究生期间做过两个横向,用过:
SpringBoot、Mybatis
RocketMQ、Redis、Netty
MySQL、Linux
实现过Raft算法
一面
- 接口和抽象类的区别,什么时候用接口,什么时候用抽象类
- Rocket MQ
- 数据存在哪里
- 会不会丢失数据
- 幂等操作
- Java IO
- java集合类
- ArrayList和LinkedList的区别
- hashmap扩容
- 扩容因子
- 为什么0.75
- 扩容倍数
- 线程安全
- 什么是线程安全
- 为什么线程不安全
- 线程状态
- wait sleep的区别
- wait之后还能wait吗
- 可重入锁
- CAS的不足,如何解决ABA
- 线程池
- 为什么线程池
- jvm
- jvm内存结构,哪些线程共有,哪些线程不共有
- 直接内存线程共有吗
- GC流程
- 什么时候Full GC
- 直接内存会触发Full GC吗
- GC有哪些收集器
- MySQL
- 项目中如何设计数据存储模式的
- 主从
- 存储引擎
- 索引,为什么B+树,B+树怎么存的
- 左连接 右连接
- union unionALL
- Http
- http方法有哪些
- get post区别
- https http区别
- 序列化
- RPC
- linux
- 看CPU 内存
- 本地同步,远程同步指令
- 如何看指定值,grep
- spring
- AOP
- 动态代理怎么实现
- jdk cglib 的区别
- jdk cglib 在性能上有哪些区别
- Spring有哪些设计模式
- bean默认什么模式
- 设计模式
- 知道哪些
- 责任链
- 状态
- 优缺点
二面
- 字符串转为数字
- 链表环路
- TopK
- 用户态内核态以及为什么这样做
- java 接口做什么的
- java为什么一次编译到处运行
- RocketMQ数据存储在哪里
- RocketMQ,生产者提交数据的流程
- RocketMQ如何实现高并发消费,分片
- Spring的AOP
- Spring的IOC,为什么IOC
- MySQL的事务是什么,如何实现的(MVVC)
- Git创建分支
- Linux awk grep
- swap分区,占满了会发生什么