编程开发-Go-中级

编程开发-Go-中级

1. Go语言中栈内存布局特点正确的是(单选题)

A. 协程栈动态伸缩,初始2KB

B. 协程栈固定大小不可改变

C. 栈内存由GC负责回收

D. 递归不会触发栈扩容

2. 逃逸分析目的是(单选题)

A. 确定变量分配栈还是堆

B. 优化代码编译速度

C. 减少协程数量

D. 优化通道性能

3. 以下哪种场景变量百分百堆分配(单选题)

A. 函数返回局部变量指针

B. 函数内普通数值计算

C. 局部变量仅内部使用

D. 常量赋值运算

4. Go调度模型中G的状态不包含(单选题)

A. 休眠态

B. 运行态

C. 就绪态

D. 终止态

5. GOMAXPROCS默认数值等于(单选题)

A. CPU逻辑核心数

B. 物理核心数

C. 固定1

D. 固定8

6. 协程发生IO阻塞时,P会(单选题)

A. 解绑M,寻找其他空闲协程运行

B. 原地等待IO结束

C. 直接销毁当前G

D. 暂停整个程序调度

7. 工作窃取算法主要作用是(单选题)

A. 均衡多个P之间协程任务

B. 抢占系统CPU资源

C. 提升GC效率

D. 优化内存分配

8. 无缓冲通道发送与接收执行顺序要求(单选题)

A. 必须同时准备就绪

B. 先发后收无阻塞

C. 先收后发无阻塞

D. 可异步随意收发

9. 带缓冲通道长度为5,写入5个后再次写入(单选题)

A. 发送协程阻塞

B. 覆盖旧数据

C. 自动扩容

D. 直接报错

10. 遍历关闭后的通道,读完数据后(单选题)

A. 自动退出for range循环

B. 永久阻塞

C. 触发panic

D. 重复读取零值