美团 流利说 面经
rt 美团是一面; 流利说是二面,均是视频面试
流利说 --
邮箱说的是面试半个小时;然后跟面试官聊了一个半小时😂😂😂[20:30-22:00]
事后加微信,发现面试官在阿里工作了几年
- 首先问为什么从硬件转到做软件,有什么感受和变化
- MySQL数据库的select...for update是只锁一行数据么??分析一下
- 数据库的乐观锁怎么实现;乐观锁实现的时候有什么缺点[答:100个商品,200个请求可能会导致商品有剩余]
- 继续问: 这种情况有什么解决办法[答:设定重试机制,给定一个次数或者时间段进行重试]
- 你这个解决办法有什么缺点[答:导致很多线程做重复的无用功,类似于CAS]
- 说到CAS,说一下你对CAS的理解
- JAVA中哪些地方用到了CAS[答:ReentrantLock]
- 那你说一下ReentrantLock的工作原理[答:利用了AQS]
- AQS是什么,怎么实现的
- JAVA还要哪些其他的同步机制[答:synchronized]
- synchronized和刚才说的ReentrantLock的区别,使用方法和实现区别;线程有哪几种状态
- 为什么ReentrantLock有一个等待队列和同步队列
- 多线程访问的时候,synchronized和ReentrantLock有什么不同,未抢占到资源的线程在哪个队列里面,处于什么状态
- 然后开始问用过哪些JAVA的容器[答:HashMap;ArrayList;LinkedList等等]
- 说一下HashMap的的底层实现;是否是线程安全的,为什么不是线程安全;
- HashMap怎么扩容的,什么时候扩容;加载因子能改变么;
- 刚才说了扩容和线程不安全,那你分析一下扩容过程 哪里 是线程不安全的
- Hash冲突了怎么解决的;你刚才说了链地址法,那Hash冲突的时候,数据是放在链表头还是链表尾
- 说说你对Spring的理解;IOC容器是什么作用呢,是单例还是多例 -- [答:管理Bean的生命周期balabala,可以设置单例还是多例]
- 按照你的说法,我自己去抽象一个单例的工厂也可以呀;为什么还要用Spring呢[这里着实不太会了😂😂被问的有点懵了]
- spring怎么解决循环引用的问题,比如,A对象构造时需要B对象;B对象构造时需要A对象
- AOP除了打印日志和事务管理,还有什么其他作用呢; AOP怎么实现的[答:动态***]
- 动态***基于反射,反射的性能怎么样呢[答:反射越多性能会变差];那Spring为什么给人的感觉确是效率还可以呢😂😂
- 反问环节
总体感觉就是,一直在往面试官的坑里跳😂😂😂还是自己有些知识点不够深入
美团 --
面试官特别和善,问的问题没有很刁钻,可能比较注重细节
- 自我介绍,做了哪些项目,负责哪些内容.主要的技术栈是什么
- JAVA的多线程的同步机制;synchronized的底层实现,修饰方法和代码块的区别
- 手写一个计数器;开10个线程,保证最后计数输出为10
- volatile变量实现计数器有什么问题;为什么
- 用过哪些容器;HashMap的底层实现,hash冲突怎么办
- 怎么有效的减少hash冲突[面试官的意思是8个槽,怎么尽量让8个数据都落在不同的槽里面,尽管key有hash冲突]
- HashMap的扩容机制,是不是线程安全的;ConcurrentHashMap了解么,讲一下原理
- ArrayList和LinkedList的区别;ArrayList是否是线程安全的;
- CopyOnWriteArrayList的工作原理; 多线程去操作的时候的同步流程是什么样的
- 说说你对SpringBoot的理解;与spring springMvc的关系
- 数据的乐观锁和悲观锁;数据库的隔离级别
- 给定一个场景,银行账户相互转账, 你觉得设定什么隔离级别比较合适
- 然后问道了 网络编程相关的内容; 给你一个网络上图片的URL,怎么将其读取并写入本地指定磁盘[说思路,没敲代码]
- 输入输出流 读取的过程大致描述一下
- JAVA的文件操作; 怎么去读取D盘下所有的txt文件的名称,不要求读内容
- 反问环节
大致记得这么多了,总的来说 流利说 和 美团 面试体验都比较好
##################################################
希望能够安全度过这两次面试
接下来继续准备猿辅导的面试啦
祝大家和我自己都能够早日拿到offer啦
#流利说##美团##面经##秋招##Java工程师#