📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
Go · 中等 · 腾讯
golang channel的底层实现
中等
Go
🎤 腾讯
参考答案
结论:channel底层是hchan结构体,实现为带锁的环形缓冲队列及等待队列。核心要点:1.hchan含buf(环形队列)、dataqsiz、elemsize、sendx/recvx索引、recvq/sendq等待者链表、lock;2.无缓冲channel发送直接交接给接收者,缓冲满时发送者包装成sudog挂sendq阻塞;3.接收相反,从buf取或等发送者;4.close后置closed,唤醒所有等待者,接收返回零值与ok=false。对比:无缓冲同步,有缓冲异步解耦。
题目整理自公开面经,答案由校招宝自研生成,仅供参考
🏢 腾讯 在招岗位(5 条)
Tencent Cloud - Technical Associate Account Representative (Korea) 108129
首尔
投资者关系
深圳总部
AI全栈工程师
北京,深圳
Agent开发工程师
北京,深圳
AI应用工程师
北京,深圳
查看「腾讯」企业档案与全部在招岗位 ›
🎤 腾讯 其他面试真题
进程和线程的区别
操作系统
vector底层原理实现与扩容机制
C++
查看当前目录空间占用
运维
常见 AI 工具有哪些?
其他
程序CPU占用率较高,如何排查?
运维
大模型训练流程简述
AI算法
查看「腾讯」全部面试真题 ›
📚 更多「Go」面试真题
协程如何关闭
中等
1000个 goroutine 进行 IO 处理会发生什么?
简单
多个协程读写map会怎样,什么是线程安全
中等
发给10个协程,如何打出升序的数字
简单
讲讲defer关键字
简单
结构体中的tag有什么作用
简单
开辟多个写协程向一个channel中写数据 是有序吗?
简单
切片不断append是如何给它分配内存的,具体扩容规则是怎样的
中等
查看全部「Go」真题 ›
‹ 返回面试真题库
首页
企业
考试
攻略
日报
我的