GolangFamily
【超全golang面试题合集+golang学习指南+golang知识图谱+入门成长路线】 一份涵盖大部分golang程序员所需要掌握的核心知识。常用第三方库(mysql,mq,es,redis等)+机器学习库+算法库+游戏库+开源框架+自然语言处理nlp库+网络库+视频库+微服务框架+视频教程+音频音乐库+图形图片库+物联网库+地理位置信息+嵌入式脚本库+编译器库+数据库+金融库+电子邮件库+电子书籍+分词+数据结构+设计模式+去html tag标签等+go学习+go面试+计算机网络基础+图解网络+操作系统面试题+数据库面试题+面试题合集
Install / Use
/learn @xiaobaiTech/GolangFamilyREADME
golangFamily
【超全golang面试题合集+golang学习指南+golang知识图谱+成长路线】 一份涵盖大部分golang程序员所需要掌握的核心知识。
<p align="center"> <a href="#公众号"><img src="https://img.shields.io/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-%E5%B0%8F%E7%99%BDdebug-blue" alt="公众号"></a> <a href="https://juejin.cn/user/4001878057422087"><img src="https://img.shields.io/badge/%E6%8E%98%E9%87%91-%E5%B0%8F%E7%99%BDdebug-yellow" alt="公众号"></a> <a href="https://www.zhihu.com/people/jin-ji-de-ren-shan-ren"><img src="https://img.shields.io/badge/%E7%9F%A5%E4%B9%8E-%E5%B0%8F%E7%99%BDdebug-yellowgreen" alt="投稿"></a> <a href="https://blog.csdn.net/ilini"><img src="https://img.shields.io/badge/csdn-CSDN-red.svg" alt="投稿"></a> <a href="https://xiaobaidebug.top/"><img src="https://img.shields.io/badge/%E5%8D%9A%E5%AE%A2-%E5%B0%8F%E7%99%BDdebug-brightgreen" alt="博客"></a> </p>
脑图持续不断更新中,在线查看地址
后续文章和内容会不断更新到 github项目 中,欢迎关注。
最近花了些时间整理了一下后端程序员成长路线和高频面试题,这是一份涵盖大部分后端程序员所需要掌握的核心知识。
这些面试题从能力模型上对标字节资深后端开发,因为字节主要使用GO语言,因此语言方面的面试题,主要是面向go相关的题目。但除了语言这块,其他中间件和工程能力相关的面试题,对于所有后端开发都适用!!

