后端岗位面试题 · 系统设计 · Go
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 84 道 · 更新 2026-08-05
筛选题目已选:系统设计 · Go
考察点
技术栈
第 1 题Golang的GPM调度模型,为什么要多个P? 考察对Go调度模型设计目的与并发能力的理解第 2 题请解释 Go 中切片(Slice)与数组(Array)的区别,并说明为什么 Go 要设计这两种不同的类型。 考察对 Go 语言基础类型模型的理解及设计动机的思考第 3 题请解释 Go 协程(goroutine)的调度底层原理。 考察对 Go 运行时调度模型、G-M-P 架构及调度机制的理解第 4 题什么是 Goroutine?它是如何调度的? 考察对 Goroutine 概念、并发模型和调度机制的理解第 5 题请说明 Go 语言 GMP 模型中协程涉及的线程切换处理方式。 考察 Go 调度器对协程与线程切换机制的深入理解第 6 题请解释 Go 语言中 goroutine 的 GMP 调度模型,并说明它如何实现高并发。 考察对 Go 运行时调度器核心概念的理解及并发原理的掌握第 7 题Golang 中无缓冲 Channel 和有缓冲 Channel 的区别是什么? 考察对 Channel 缓冲机制、同步与异步行为的理解第 8 题请详细讲讲Golang的GMP模型,以及各组件之间的协作流程? 考察对Go运行时调度模型的理解深度与表达能力第 9 题假设G是CPU密集型的代码,此时GMP还有高并发的效果吗? 考察对GMP调度器在CPU密集型场景下并发收益的理解第 10 题Go 的协程和操作系统的线程之间是什么关系? 考察 Go 调度模型与轻量级并发机制的理解第 11 题请介绍一下GMP模型,并说明goroutine在哪些情况下会被阻塞? 考察对Go调度模型及阻塞场景的理解第 12 题channel 有缓存区和无缓存区的区别? 考察对 Go channel 缓冲行为、同步与异步通信机制的理解第 13 题请介绍Go语言的调度机制,说明它是如何调度goroutine的。 考察对Go运行时调度模型、GPM结构和调度事件的理解第 14 题如果要去实现一个类似 Go 协程的机制,应该如何去实现? 考察对协程调度模型的理解与实现能力第 15 题请解释 Golang 的 GMP 模型中 G、M、P 各自的角色和相互关系。 考察对 Go 调度器核心概念的理解第 16 题为什么 sync.Mutex 要引入饥饿模式?它解决了什么问题? 考察对公平性与性能权衡的理解第 17 题请介绍你的后端项目架构,包括使用的技术栈和整体分层设计。 考察架构设计理解、技术选型理由和项目落地能力第 18 题请介绍一下 Go 的 GMP 调度模型。 考察对 Go 并发调度核心机制的理解与表达能力第 19 题Go的接口的作用是什么? 考察对Go接口机制及设计哲学的理解第 20 题请解释 Golang 内存分配器的基本原理,包括内存池和对象分级。 考察对 Go 内存分配器核心机制的理解