#字节跳动# 一面
一、数据库相关

1. 数据库的索引是什么?为什么使用索引?InnoDB的数据索引基于什么实现?
2. B+树和B树的差异?
3. B+树查询一次的时间复杂度是多少?
4. 哈希数据结构的查询时间复杂度?
5. MySQL为什么不使用哈希结构?
6. 主键设计为什么一般用自增ID,而非身份证号等业务字段?

二、进程、线程、协程相关

1. 进程、线程、协程的定义?为什么需要协程?
2. 两个线程修改共享变量的线程安全问题如何解决?
3. 悲观锁和乐观锁的差别?

三、TCP/UDP网络相关

1. TCP和UDP的核心区别及应用场景?
2. 滑动窗口机制的原理?
3. 已发送但未收到ACK的问题如何解决?
4. TCP三次握手能否改为两次,加超时重试?

四、登录系统设计相关

1. 支持30天免登录的数据库表设计(表数量、作用、主键、索引)?
2. 前端与客户端交互中如何实现30天免登录?
3. 是否了解SSO?
4. 用户登录态的设计实现有哪几种?是否了解JWT?

五、限流与缓存相关

1. 高峰期如何避免流量打挂服务/底层存储(从限流和缓存角度)?
2. 是否了解令牌桶和漏桶算法的实现、区别及适用场景?
3. 缓存击穿和缓存穿透的区别及解决方法?
4. 布隆过滤器的原理及误判解决/降低方法?

六、Redis相关

1. Redis的基本数据类型有哪些?
2. set和zset的区别?
3. zset的原理?

七、其他技术相关

1. 是否了解AI Coding(如OpenAI工具、Spectacle Coding、Web Coding)?Spectacle Coding解决了哪些问题?
2. 是否接触过Go语言?
全部评论
方便问下是哪个岗吗
点赞 回复 分享
发布于 昨天 13:43 重庆

相关推荐

评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务