G语言并发编程与GC
# 写在文章开头
# 详解GO语言并发编程面试题
# 什么是协程(Goroutine)
# mutex有几种模式
# go如何进行调度的。GMP中状态流转。
# Go什么时候发生阻塞?阻塞时,调度器会怎么做
# Go中GMP有哪些状态
# GMP能不能去掉P层?会怎么样
# 如果有一个G一直占用资源怎么办?什么是work stealing算法
# goroutine什么情况会发生内存泄漏?如何避免
# channel 死锁的场景
# 对已经关闭的chan进行读写会怎么样?
# 说说 atomic底层怎么实现的.
# channel底层实现?是否线程安全。
# select的实现原理
# go的调试/分析工具用过哪些
# 进程被kill,如何保证所有goroutine顺利退出
# 说说context包的作用?你用过哪些,原理知道吗?
# Go语言的GPM调度器是什么?
# Goroutine调度策略
# goroutine调度器概述
# golang中如果出现了内存泄露, 怎么排查?一般都有哪些情况可能导致内存泄露
# 讲讲GMP模型
# 两个协程交替打印10个字母和数字
# 启动 2个groutine 2秒后取消, 第一个协程1秒执行完,第二个协程3秒执行完。
# 当select监控多个chan同时到达就绪态时,如何先执行某个任务
# 详解GC相关
# 简述 Go 语言GC(垃圾回收)的工作原理
# golang的内存管理的原理清楚吗?简述go内存管理机制
# Go GC有几个阶段
# go竞态条件了解吗
# 参考
https://github.com/lifei6671/interview-go
https://github.com/lifei6671/interview-go
编辑 (opens new window)