Golang企业面试题

 Golang企业面试题

基础
高级
  • Golang有哪些优势?
  • Golang数据类型有哪些
  • Golang中的包如何使用
  • Go 支持什么形式的类型转换?
  • 什么是 Goroutine?你如何停止它?
  • 如何在运行时检查变量类型?
  • Go 两个接口之间可以存在什么关系?
  • Go 当中同步锁有什么特点?作用是什么
  • Go 语言当中 Channel(通道)有什么特点,需要注意什么?
  • Go 语言当中 Channel 缓冲有什么特点?
  • Go 语言中 cap 函数可以作用于哪些内容?
  • Go Convey 是什么?一般用来做什么?
  • Go 语言当中 new的作用是什么?
  • Go 语言中 make 的作用是什么?
  • Printf(),Sprintf(),FprintF() 都是格式化输出,有什么不同?
  • Go 语言当中数组和切片的区别是什么?
  • Go 语言当中值传递和地址传递(引用传递)如何运用?有什么区别?
  • Go 语言当中数组和切片在传递的时候的区别是什么?
  • Go 语言是如何实现切片扩容的?
  • defer 的执行顺序是什么? defer的作用和特点是什么?
  • Golang Slice 的底层实现
  • Golang Slice 的扩容机制,有什么注意点?
  • 扩容前后的 Slice 是否相同?
  • Golang 的参数传递、引用类型
  • Golang Map 底层实现
  • Golang Map 如何扩容
  • Golang Map 查找
  • 介绍一下 Channel
  • Channel 的 ring buffer 实现
  • Go方法与函数的区别?
  • Go方法值接收者和指针接收者的区别?
  • Go函数返回局部变量的指针是否安全?
  • Go函数参数传递到底是值传递还是引用传递?
  • Go defer关键字的实现原理?
  • Go内置函数make和new的区别?
  • Go slice的底层实现原理
  • Go array和slice的区别?
  • Go slice深拷贝和浅拷贝
  • Go slice扩容机制?
  • Go slice为什么不是线程安全的?
  • Go map的底层实现原理
  • Go map遍历为什么是无序的?
  • Go map为什么是非线程安全的?
  • Go map如何查找?
  • Go map冲突的解决方式?
  • Go map 的负载因子为什么是 6.5?
  • Go map如何扩容?
  • Go map和sync.Map谁的性能好,为什么?
  • Go channel的底层实现原理?
  • Go channel有什么特点?
  • Mutex 几种状态
  • Mutex 正常模式和饥饿模式
  • Mutex 允许自旋的条件
  • RWMutex 实现
  • RWMutex 注意事项
  • Cond 是什么
  • Broadcast 和 Signal 区别
  • Cond 中 Wait 使用
  • WaitGroup 用法
  • WaitGroup 实现原理
  • 什么是 sync.Once
  • 什么操作叫做原子操作
  • 原子操作和锁的区别
  • 什么是 CAS
  • sync.Pool 有什么用
  • Goroutine 定义
  • GMP 指的是什么
  • 1.0 之前 GM 调度模型
  • GMP 调度流程
  • GMP 中 work stealing 机制
  • GMP 中 hand off 机制
  • 协作式的抢占式调度
  • 基于信号的抢占式调度
  • GMP 调度过程中存在哪些阻塞
  • Sysmon 有什么作用
  • 三色标记原理
  • 三色标记原理
  • 写屏障
  • 插入写屏障
  • 删除写屏障
  • 混合写屏障
  • GC 触发时机
  • Go 语言中 GC 的流程是什么?
  • GC 如何调优
  • Go channel为什么是线程安全的?
  • Go channel如何控制goroutine并发执行顺序?
  • Go channel共享内存有什么优劣势?
  • Go channel发送和接收什么情况下会死锁?
  • Go channel有无缓冲的区别?
  • Go 互斥锁的实现原理?
  • Go 互斥锁正常模式和饥饿模式的区别?
  • Go 互斥锁允许自旋的条件?
  • Go 读写锁的实现原理?
  • Go 可重入锁如何实现?
  • Go 原子操作有哪些?
  • Go原子操作和锁的区别?
  • Go goroutine的底层实现原理?
  • Go goroutine和线程的区别?
  • Go goroutine泄露的场景?
  • Go 如何查看正在执行的goroutine数量?
  • Go 如何控制并发的goroutine数量?
  • 题目:Go 线程实现模型?
  • Go GMP和GM模型?
  • Go 调度原理?
  • Go work stealing 机制?
  • Go hand off 机制?
  • Go 抢占式调度?
  • Go 如何查看运行时调度信息?

你可能感兴趣的:(golang,开发语言,后端)