遇到的一些八股
929 字
5 分钟
遇到的一些八股
Go
- Goroutine 出现 panic 会发生什么
- Golang 的 GC 什么时候会出现卡顿
- 清理过程会出现 STW 吗?
- Golang 中的 GMP 调度模型是如何工作的?P的作用是什么?
- Golang 的逃逸分析机制是什么?如何进行内存分配优化?
- Sync.Map 是如何实现并发安全的?
- Golang 的反射原理是什么?
- Golang 的栈增长机制?为什么 Goroutine 初始栈 2KB 而线程栈是 MB 级?
- Sync.Mutex 的实现原理(1.18前后差异)?为什么要引入饥饿模式?
- for range 遍历 slice/map 时变量地址是否变化?“赋值不对”的原因?
- interface{} 空接口底层实现?为什么可接收任意类型?断言区别?
- Golang 的 GMP 模型,以及各组件之间的协作流程?
- Golang 的 GC 机制是什么?
- map的底层实现?并发读写是否 panic?如何解决?
- slice 和 array 的区别?底层与扩容机制
- 关闭后的 Channel 读写行为?如何安全关闭?
- Go 中的 Channel 及其并发控制流程?
- 使用 Channel 控制图片下载并发数(限流)?
- 介绍 Go 的 Context 功能?
- Context 取消后子协程如何感知?
- Go 结构体方法与指针方法的区别?
- Go 的继承(组合)与接口?
- 介绍 GMP 模型?
- 协程(G)创建的时机?
- M 的创建与销毁时机?
- P 的创建时机、数量确定及初始化参数?
MySQL
- MySQL 的索引类型?如何优化慢查询?
- MySQL 的事务隔离级别;如何解决幻读;Mysql 如何给单行数据加锁;对数据库的复制、备份有了解吗;半同步复制两种模式
计网
- TCP 的拥塞控制算法有哪些?BBR 算法的工作原理?
- Websocket 如何实现全双工通信?与长轮询区别?
操作系统
- I/O 多路复用说一下
- 为什么 select 的文件描述符集合是有序的?
- 异步 I/O 和非阻塞 I/O?
- Linux 进程的虚拟地址空间是如何布局的?
- 什么是 CPU 的 NUMA 架构?对程序性能的影响?
数据结构
- 为什么 epoll 底层用红黑树管理?
- 如何判断一个数是否为 2 的幂次方?给出最优解
- 统计海量数据中出现次数最多的前 K 个元素
- 实现一个循环队列,支持并发安全的入队/出队
- 介绍堆(大顶堆)的插入、删除和调整过程?
- 数据流的中位数思路?
MQ
- 为什么要使用消息队列?
- 保证消息有序,一个 topic 只能有一个 partition 吗?
- 业务突然增长,导致消息消费不过来怎么办?
- 生产者收到写入成功响应后消息一定不会丢失吗?
- 高并发场景下怎么保证消息不会重复消费?
- 如何保证消息的可靠性?
- 各大消息队列中间件对比及使用场景
分布式
- 分布式一致性哈希算法是如何工作的?
- 什么是 Paxos 算法?Basic 与 Multi 的区别?
- 分布式系统如何实现服务发现和健康检查?
- 什么是分布式系统的脑裂问题?如何避免?
- 分布式 ID 生成方案?
- 高并发场景下,如何保证接口的幂等性?
- 如何解决缓存雪崩、穿透、击穿问题?
- Redis 分布式锁实现、原子性及 Lua 脚本?
- Redis 底层数据结构、Zset 跳表及复杂度?
- Redis 布隆过滤器?
Linux/Git
- 文件描述符是什么
- 什么是零拷贝技术?在 Golang 中如何实现?
- 容器与虚拟机的区别?如何实现资源隔离?
- 如何使用 Linux 命令查看一个服务是否在运行?
- K8s 有用过吗?
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
总结一些八股答案
面试相关记录总结一些常见的八股面试题答案
2
小红书基础架构部面经
面试相关小红书基础架构部-对象存储与协议开发实习面经,三次技术面 + OC,全程拷打项目
3
腾讯S3线面经
面试相关腾讯技术提前批 S3线 Go后端开发一面面经,二面拒了
4
字节抖音直播后端面经
面试相关字节跳动抖音直播后端开发面经,终面挂
5
Redis 分布式锁实现原理
Go源码本文将深入探讨 Golang 中分布式锁的实现原理,涵盖其基本概念、常见实现方式以及在实际应用中的优势和挑战。
随机文章随机推荐


