冲击美团!已成功 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]