美团优选Java一二面(生死未知)
一面
自我介绍
熟悉Java...项目...
####项目
项目都有哪些模块
如何分工
数据库表是如何设计的
各个模块之间如何交互
JUC
Java都有那些锁,是如何实现的
syntronized和ReentrantLock的区别
数据库
为什么使用B+树
为什么使用主从读写分离
redis
为什么使用redis而不是用本机内存
用redis做了哪些功能
网络
TCP为什么需要四次挥手
操作系统
进程和线程的区别
内核态和用户态的区别
线程和进程的切换过程
JVM
类加载过程
双亲委派
算法题
树的节点间最大距离
逻辑题:岛上有100个人,95个蓝眼人,5个红眼人,这些人都很聪明,有两个规定
每个人不能通过任何方式看自己的眼睛的颜色,不能讨论眼睛的颜色
如果一个人知道自己是红眼人,就会在当晚自杀
一天一群游客来到岛上,走时告诉他们他们中有红颜人,接下来会发生什么
二面
自我介绍
进程与线程
为什么要有线程
每种cpu都能使用多线程吗(大概?有点记不清他怎么问了)
并发
讲一下AQS
AQS时如何进行线程同步的
UNSAFE类又是如何实现同步的
线程池涉及哪些类
为什么要使用线程池
提交一个任务的过程
为什么要等阻塞队列满了才去创建额外线程
有自己根据AQS实现过并发类吗
项目
简单描述一下项目
项目是如何分层的
数据库表是如何设计的
进度如何,用到哪些技术
准备如何扩展
数据结构
说一下树和栈的区别
两者的应用场景
做题
用数组实现栈
其他
怎么学习的
为什么不考研
反问
有哪里需要提升
几个技术面
获取往期更多最新面试题资料,直接转发一下这篇文章+关注公众号【Java烂猪皮】关注后回复【666】即可获取哦~
腾讯、阿里、滴滴后台面试题汇总总结 — (含答案)
面试:史上最全多线程面试题 !
最新阿里内推Java后端面试题
JVM难学?那是因为你没认真看完这篇文章
关注作者微信公众号 —《JAVA烂猪皮》
了解更多java后端架构知识以及最新面试宝典
看完本文记得给作者点赞+在看哦~~~大家的支持,是作者源源不断出文的动力
评论