美团买菜,北京base,暑期转正实习一面

因为又要面团子了,所以复盘一下

# 2023年4月3日美团买菜,北京base,暑期转正实习一面面经(凉)

面试总共1个多小时。上来面试官先做了4分钟的自我介绍,介绍了他们的部门是做什么的。面试官人很好,我太菜了。

## 1.讲一下Kafka的基本结构

​ 把broker、partition、replica这些概念说一下,用zookeeper来存parition副本的leader信息

## 2.Kafka Connect中Source宕机重启后,如何恢复读取?

​ Source Connector 通常使用 offset 来跟踪已经读取数据的位置。这些 offset 会被存储在 Kafka 的一个特殊 topic 中,通常叫作 "connect-offsets"。重启后再从里面拿就是了

## 3.介绍一下Elastic Search,基本的索引结构,索引别名

## 4.讲一下HashMap和ConcurrentHashMap

## 5.ConcurrentHashMap的锁是如何设计的?

其实就是CAS,如何Hash得到的Node为空,直接CAS放进去,如果不为空,则获得头节点的监视器(sychronzied),在进行添加或者覆盖等等。

## 6.可重入锁介绍一下,ReentrantLock

## 7.Java的异常说一下,throw和throws的区别。Error类呢?

## 8.线程池用过吗?讲一下参数?

​ 漏了一个线程工厂...

## 9.TCP和UDP讲一下。三次握手说一下

## 10.Redis的数据结构说一下,具体讲一下SortedSet的底层数据结构实现

## 11.介绍一下B树和B+树,为什么用B+树作为索引的底层数据结构?

​ 范围查询、维护索引的代价等等,其实最重要的就是B+树能比B树更加节省磁盘IO次数,提高效率。

## 12.Mysql数据存在哪里?

​ 数据持久化到磁盘上,是按照页来存储的,每次进行读写的时候,都是先从磁盘里读到内存Buffer Pool,包括修改也是先对Buffer Pool进行修改,而不是直接改磁盘,Buffer Pool中被修改的页就是脏页,Buffer Pool会定期刷盘到磁盘中。

## 13.讲一下Mysql的事务隔离

## 14.MySQL如何解决不可重复读的情况?

​ 通过MVCC,在RR隔离级别下,每次事务开始后创建的Read View,在整个事务运行过程中不会改变,每次查数据的时候,发现数据的隐藏列trx_id大于Read View中的事务id,就会根据指针找到前一个快照,直到快照数据的trx_id小于等于Read View的事务id。

算法题:K个链表一翻转

全部评论

相关推荐

1 12 评论
分享
牛客网
牛客企业服务