Skip to content

冲击美团!已成功 OC

这是一位训练营学员的美团面经,目前已经 OC 。

在此之前他已经拿到了不少公司的offer,但是都达不到他的预期,美团给的待遇就非常不错,大厂不愧是大厂,就是不知道工作强度如何。

他经历了一共三场面试,一面二面HR面,遇到的面试官都非常不错,有些问题没回答出来或者回答的不太好,面试官都会耐心的解答一下,而且脸上一直挂着笑容。

一面主要问的是一些八股,二面主要问的是项目,我总结了Go基础、MySQL、Redis的一些问题,整理如下

go基础

1. Go中Map的数据结构?扩容机制?key为什么是无序的?

很经典的题目,问到的概率比较高。

数据结构

主要就是hmap和bmap

go
type hmap struct {     // 元素个数调用 len(map) 直接返回此值 	count     int 	flags     uint8 	// buckets 的对数 log_2 	B         uint8 	// overflow  bucket 近似数 	noverflow uint16 	// 计算 key 的哈希的时候会传入哈希函数 	hash0     uint32     // 指向 buckets 数组大小为 2^B     // 如果元素个数为0就为 nil 	buckets    unsafe.Pointer 	// 等量扩容的时候buckets 长度和 oldbuckets 相等 	// 双倍扩容的时候buckets 长度会是 oldbuckets 的两倍 	oldbuckets unsafe.Pointer 	// 指示扩容进度小于此地址的 buckets 迁移完成 	nevacuate  uintptr 	extra *mapextra // optional fields } type bmap struct { 	tophash [bucketCnt]