美团面试-到店-Java后端一面

美团面试-到店-Java后端一面(凉)

真实时长:60min

一、面试官的介绍(5min)

面试官的部门介绍:具体是酒店订单等、团购等(餐厅、预订位置)、到店综合(订KTV等),这三块面试官说是比较核心的业务,虽然不如外卖,但利润强过外卖。

部门的服务:千万级商家的服务、平台化(通用业务下沉、为爆发业务单独做一些系统、下沉支持更多业务)、BP业务;网关、权限、商家等级划分、订单的JMV(不懂什么是JMV)

我问有什么问题?

二、正式面试 (55min)

个人介绍:项目、个人表现、我主要说了成绩、奖学金、辅修情况;最后说了面试的目的,是为了提升自己的软件开发水平。

项目:

面试官问了创训的项目;我详细介绍了自己的创训项目;哪个地方最有挑战? 哪里的技术是比较困难的?

这里我项目的算法设计已经忘得差不多了,所以举了一个类似CNN的例子,回答了面试的问题;

语言、你熟悉Python还是Java?(简历里有写)

1.String 为什么设计为final?

2.hashCode和equals的区别?(这里说的不太好)

3.hashCode用来做什么?

4.hashCode冲突怎么解决?我简要说了数据结构字典中对于hash冲突的解决方法:拉链法、开地址法,面试官问我还有吗?我就愣住了,随后就具体讲了讲hashMap的再散列过程+HashMap里的拉链法。

5.hashCode和equals什么时候重写?(没答好)

6.重载和重写(马的一时最瓢说错了,重写是对父类方法的重写,我扯到接口方法的实现了)

7.Java的异常分类(我只讲到了顶层的分类,具体的分支没有讲到,面试官想要知道更细化的分类,受检都有哪些)

8.Java容器的分类 Collection 和 Map 两大类 让我继续划分,没说出来;这里的类的结构很重要

9.用Map存储有序,保证插入顺序的意思?LinkedHash、TreeMap的具体应用需要了解一下,比如他们在什么场景;

10.HashMap的put过程

11.又具体问了,扫描每个桶链表的细节。我不知道他为啥问这个,我之前在put已经说过了,估计他没听。但这里说到了头插法,似乎让他很感兴趣。为什么不用尾插法?我说头插法,一是查找效率高,二是插入的快。这里他又给我辩论了很多,尾插***不会发生死锁,循环嵌套?我这里扯到同步队列去了,操,因为实在不知道单线程情况下尾插法为什么会出现死锁循环,而头插法不会出现死锁循环。

12.线程池的原理,我讲了大概设计的原理:

核心线程池、最大线程数量、工作队列、拒绝策略的四个方面。

13.线程池满,你是指什么?我这里的意思最大线程满了,所以会发生拒绝策略。而只有核心满了,对于满队列而不了队列的工作会再创建线程去处理,因为这时候整个线程池只有核心满了,还是可以创建的。

14.拒绝策略有哪些?(没答好)

15.线程状态,等待态和阻塞态的区别要注意下。

16.什么情况下线程会阻塞?(获取不到锁)

17.wait(10)会让线程进入什么状态?wait()究竟有什么用?我讲到进程间的通知等待模式

数据库:

1.索引的分类(搞清楚聚集索引、非聚集索引)

2.mysql的索引数据结构?innodb(哈哈我还真不会这个引擎,说了个b+树)

3.为什么用b+树,而不用二叉树呢?为什么不用b树?

4.你说你看过b、b+树的结构,那么删除、新增是如何变化?我不清楚b+树的增加删除操作,我讲了b树的增加和删除的流程。

5.事务有几种隔离级别(这方面看的少,就说了有四种,具体说出了两个)

6.可重复读解决了什么?我说了不可重读带来的问题

框架:

我直接说不了解了,她想问Spring

JavaIO:

我说没来及了解,异步IO

计算机网络:

1.TCP为什么能建立可靠的连接?我讲了三次握手的过程、三次握手解决的问题;

2.拒绝服务攻击,你了解吗?我说我不知道。他讲了三次握手可以防御这个,防御大量的伪造链接。然后我问说:这个跟DDOS是一样的吗?他表示赞同。

3.TCP除了三次握手、四次挥手,还有没有什么机制保证可靠传输?我讲了滑动窗口,控制流量这一方面的问题。(这里说的不好)

4.快重传(没答上来)

5.Http状态码,有哪些分类?每一类知道一两个可能比较好。

6.Http首部的构造,通常有什么字段?我就记住了我在季节兄弟说的content-length这一个非常重要的字段,不知道说错了没;(详细的字段没说好)

7.一个URL输入到地址发生了什么?

8.Http的缓存机制(没答上来,我说了缓存机制在1.0和1.1的不同,比如请求对象,他说行)

设计模式:

1.你知道哪些?

我说单例(饿汉、懒汉)、迭代器、适配器,我就知道这三个,详细说了下。但面试官想听到更多。

