腾讯 go 后端开发二面(透心凉)
1. go routine 是啥怎么调度的。
2. 如果 gmp 中 p 的分配是怎么分配的(go语言 runtime系统进行内存管理,调度器还有系统调度封装)
3.向一个 nil channel发送读取消息会怎么样?
4.向一个close的channel接发消息会有什么结果?
5.slice是引用还是还是拷贝(我最开始很干脆地说是引用,结果面试官一副匪夷所思的语气:你确定?我就跟他说是拷贝,被戏耍麻了😭,只能怪自己基础不牢)
6.内存逃逸是什么,简单介绍一下。
7.接口的底层实现,接口的类型。
8.闭包求输出:
funcs := []func(){}
for i := 0; i < 3; i++ {
funcs = append(funcs, func() {
fmt.Println(i)
})
}
for _, f := range funcs {
f()
}
结果是三个 3,因为 i 被捕获且循环结束 i 的地址为 3.
9.Go GC 机制讲解一下,什么是写屏障,如果没有写屏障,可能会有什么情况?
10.让我们来聊聊你的项目吧,来看看你的项目,啊哈!~达人探店项目,高并发店铺点评博客项目",介绍一下你的项目,你如何实现异步秒杀的?如何防止超卖,如何实现一人一单,如何使用分布式锁,lua 脚本是怎么写的?怎么实现消息不丢失的?压测怎么做的?有没有使用过阿波罗普罗米修斯宙斯哈迪斯盖亚(已晕qwq)等压测工具,有没有压测过你的各个缓节的时间,你的性能瓶颈在哪里?Redis 如果 set 数据量较大的情况下如何进行大 key 值拆分,你的 Redis 是单机还是主从?你的 kafka 有几个节点,划分了几个 partition?有几个消费者节点,你的项目有几个服务?
11. 有什么经常用的 AI coding 的工具?有 Agent 开发相关的经历吗?哦?你还了解过 Agent 开发? MCP、RAG#@$*^~你能展开讲讲吗?
12. 反问:请教之前空接口,受教了。给了本菜🐕一点建议:go 的基础太不牢了,作为主要的开发语言来说是不够格的。
期间面试官一直没开视频,但我隐隐听到他在偷笑
#牛客AI配图神器#
全部评论
面完多久给结果
佬的bg是什么
😊
相关推荐
点赞 评论 收藏
分享