# Golang 面试题搜集 ## Golang 常见面试题目解析 - [交替打印数字和字母](question/q001.md) - [判断字符串中字符是否全都不同](question/q002.md) - [翻转字符串](question/q003.md) - [判断两个给定的字符串排序后是否一致](question/q004.md) - [字符串替换问题](question/q005.md) - [机器人坐标计算](question/q006.md) - [语法题目一](question/q007.md) - [语法题目二](question/q008.md) - [goroutine和channel使用一](question/q009.md) - [实现阻塞读的并发安全Map](question/q010.md) - [高并发下的锁与map读写问题](question/q011.md) - [定时与 panic 恢复](question/q012.md) - [为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能.](question/q013.md) - [七道语法找错题目](question/q014.md) - [golang 并发题目测试](question/q015.md) - [记一道字节跳动的算法面试题](question/q016.md) - [多协程查询切片问题](question/q017.md) - [对已经关闭的的chan进行读写,会怎么样?为什么?](question/q018.md) - [简单聊聊内存逃逸?](question/q019.md) - [字符串转成byte数组,会发生内存拷贝吗?](question/q020.md) - [http包的内存泄漏](question/q021.md) - [sync.Map 的用法](question/q022.md) - [Golang基础语法相关题目](question/q023.md) - [go 面试题:连接字符串有几种方法](question/q024.md) - [Golang 基础语法题汇集](question/q025.md) ## Golang 理论 - [Go语言的GPM调度器是什么?](base/go-gpm.md) - [Goroutine调度策略](base/go-scheduler.md) - [goroutine调度器概述](base/go-scheduler-base.md) - [Golang的垃圾回收机制是如何工作的?](https://study.disign.me/article/202502/35.Golang垃圾回收(GC)介绍.md) - [golang中如果出现了内存泄露, 怎么排查?一般都有哪些情况可能导致内存泄露](https://study.disign.me/article/202502/36.Go%E7%A8%8B%E5%BA%8F%E5%86%85%E5%AD%98%E6%B3%84%E9%9C%B2%E9%97%AE%E9%A2%98%E5%BF%AB%E9%80%9F%E5%AE%9A%E4%BD%8D.md) - [讲讲GMP模型](https://study.disign.me/article/202502/38.go-GPM%E6%A8%A1%E5%9E%8B.md) - [Golang常见语法面试题总结](base/go-grammar.md) ## Redis基础 - [Redis 基础数据结构](base/redis.md) - [Redis中的底层数据结构](base/redis-data-structure.md) - [Redis持久化的原理及优化](base/redis-rdb.md) - [Redis中内存淘汰算法实现](redis/redis-policy.md) - [Redis主从复制原理](redis/redis-master-slave.md) - [AOF 和 RDB 是什么?AOF 持久化策略有哪三种?你们是怎么选的?AOF 什么时候重写?为什么重写?](./redis/0001.md) - [Redis 6 里的 Threaded I/O 是想解决什么问题?](./redis/0002.md) ## MySQL相关 - [MySQL数据库经典面试题解析](mysql/mysql-interview.md) - [MySQL InnoDB MVCC 机制的原理及实现](mysql/mysql-mvcc.md) - [为什么MySQL使用B+树做索引?](mysql/mysql-index-b-plus.md) - [MySQL 单列索引,联合索引的存储区别?](./mysql/0001.md) - [了解索引下推吗?什么情况下会下推到引擎去处理?什么情况下索引会失效?](./mysql/0002.md) ## 面试必备算法 - [字符串之实现 Sunday 匹配](algorithm/docs/match-sunday-string.md) - [字符串泄漏之反转字符串(301)](algorithm/docs/reverse-string.md) - [字符串中的第一个唯一字符](algorithm/docs/search-first-unique-char.md) - [字符串之验证回文串](algorithm/docs/verify-palindrome.md) - [滑动窗口最大值](algorithm/docs/sliding-window-maximum.md) - [最长公共前缀](algorithm/docs/longest-common-prefix.md) - [两个数组的交集](algorithm/docs/array-intersection.md) - [最接近的三数之和](algorithm/docs/3sum-closest.md) - [从字符串中解析最大数字](algorithm/0001.md) ### 排序算法 - [冒泡排序](algorithm/docs/bubble-sort.md) - [选择排序](algorithm/docs/selection-sort.md) - [链表常见算法](algorithm/list/README.md) ## 大模型基础 - [常见基础大模型知识面试题](llm/llm.md) ## Elasticsearch 场景面试题及解析 - [ES数据倾斜如何解决?](./001.md) ## 架构设计 - [设计一个关注人和被关注人的场景,怎么更合理更快的查询?](./architecture/0001.md) - [详细解释下 Kafka 消费的顺序的原理。](./architecture/0002.md) - [对一个电商平台来说突然的秒杀场景,如何进行库存扣减。](./architecture/0003.md) - [Redis缓存和MySQL数据如何做到一致性?](./architecture/0004.md) - [一个定时调度系统,如何进行准时的触发。](./architecture/0005.md) - [对商品拆分库存行后,现在 1 单要买 2 个商品,这两个库存分别在 2 个库存行怎么处理?](./architecture/0006.md) - [面试题:如果你是架构师,如何保证系统的可用性?](./architecture/0007.md) - [IO 多路复用是什么?多路是什么?复用了什么?](./architecture/0008.md) - [面试题:怎么理解可观测性(Observability)?](./architecture/0009.md) - [短链接唯一 ID 设计这块挑战是什么?](./architecture/0010.md) - [讲一下 Trace 的数据模型,什么是 Span,Trace ID 和 Span ID 是怎么设计的?](./architecture/0011.md) - [Metrics 的数据模型有了解吗?](./architecture/0012.md) - [LSM-Tree 和 B+ Tree 的本质区别是什么?](./architecture/0013.md)