首页 > 【已oc】美团平台部门后端开发面经
头像
踏歌1998
编辑于 2021-06-06 12:10
+ 关注

【已oc】美团平台部门后端开发面经

具体部门就不说了,用的语言是java(无疑问...),面试官人都挺好的,包括Hr小姐姐,最终还是去了字节,只能说可惜...

一面(100分钟)

自我介绍

没看我简历,问我要从哪里开始聊起,我说线程池..(埋雷)


  • 线程池


线程池的四组成,七参数

四种常见的线程池

cachedThreadPool的工作原理(我说了线程池的工作流程)

超过keepAliveTime的线程如何了


  • HashMap


hashmap在jdk1.7和jdk1.8的区别(链表和红黑树、扩容时的头插和尾插)

在多线程下头插法引起的环化

红黑树的数据结构,如何维持相对平衡

concurrentHashMap线程安全,分段式锁


  • 多线程


ReentrantLock和synchronized的区别

ReentrantLock的实现(AQS)

AQS中A代表什么,S代表什么(不清楚..我只知道实现原理..)

什么是公平锁,用什么数据结构实现

什么是线程安全

CAS

如何解决ABA问题(增加版本号)

版本号是什么类型的

Volatile是什么,有什么特性(可见性、非原子性、禁止指令重排)

Happen-before原则


  • JVM


JVM内存模型

CMS和G1的区别

标记清除算法优化?(不就是改进成标记整理吗)


  • MySQL


Mysql中有哪些索引(B+树索引、哈希索引)

两者的区别,为什么不使用哈希索引代替B+树索引

范围查询怎么走索引

聚簇索引和非聚簇索引


  • 计算机网络


三次握手中为什么进行第三次握手,如果只有两次会出现什么问题

如果服务器端有很多time-wait,可能是什么问题,怎么优化(我答可能是时间设置过长或受到了攻击..前者可以通过优化参数解决)

https加密原理(对称加密和非对称加密)

CA证书的作用


  • 操作系统


线程、进程和协程的区别

进程之间的通信方式

线程之间的通信方式

场景题:如果CPU占用率过高,怎么查看(linux top指令),可能是出现了什么原因


  • Redis


Redis为什么速度那么快

Redis有哪些数据类型

zset使用的是什么数据结构(跳表)

跳表是怎么实现的(答成多链表层级查找了,正确的应该是在链表上建多个索引查找)

  • 数据库题
统计出在一天内订单超过2的用户金额,主键是一个自增的值,有userId,amount,starttime,endtime等

问了springboot做的项目发布了么?

还问了知道RPC框架吗(因为没用过,只能说知道,但是不是很清楚)

  • 算法题
力扣54.旋转矩阵,要求输出字符串(秒了,面试官问之前是否写过-。-)穿插的问了一下StringBuilder和StringBuffer的区别
  • 其他
反问:之前有几个纠结的点希望他能给我解答

闲聊:研一的课程有哪些?研究方向?学java多久了?一周能实习多久?怎么体现你的学习能力很强?

后记:问的比较深,问到我答不上来/答的不准确为止…第二天18:00前发二面邀请

二面(60分钟)

(记的不是很清楚了,全凭回忆)

自我介绍


  • java

如果两个线程一起操作,如何保证线程安全

问了解哪些原子类

countdownlatch实现

Try..catch..finally应用在线程出现问题时解决计数器减一问题(与前一问连着)


  • 数据库

数据库索引有哪些,区别(老八股了)

Mysql操作会哪些(怕直接出sql题,就说只会一点点简单的..

事务的ACID分别是什么

事务的四个隔离级别

从读已提交到可重复读是优化了什么


  • 数据结构

数组和链表的区别

链表在java中有哪些实现(LinkedList/ArrayList,两者区别是什么


  • 算法

口述链表逆序的过程

问了排序知道哪些,按照时间复杂度说了一下

问了快排的时间复杂度和空间复杂度,并口述快排的思路

算法题:力扣78.子集

后记:

第二天15:00左右Hr面,oc

一天后发了offer。效率还是很高的….


更多模拟面试

全部评论

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

相关热帖

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

热门推荐