字节跳动后端面经

一面(1h)

自我介绍
聊聊之前实习做的项目
聊聊简历里自己的项目
谈谈HashMap的结构
Hashtable与HashMap的区别
ConcurrentHashMap的原理
线程的生命周期
线程池的设计
RabbitMQ与Kafka的区别
AMQP的消息模型
delete,truncate,drop区别
脏读、不可重复读、幻读
数据库的MVCC

然后是两道算法题

  • 快慢指针的链表题
  • 二叉树两个节点的最近公共父节点

二面(1h)

自我介绍
聊项目
对称加密与非对称加密
输入url到显示页面
tcp四次挥手
tcp拥塞控制
Innodb索引结构
B+树的优势
索引覆盖

反转字符串单词,要求O(1)空间复杂度

三面(50min)

自我介绍
设计一个支持lpush、lpop、rpush、rpop、get、del的list结构,且各个操作以及扩容的空间复杂度均为O(1)
二叉树最大路径值
反问

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间

### 字节跳动后端开发面试经验 #### 时间管理与代码编写效率 在实际面试场景中,候选人需注意时间分配。有案例显示,在一次面试中,候选人在超过20分钟的时间内完成了编码题目,但由于剩余时间不足未能运行测试用例[^1]。这表明合理安排解题时间和预留调试时间的重要性。 #### 基础知识考察 基础知识掌握情况也是评估重点之一。一位候选人提到自己除了一道关于QQ视频的问题外,大部分基础知识点都回答得较为满意;然而对于线程池的理解不够深刻,导致这部分的回答质量不高。因此准备期间应确保对常见并发编程概念有足够的理解。 #### 推荐学习资源 为了帮助提升技术水平并更好地应对技术面试中的挑战,以下是几本被推荐的经典书籍: - *JavaScript高级程序设计*:提供广泛的知识覆盖,适合作为长期参考资料; - *JavaScript DOM编程艺术*: 对于前端开发者来说非常重要的一本书籍,有助于深入了解文档对象模型的操作方法; - *你不知道的故事背后的JavaScript* : 聚焦于JavaScript的核心特性如原型继承机制以及闭包等主题[^2]. 虽然上述书籍主要针对Web开发领域内的技能培养,但对于全栈工程师而言同样具有参考价值。 #### 技术选型交流 当被问到日常工作中使用的编程语言时,应当基于个人经历如实作答。例如如果常用Java,则可以分享一些具体的应用实例及其带来的便利之处[^3]。 ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, ByteDance!"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值