美团后端开发一二面面经与一些经验

本文详细记录了美团后端开发的面试经历,包括Java Map的实现、分段锁原理、Redis内存管理、线程状态、MySQL索引结构以及服务稳定性提升策略等核心问题。此外,还涉及HTTP与TCP在网络层次的作用、数据库隔离级别、算法题和Linux命令等。面试者通过复盘和学习,以应对相似面试场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

一面 1h

自我介绍
主要使用语言:Golang、C++ or Java
Golang 和 C++ 的区别(GC、编译快)
为什么 golang 的依赖分析简单?(类似拓扑排序,每个文件只需打包一次)
Golang 是怎么管理内存的?(线程缓存,搜一下 tcmalloc)
内存回收是怎么找到垃圾、怎么回收?(分代回收、标记-清除等)

Java map

底层结构(拉链法,扩容时转红黑树)
map 什么时候扩容?负载因子是多少?
Java map 的线程安全实现(锁、分段锁、计数器)
计数器变量本身是不是有安全问题?volatile 的原理

分段锁底层是怎么加锁的?

锁的方式有很多种,了解吗?(不了解)
了解指令重排序吗?(硬件层面 CPU 流水线、Java 语言层面)
Golang 会不会有内存泄露问题?为什么?如果出现这种问题要怎么排查?(有,比如持续为一个数组申请空间。profile 工具)

redis 如果内存满了会不会有问题?内存淘汰算法了解吗?(LRU、LFU、FIFO、RANDOM)
LRU 的实现思路(哈希表 + 双向链表)
LFU 的实现思路 (哈希表 + 多个双向链表,这里直接搜 labuladong 公众号文章)

线程有哪几种状态?

线程池介绍,应用场景?(创建/销毁线程是有开销的,使用线程池复用线程资源,这个思想和连接池是一样的)
登录机器看过日志吗?awk 了解吗?(这个命令经常被问,常见的题目是“找出 nginx 日志中访问量最多的前 10 个 IP 地址”)

另外本人整理收

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值