编程开发-Go-高级

编程开发-Go-高级

1. Go中**栈内存**特点错误的是(单选题)

A. 协程栈初始2KB

B. 仅扩容不收缩

C. 由GC负责回收

D. 函数退出自动释放栈帧

2. 下面一定会发生**堆逃逸**的是(单选题)

A. 函数返回局部变量地址

B. 函数内普通数值运算

C. 常量赋值

D. 局部变量仅内部使用

3. GMP调度里,P本地队列满了之后新建G放哪里(单选题)

A. 全局运行队列

B. 直接丢弃

C. 阻塞队列

D. M队列

4. runtime.Gosched() 作用是(单选题)

A. 主动让出CPU,重回就绪队列

B. 永久休眠

C. 销毁当前协程

D. 绑定CPU

5. Go协程抢占调度默认时间片大约(单选题)

A. 10ms

B. 1ms

C. 100ms

D. 500ms

6. 协程进入系统调用阻塞后,P会(单选题)

A. 脱离M,去找其他空闲M运行G

B. 一起阻塞等待

C. 销毁P

D. 暂停全局调度

7. 无缓冲通道读写规则正确(单选题)

A. 读写必须成对就绪

B. 先发先成功

C. 先读先拿到零值

D. 可异步堆积数据

8. 向已经关闭的通道发送数据结果(单选题)

A. panic

B. 阻塞

C. 丢弃

D. 缓存

9. 读取已关闭无数据通道返回(单选题)

A. 零值,false

B. panic

C. 死阻塞

D. 随机值

10. select 不带case不带default 行为(单选题)

A. 永久阻塞

B. 直接退出

C. 编译报错

D. 休眠1秒