Easy-Go-Web3
基础
知识图谱
Go 教程
React Web3
智能合约
进阶
需求分析
系统设计
设计模式
Go 微服务
实战
项目实战
DevOps
生态
Go 生态
React 生态
智能合约生态
Web3 生态
AI × Web3
工具箱
Web3 公司
远程Web3求职
路线
🎯 AA 工程师
面试手册
博客
GitHub
面试手册
Go 后端与 Web3 高频面试题,涵盖基础语法、并发、数据库、区块链、系统设计等核心领域。
全部
简单
中等
困难
全部
Go 语言基础
并发编程
数据库
Web3 & 区块链
系统设计
找到
44
道题目
Go 语言基础
8 题
简单
数据结构
基础
Go 中 slice 和 array 的区别是什么?
简单
defer
基础
Go 中的 defer 执行顺序是怎样的?
简单
内存分配
基础
Go 中 make 和 new 的区别?
中等
接口
底层
Go 中的 interface 底层是如何实现的?
简单
结构体
组合
什么是 struct embedding(结构体嵌入)?
中等
泛型
Go1.18+
Go 1.18+ 泛型如何使用?有什么限制?
中等
错误处理
最佳实践
Go 的错误处理最佳实践是什么?errors.Is 和 errors.As 如何使用?
困难
性能
内存
什么是逃逸分析(Escape Analysis)?
并发编程
8 题
中等
Goroutine
并发
Goroutine 和线程的区别?
困难
Channel
底层原理
Channel 的底层实现原理?
中等
Goroutine
内存泄漏
如何避免 Goroutine 泄漏?
困难
调度器
GMP
Go 的 GMP 调度模型是什么?
中等
Channel
select
select 语句是如何工作的?
中等
context
最佳实践
context 包的作用是什么?如何正确使用?
中等
Channel
Mutex
Channel 和 Mutex 分别在什么场景使用?
困难
并发模式
设计
常见的并发模式有哪些?
数据库
8 题
中等
MySQL
索引
MySQL 索引的数据结构是什么?为什么选择 B+ 树?
中等
Redis
缓存
Redis 的数据过期策略有哪些?
困难
MySQL
事务
什么是 MVCC?MySQL 如何实现?
中等
MySQL
索引
什么是聚簇索引和非聚簇索引?
中等
Redis
持久化
Redis 的持久化方式有哪些?各有什么优缺点?
中等
Redis
缓存
如何解决缓存穿透、缓存击穿、缓存雪崩?
中等
MySQL
事务
MySQL 的事务隔离级别有哪些?各自解决什么问题?
困难
分布式
架构
什么是数据库分库分表?有哪些策略?
Web3 & 区块链
10 题
简单
以太坊
基础
什么是 Gas?为什么需要 Gas?
困难
智能合约
安全
智能合约常见的安全漏洞有哪些?
简单
以太坊
标准
什么是 ERC-20 和 ERC-721?有什么区别?
困难
智能合约
安全
如何防止重入攻击?
中等
Solidity
语法
Solidity 中 require、assert、revert 的区别?
中等
以太坊
EIP
什么是 EIP-1559?对 Gas 费有什么影响?
困难
智能合约
升级
什么是代理合约模式?如何实现合约升级?
困难
DeFi
安全
什么是闪电贷(Flash Loan)?有什么风险?
困难
以太坊
扩容
Layer 2 扩容方案有哪些?Rollup 的原理是什么?
中等
go-ethereum
开发
Go 如何与以太坊交互?go-ethereum 的核心组件?
系统设计
10 题
困难
系统设计
高并发
如何设计一个高并发的秒杀系统?
中等
分布式
理论
什么是 CAP 定理?如何权衡?
中等
分布式
架构
如何设计一个分布式 ID 生成器?
困难
消息队列
架构
如何设计一个消息队列系统?
简单
系统设计
入门
如何设计一个 URL 短链服务?
中等
限流
高可用
如何设计一个分布式限流系统?
中等
Redis
系统设计
如何设计一个实时排行榜系统?
困难
微服务
事务
微服务架构中如何处理分布式事务?
困难
支付
架构
如何设计一个支付系统?需要考虑哪些问题?
困难
微服务
Service Mesh
什么是服务网格(Service Mesh)?Istio 的核心组件?