美团面试经验分享(美团的实习生秋招看看被问了啥)

在你阅读之前,先插播个小广告,博主有一个面经专栏,全部都是2024秋招准备的内容,相比于网络上其他的面经,有着面试的所有过程,还有最全的面试答案,不需要再到处找,如果你想获得大厂的offer,认真准备面经是必不可少的,专栏会持续更新至少100篇内容,现在已经更新10+内容了,如果想学习所有的面经,欢迎订阅博主的专栏呀,保证每一篇都是匠心独创,绝对物超所值,下面就开始学习吧~

目录

1、自我介绍

2、实习期间做的项目

3、开放题

4、算法

5、八股

6、聊天

7、反问

8、八股文答案

Mysql的索引数据结构是什么?

两个sql题的问题及优化方案?一个数据在第十万行,怎么样能提高查询速度?

InnoDB的四个隔离级别?可重复读的原理是什么呢?怎么去实现的?

线程池的工作原理?

只重写hashcode,不重写equals,会怎么样?

什么是深拷贝,什么是浅拷贝?怎么实现深拷贝?ArrayList的clone的拷贝是深拷贝还是浅拷贝吗


1、自我介绍

2、实习期间做的项目

  • 印象比较深的需求,为什么要做这个需求,要解决什么问题,怎么做的?
  • 前端解决什么样的问题,后端怎么设计的?
  • 前端怎么学习的?

3、开放题

  • 先后打开了四个软件,只允许同时开3个,新开一个程序,用什么样的数据结构或算法?

4、算法

  • lru的put和get的数据复杂度?

        一种常见的实现LRU算法的数据结构是使用哈希表和双向链表组合实现。哈希表用于存储键值对,其中键是缓存中的键,值是对应的节点在双向链表中的指针;双向链表用于按照最近访问时间顺序管理节点。在这种情况下:

        PUT操作的数据复杂度: PUT操作首先需要在哈希表中查找键是否已经存在,这是一个O(1)的操作。然后将新的键值对插入到哈希表中,同时在双向链表的头部插入一个新节点,这也是一个O(1)的操作。因此,PUT操作的总体数据复杂度是O(1)。

        GET操作的数据复杂度: GET操作需要在哈希表中查找指定键对应的节点,这是一个O(1)的操作。然后将对应的节点移动到双向链表的头部,这也是一个O(1)的操作。因此,GET操作的总体数据复杂度也是O(1)。

  • 手撕:lru (讲述一下思路)
  • Linkedhashmap的数据结构?get的时间复杂度?hashmap的get的时间复杂度是多少?红黑树的时间复杂度是什么?取决于什么?链表什么时候升级为红黑树?什么时候会移除remove?

   LinkedHashMap是Java中的一种数据结构,它是基于哈希表和双向链表实现的。在内部,LinkedHashMap使用一个哈希表来存储键值对,并使用一个双向链表来维护插入顺序或者访问顺序。

        哈希表:用于存储键值对。通过哈希函数将键映射到哈希表的桶中,以快速定位键对应的值。

        双向链表:用于维护插入顺序或者访问顺序。通过指针连接各个节点,以记录键值对的顺序。

   LinkedHashMap中的get操作的时间复杂度是O(1),因为它直接通过哈希表快速定位到对应的节点。与普通的HashMap相比,LinkedHashMapget操作的时间复杂度上没有区别。

        对于普通的HashMapget操作的时间复杂度也是O(1)。在理想情况下,哈希函数能够将键均匀地映射到不同的桶中,从而保证了O(1)的查询性能。

        红黑树(Red-Black Tree)是一种自平衡二叉查找树,它在最坏情况下的时间复杂度是O(log n),其中n是树中元素的个数。红黑树的时间复杂度取决于树的高度,而树的高度受到树的平衡性影响。

        在HashMap中,当链表的长度超过一定阈值(通常为8)总元素个数超过64个的时候,链表会被转换为红黑树。这是因为当链表长度过长时,查找效率可能会下降,而红黑树能够提供更快的查找性能。同样地,当红黑树的大小小于一定阈值

  • 40
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

准入职的java螺丝钉一枚

你的鼓励是我继续不断创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值