本来我想引导他让我写单例,但是他没那意思。

手撕代码(15min):

1.手撕之前,问我,一千万个数据,找前十个数据?堆排序,大根堆。(找最大的10个就维护一个大小为10的小根堆,否则反之)

然后面试官问,你说大根堆?为什么不用小根堆?我说大根堆最顶是最大的元素啊,因为要找前十个最大的。他又反复问我,我还是坚持了大根堆。这里我其实不太确定了,我觉得应该没错。

2.两个栈实现一个队列(很简单,他没让我做)

3.删除链表倒数第N个结点(原地翻转,删除第n个,再翻转)A了。

反问环节

面试官评价:你现在最大缺的就是项目,多去实习实习;多多实习没关系的。(我就是在等你给实习机会呀!笑了哈哈)

倒没说我基础不足啥的,虽然我确实基础不好,但他没说,却说了项目太少,有价值的项目。

总结

不管怎么样,继续学习吧。我非常想进大厂,身边有同学已经早早拿到了字节和美团的实习offer。经过一番抉择最终放弃了考研。这是人生的第一次大厂面试,还是菜,复盘才发现有很多问题没有讲清楚。再多复习复习,准备之后的秋招吧。

最后希望一面能通过

#实习##面经##美团##Java工程师#
全部评论
大根堆那么堆里是一千万个元素,然后10次取堆顶,占用内存大。用小根堆堆里就10个元素,第11个元素进入后调整堆,弹出堆顶的那个最小元素,那么就可以保证堆里的元素就是最大的那10个,省内存。
5 回复 分享
发布于 2021-05-17 00:56
HashMap多线程下,jdk1. 7是头插法导致死循环,1. 8是尾插法造成数据覆盖。
3 回复 分享
发布于 2021-05-17 10:52
确实是要用小根堆的
3 回复 分享
发布于 2021-05-16 22:16
是小根堆
1 回复 分享
发布于 2021-05-16 23:05
同,面试答得还挺好,凉
点赞 回复 分享
发布于 2021-09-03 15:12
堆排序手撕了吗
点赞 回复 分享
发布于 2021-05-20 12:07
估计这个部门比较核心所以面试问得比较深入🤣
点赞 回复 分享
发布于 2021-05-17 21:45
同22届,加油加油
点赞 回复 分享
发布于 2021-05-17 18:56
老哥,简历是写了什么项目
点赞 回复 分享
发布于 2021-05-17 13:31
😂楼主紧张了吧
点赞 回复 分享
发布于 2021-05-17 06:25
我感觉一个小时内答那么多还加手撕代码很紧凑啊
点赞 回复 分享
发布于 2021-05-17 03:29
想问下楼主什么时候面试的
点赞 回复 分享
发布于 2021-05-16 21:58

相关推荐

    黑马点评项目的性能优化 主要做了哪些    redis分布式锁是乐观锁麻 实现原理是什么    redis是单机版的还是分布式的    redis采取分布式 商品保存在不同的redis下具体是如何处理的 如何实现这种分布式 包括他的可拓展 比如流量很大,对redis扩容,如何保证这个服务是不影响的 商品数据应该如何存储呢    对秒杀来说如何提高他的并发 单个redis实例节点存储会有上限    concurrenthashmap实现原理    其中的数组是什么 在并发条件下 什么时候存在冲突需要锁 什么时候不需要锁    get操作是否需要加锁    在get操作的时候 同步在写 怎么处理呢    concurrenthashmap是基于什么考虑的 是完全处于提高并发量吗    jvm垃圾回收算法    分代垃圾回收    什么情况会导致OOM    双亲委派模型 优点    有什么例外是不需要采用双亲委派模型 举例具体的场景    java list数据结构 有哪些是和list相关的    arraylist如何实现扩容    扩容 如果内存不够大 怎么办    设计模式 用过哪些    解释一下三种类型的设计模式 创建型 行为性 结构性 分别是什么 举几个例子    策略模式是什么类型    springcloud 的 rpc 是什么 注册和发现的实现原理是什么    负载均衡算法了解多少    一致性哈希算法    一致性哈希算法 如何实现动态的添加和删除节点的问题    具体是用什么实现的 后面是用什么数据结构实现的-哈希环    数据库    隔离级别有几种    每种隔离级别是如何实现的 实现原理是什么    一张表 两个事务分别在改 那四种隔离级别是如何实现的 底层原理 是什么     会有一个版本在事务提交的时候 是把表复制一份还是如何操作的    事务回滚 有哪些实现方式 比如部分回滚如何做 底层原理是什么        事务未提交 如何影响主表的数据呢    数据库索引的类型 分为哪些    复合索引的数据结构是什么  是如何对多列的值进行存储的被拷打麻了 50min狠狠被拷打
点赞 评论 收藏
分享
评论
22
179
分享

创作者周榜

更多
牛客网
牛客企业服务