### 美团一面凉经

面试官很和蔼,很尊重我。面试开始时,首先介绍了自己所工作的部门,当时说的太快,我听的不太清。接下来就是项目和八股了:

1、你先介绍一下自己在做项目时遇到的难点,以及你是怎么解决的。

答的稀烂,没提前准备。直接让面试官问我了,感觉面评会很差!

2、那你先说一下怎么基于拦截器进行Token的校验以及刷新,答的越详细越好。

3、为什么要用双层拦截器?

4、知道ThreadLoacl的底层原理吗?说一下。

5、知道死锁吗?解释一下死锁。

6、死锁怎么解决呢?

答了一次性申请所有资源和申请不到资源就自己释放自己的资源。面试官肯定了第二种,说不同的场景要用不同的解决方法。我甚至让面试官说一种场景,面试官被我干沉默了半分钟,说这不太好说,但还是说了一个场景。

7、解释一下通过分布式锁以及stream消息实现高并发一人一单的优化。

答的很烂,说了个大概,分布式锁实现一人一单,stream加快执行效率。

8、用到了什么分布式锁呢?

9、setnx的底层原理是什么?知道吗?

10、假如现在有三个线程来下单了,库存只有两个了,那三个线程都判断库存充足,并且都是首次下单,是不是三个线程都能判断自己可以下单成功,这时你将三个线程中的用户id和优惠券id都放到消息队列中,这个时候只能消耗两条消息,还有一条消息怎么办?

没回答上来(事实上,库存判断+是否下过单判断+减库存+写入Stream队列全部封装在一个Lua脚本中原子执行,Lua脚本具有原子性,多个线程即使并发执行EVAL命令,Redis仍会串行执行脚本逻辑,保证同一时刻只有一个线程完成判断与写入流程。)

11、说一下是怎么使用工厂模式和策略模式实现布隆过滤器解决缓存穿透。

12、解释布隆过滤器的底层原理。

13、知道MySQL吗,说一下都有哪些索引?

14、联合索引知道吗?底层是什么数据结构?

15、解释一下B+树。

16、联合索引的查询规则最左前缀法则的底层原理。

答了JavaGuide上的,通过每个索引筛选掉一部分数据。面试官说,那直接从第二个索引也能进行筛选啊,怎么解释呢?

17、说一下事务的隔离级别。

18、脏读、不可重复读和幻读。

19、场景题:N个数的文件中,怎么搜索到前10大的数字?

答的是将数据先存到DB表中,再读取就可以了。面试官说,这效率太慢了,一般不采取。

20、知道ReenTrantLock吗?说一下它的底层原理。

就回答了个CLH锁,忘记AQS了.......

算法题:股票问题Ⅲ,没撕出来,跟着carl刷到动态了,但还没刷到这一题,面试官提醒了我3次,还是不会。

反问环节

总结:人生中的第一次大厂面试,总时长1小时15分钟。自己准备的不够充分,回答问题逻辑性不够(回答的很多话都需要面试官去理解,然后问我是不是这样),很多知识点的底层原理也不太清楚。虽然结果不好,但是已经尽力了,毕竟从决定学java到现在不过才2个月,还是要多学多思考。
全部评论
这...怎么确定凉的?佬不要太悲观,这不是假期还没结束嘛,说不定明天就有好消息
点赞 回复 分享
发布于 05-05 14:18 山东
佬什么时候面试的
点赞 回复 分享
发布于 05-05 07:32 山西

相关推荐

06-14 15:23
东南大学 C++
期末周面完准备考试去了今天才回过头来总结,想了想还是发吧,不堪回首应聘岗位: 微信金融架构部后台开发实习生面试时长: 约60分钟面试形式: 视频面试 + 在线编程1. 简单的自我介绍自我介绍 实习地点与时间2. 手撕算法题要求在45分钟内完成4道编程题。第一题: IPv4地址字符串转为无符号整数。第二题:二叉树中的最大路径和。第三题:链表尾部的K组节点为一组翻转。第四题:带有优先级的括号匹配。 (例如 {[()]} 合法, [{}] 不合法)3. 项目细节与基础知识提问针对简历中的 “高并发AI聊天系统” 项目:Q: 请介绍一下你这个高并发AI聊天系统的项目,以及你在其中承担的职责。Q: 为什么在服务器中需要使用动态线程池?Q: 你的线程池中的线程具体处理什么工作?是CPU密集型计算还是涉及RPC调用等I/O操作?Q: 你们的数据库是怎么访问的?服务端的架构是怎样的?Q: 你的Reactor框架是自己写的还是用了开源库(如muduo)?Q: 既然你用了epoll,为什么不直接在工作线程里也起一个EventLoop来处理多个连接请求,这样效率更高?Q: 你如何设计应用层协议?以及如何解决TCP粘包和拆包问题?针对C++及计算机基础知识:Q: 简单介绍一下面向对象的封装、继承和多态。Q: C++中 class 和 struct 有什么区别?Q: 如何解决菱形继承问题?Q: C++的多态有几种实现方式?Q: C++11有哪些新特性?Q: 介绍一下分段式内存和页式内存。Q: 当内存满了需要换出时,这个工作由谁来做?4. 反问Q: 根据我这次面试的表现,您觉得我在哪些方面需要重点改进?这次面试项目八股整体上不算特别难,但主要在期末周很久没准备加上开头的闪电四连鞭给我心态整崩了,后面一些准备过的八股也想不起来,项目的问题也是确实没深入思考过,现在总结来看这次面试确实学到了很多,补齐了很多纰漏。
查看21道真题和解析
点赞 评论 收藏
分享
评论
3
32
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务