《Go语言面试题精讲》
📑 课程目录
TIP
- 🏷️ 精选Go基础、Slice、Map、Channel、Mutex、Goroutine、调度模型、内存管理、并发编程9大版块常见高频面试题精讲总结,系统提升领域知识,面试突击必刷宝典。
- 📗 课程总章节数:60小节(📺视频+📄文档)
第一章:Go基础
- Go 程序的基本结构?【免费】
- Go 有哪些关键字?【免费】
- Go 有哪些数据类型?【免费】
- Go 方法与函数的区别?【免费】
- Go 方法值接收者和指针接收者的区别?【免费】
- Go 函数返回局部变量的指针是否安全?【免费】
- Go 函数参数传递到底是值传递还是引用传递?【免费】
- Go defer关键字的实现原理?【免费】
- Go 内置函数make和new的区别?【免费】
第二章:Slice
- Go slice的底层实现原理?
- Go array和slice的区别?
- Go slice深拷贝和浅拷贝
- Go slice扩容机制?
- Go slice为什么不是线程安全的?
第三章:Map
- Go map的底层实现原理?
- Go map遍历为什么是无序的?
- Go map为什么是非线程安全的?
- Go map如何查找?
- Go map冲突的解决方式?
- Go map 的负载因子为什么是 6.5?
- Go map如何扩容?
- Go map和sync.Map谁的性能好,为什么?
第四章:Channel
- Go channel的底层实现原理?
- Go channel有什么特点?
- Go channel有无缓冲的区别?
- Go channel为什么是线程安全的?
- Go channel如何控制goroutine并发执行顺序?
- Go channel共享内存有什么优劣势?
- Go channel发送和接收什么情况下会死锁?
第五章:Mutex
- Go 互斥锁的实现原理?
- Go 互斥锁正常模式和饥饿模式的区别?
- Go 互斥锁允许自旋的条件?
- Go 读写锁的实现原理?
- Go 可重入锁如何实现?
- Go 原子操作有哪些?
- Go 原子操作和锁的区别?
第六章:Goroutine
- Go goroutine的底层实现原理?
- Go goroutine和线程的区别?
- Go goroutine泄露的场景?
- Go 如何查看正在执行的goroutine数量?
- Go 如何控制并发的goroutine数量?
第七章:调度模型
- Go 线程实现模型?
- Go GMP和GM模型?
- Go 调度原理?
- Go work stealing 机制?
- Go hand off 机制?
- Go 抢占式调度?
- Go 如何查看运行时调度信息?
第八章:内存管理
- Go 内存分配机制?
- Go 内存逃逸机制?
- Go 内存对齐机制?
- Go GC实现原理?
- Go GC如何调优?
- Go 如何查看GC信息?
第九章:并发编程
- Go 常用的并发模型?
- Go 有哪些并发同步原语?
- Go WaitGroup实现原理?
- Go Cond实现原理?
- Go 有哪些方式安全读写共享变量?
- Go 如何排查数据竞争问题?
🛒 购买课程
TIP
- 💰 课程售价:79.00 元 ,独立购买可享受永久观看权。
- 您也可以选择购买 👑 年度星球会员 ,在会员有效期内也可直接学习。