面试题集PDF还会不断迭代更新,后续最新版本都会在我的个人公众号「小白debug」里第一时间发布!
在公众号里回复【面试】即可获得!!
如果大家看完电子书,觉得内容还不错,强烈希望大家能在微信公众号里搜索关注,并星标我的公众号,第一时间获取最新更新内容!
<img src="https://cdn.xiaobaidebug.top/1696560465663.jpeg" style="zoom:30%" />还有技术划水【交流群】,点击公众号右下角【联系我】或扫描以下二维码,备注“进群”,欢迎大家进群交流~。
如果大家对网络基础感兴趣的话,公众号里也有非常多相关的文章,也欢迎关注收看哈。图解网络相关的文章,已经重新整理成一份的电子书。在公众号内回复【网络】,就可以获得整理的PDF电子书。
同时我也为公众号粉丝准备了一些学习资料,关注公众号并回复【go】、【操作系统】、【网络】即可获得相应学习资料! 并且,学习资料也会不断更新,后续会根据读者需求整理更多相关资源,有需要的读者也可以在公众号内留言。
<br> <br>最后
- 不满足于看八股文,可以尝试拿着岗位要求来进行ai押题。押题宝
- 基础不牢,缺乏实战项目,想快速成为中大厂Go/Java工程师?后端训练营了解一下。后端训练营介绍文档
- 欢迎大家访问我的博客 点这里 https://xiaobaidebug.top。
- 欢迎大家访问我的B站 点这里 。
- 欢迎大家访问我新做的工具站点 图片翻译photo-translate 。
- 在公众号内回复【面试】,可以获得整理的golang面试PDF电子书,适合快速备战面试查漏补缺。
- 在公众号内回复【网络】,可以获得整理的图解PDF电子书,适合巩固基础。
- 在公众号内回复【视频】,可以获得整理的有趣好玩的视频教程,适合小白上路。
目录(善用Ctrl+F)
-
基础入门
-
新手
-
数据类型
- 连nil切片和空切片一不一样都不清楚?那BAT面试官只好让你回去等通知了。
- golang面试题:字符串转成byte数组,会发生内存拷贝吗?
- golang面试题:翻转含有中文、数字、英文字母的字符串
- golang面试题:拷贝大切片一定比小切片代价大吗?
- map不初始化使用会怎么样
- map不初始化长度和初始化长度的区别
- map承载多大,大了怎么办
- map的iterator是否安全?能不能一边delete一边遍历?
- 字符串不能改,那转成数组能改吗,怎么改
- 怎么判断一个数组是否已经排序
- 普通map如何不用锁解决协程安全问题
- array和slice的区别
- golang面试题:json包变量不加tag会怎么样?
- golang面试题:reflect(反射包)如何获取字段tag?为什么json包不能导出私有变量的tag?
- 零切片、空切片、nil切片是什么
- slice深拷贝和浅拷贝
- map触发扩容的时机,满足什么条件时扩容?
- map扩容策略是什么
- 自定义类型切片转字节切片和字节切片转回自动以类型切片
- make和new什么区别
- slice ,map,chanel创建的时候的几个参数什么含义
- slice,len,cap,共享,扩容
- 线程安全的map怎么实现
- go slice 和 array 区别
- go struct能不能比较?
- map如何顺序读取?
- go中怎么实现set
- map 的扩容机制是什么?
- 使用值为 nil 的 sice、map 会发生什么?
- Golang 有没有 this 指针?
- Golang 语言中局部变量和全局变量的缺省值是什么
- Golang 中的引用类型包含哪些?
- 使用range 迭代 map 是有序的吗?
- slice 的扩容机制是什么?
- Golang 中指针运算有哪些?
- 类型的值可以修改吗?
- 解析 JSON 数据时,默认将数值当做哪种类型
- array 类型的值作为函数参数是引用传递还是值传递?
-
流程控制
- 昨天那个在for循环里append元素的同事,今天还在么?
- golang面试官:for select时,如果通道已经关闭会怎么样?如果只有一个case呢?
- go defer(for defer)
- select可以用于什么?
- context包的用途?
- select 可以用于实现哪些功能?
- 在循杯内执行 defer 语句会发生什么?
- switch 中如何强制执行下一个 case 代码块?
- 如何从 panic 中恢复?
-
-
进阶
-
包管理
学go mod就够了! -
优化
- golang面试题:怎么避免内存逃逸?
- golang面试题:简单聊聊内存逃逸?
- 给大家丢脸了,用了三年golang,我还是没答对这道内存泄漏题
- 内存碎片化问题
- chan相关的goroutine泄露的问题
- string相关的goroutine泄露的问题
- 你一定会遇到的内存回收策略导致的疑似内存泄漏的问题
- sync.Pool的适用场景
- go1.13sync.Pool对比go1.12版本优化点
-
并发编程
- golang面试题:对已经关闭的的chan进行读写,会怎么样?为什么?
- golang面试题:对未初始化的的chan进行读写,会怎么样?为什么?
- sync.map 的优缺点和使用场景
- sync.Map的优化点
- 主协程如何等其余协程完再操作
- 有缓存的channel和没有缓存的channel区别是什么?
- 协程通信方式有哪些?
- channel底层实现
- 读写锁底层是怎么实现的?
- 请你说说golang的CSP思想
- channel 是怎么保证线程安全?
-
高级特性
- golang面试题:能说说uintptr和unsafe.Pointer的区别吗?
- golang 面试题:reflect(反射包)如何获取字段 tag?为什么 json 包不能导出私有变量的 tag?
- 协程和线程的差别
- 垃圾回收的过程是怎么样的?
- 什么是写屏障、混合写屏障,如何实现?
- 开源库里会有一些类似下面这种奇怪的用法:
var _ io.Writer = (*myWriter)(nil),是为什么? - GMP模型
- 动图图解,GMP里为什么要有P
- 协程之间是怎么调度的
- gc的stw是怎么回事
- 利用golang特性,设计一个QPS为500的服务器
- 为什么gc会让程序变慢
- 开多个线程和开多个协程会有什么区别
- 两个interface{} 能不能比较
- 必须要手动对齐内存的情况
- go栈扩容和栈缩容,连续栈的缺点
- golang怎么做代码优化
- golang隐藏技能:怎么访问私有成员
- 协程可以自己主动让出 CPU 吗?
- 断言时会发生拷贝吗
- 接口是怎么实现的?
- 协程与进程,线程的区别是什么?协程有什么优势?
- 为什么小对象多了会造成 gc 压力?
- 一个协程能保证绑定在一个内核线程上吗?
- 闭包怎么实现的,闭包的主要应用场景
- 两次 GC 周期重叠会引发什么问题,GC 触发机制是什么样的?
- Goroutinue 什么时候会被挂起?
- Data Race 问题怎么检测?怎么解决?
- Golang 触发异常的场景有哪些?
- net/http包中client如何实现长连接?
- net/http怎么做连接池和长链接?
- golang进阶面试题
-
问题排查
-
源码阅读
-
汇编
-
实践常用工具
-
-
图解网络基础
- 漫画图解HTTP知识点+面试题
- TCP粘包 数据包:我只是犯了每个数据包都会犯的错
- [30张图带你搞懂!路由器,集线器,交换机,网桥,光猫有啥区别?](https://golangguide.top/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80/%E7%BD%91%E7%BB%9C%E5%9F%BA%E7%A1%80/%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86%E7%82%B9/%E7%A1%AC%E6%A0%B8%E5%9B%BE%E8%A7%A3%EF%BC%8130%E5%BC%A0%E5%9B%BE%E5%B8%A6%E4%BD%A0%E6%90%9E%E6%87%82%EF%BC%81%E8%B7%AF%E7%94%B1%E5%99%A8%EF%BC%8C%E9%9B%86%E7%BA%BF%E5%99%A8%EF%BC%8C%E4%BA%A4%E6%8D%A2%E6%9C%BA%EF%BC%8C%E7%BD%91%E6%A1%A5%EF%BC%8C%E5%85%89%E7%8C%AB%E6%9C%89
