美团后端一面面经
- 首先自我介绍,引出项目
- 问项目做了什么,,问你在做项目期间感觉遇到的问题,解决方式啥的(没有像上次另一个面试疯狂问具体实现和意义QAQ)
- 问了一下integer有关比较的问题:
Integer a = new Integer(200); int b=200; Integer c=200; Integer d=200; System.out.println(a.equals(b)); System.out.println(a==b); System.out.println(a==c); System.out.println(c==d);
其实就是在 -128~127
之间分类讨论即可,,(好家伙,,我说第二个是false,,面试官皱眉了,,gg)
- 聊聊集合,有哪些集合,特性,实现;然后引到集合的线程安全性,,juc中的链表、map等等如何实现线程安全的、CAS、AQS实现方式等等(直接戳中弱点)
- 线程池的参数有哪些,如何使用,阻塞队列实现方式,满了怎么办
- 锁,synchronized和lock的区别,实现方式,升级,等等一大堆(CAS等等没有深入学习的表示直接完蛋,了解一坨名词,一问如何实现,傻傻不知)
- threadlocal知道么,干啥的,参数解释,不主动remove会如何,为什么
- 聊Mysql:数据库的连接如何操作,有哪些,having是啥(不知道gg)
- 索引知道那些,说一说
- 事务隔离性,解释那些名词,应用场景
- 聊框架:
- spring中IOC、AOP
- bean的声明周期中你认为重要的接口有哪些
- bean的循环依赖如何解决
- 算法题:1234321链表转化为1122334(好家伙,脑袋已经不工作,居然想了一个时间复杂度最大的,最后面试官给出简单的分割反转方法,,我,,);12345转为13524(奇数前偶数后)(我居然看了样例以为是1-n有序排列转为有序的,,直接相邻交换了,,后来问面试官才知道不是,,那不就是一开始想的快排中的划分,左右哨兵交换。。。我傻了)
- 互问
最后面试官一语点破我啊:要注重基础学习(基础不是简单的Java语言,,而是包括多线程、锁、juc、数据库事务啥的),,我这一段时间天天学框架,还学的不精,基础啥都没有,框架是个人都能学回QAQ。。。。(祈愿二面ing)
#实习##面经##美团##Java工程师#