后端岗位面试题 · 编码实现 · Go
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 114 道 · 更新 2026-08-05
筛选题目已选:编码实现 · Go
考察点
技术栈
第 21 题Go 如何实现多线程/协程? 考察 Go 并发模型、goroutine 调度机制与并发原语的使用第 22 题在 Go 中如何具体调用 C 代码? 考察 cgo 的具体用法和流程第 23 题make和new的区别是什么?能不能用new创建map? 考察Go语言中make与new的底层分配区别及复合类型的初始化要求第 24 题请用 Go 手写一段你项目中的核心代码,并说明其设计与取舍。 考察 Go 编码能力、核心逻辑复现与表达第 25 题请解释Go语言中map的底层实现原理。 考察对Go map内部哈希表结构、扩容策略与并发安全性的理解第 26 题请介绍一下你对GORM的了解,并说明它的基本使用方法。 考察对GORM这一Go语言ORM框架的基础认知与使用能力第 27 题在 Golang 中,如何实现定时器功能? 考察 time.Timer 和 time.Ticker 及 goroutine 调度第 28 题请将一组字符串路径(如 []string)组织成一棵树状结构,并说明你的设计思路与实现方式。 考察将扁平字符串路径转化为树结构的数据建模与编码能力第 29 题数据库有100000条数据需要请求回来并处理,最多允许开20个goroutine,每个goroutine最多请求100条数据,要求用Go并发+Channel模型实现这种并发请求的场景。 考察Go并发编程中worker池模式、Channel通信和任务分配的设计能力第 30 题用Go实现两个goroutine交替输出1到100。 考察Go并发控制与channel使用第 31 题请实现冒泡排序,并说明其时间复杂度和适用场景。 考察基础排序算法的实现能力与复杂度分析第 32 题请解释Go语言中如何实现继承,并说明接口在Go中的使用方式。 考察对Go语言组合与接口机制的理解第 33 题Go 单元测试(UT)有哪些编写原则? 考察单元测试设计的可读性、独立性与可维护性第 34 题Go 如何实现读写锁?请写出核心代码。 考察 Go 并发原语中读写锁的实现原理与编码能力第 35 题请说明Go Channel的原理和使用,并举例说明多生产者多消费者模型。 考察Go并发原语Channel的底层机制、使用场景及并发模型设计能力第 36 题请介绍你的 LRU(最近最少使用)缓存淘汰算法实现,包括数据结构设计与读写流程。 考察 LRU 缓存的数据结构选型、复杂度分析与并发边界第 37 题Go的结构体方法和指针方法的区别 考察Go语言方法集、值接收者与指针接收者的语义差异第 38 题如果说一个提供下载图片的网站,同时最多下载10张,如何使用Channel控制(将Channel容量为10,Channel满了即等待) 考察对Go Channel容量控制并发下载数量的理解和实现第 39 题请介绍GMP模型 考察对Go运行时GMP并发模型的整体认知与核心机制第 40 题使用Go实现一个中间件,使得内网登录的用户只能看内网的数据,外网登录的用户只能看外网的数据。 考察Go中间件设计能力,以及基于用户来源的网络隔离与数据权限控制