字节跳动(上海抖音)面经

本文详细记录了作者在字节跳动上海抖音的面试经历,包括一面、二面、三面的主要问题,涉及算法、网络、Java并发、项目相关知识以及智力题。面试重点在于算法能力及解题速度,适合算法基础扎实的应聘者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

字节跳动是一个同学在学院群里发了一个内推群,是上海抖音的招聘,我就投递了,基本流程走的很快,简历发过去很快就有hr加你微信来商量面试时间,当时因为疫情原因没有复工,所以约了一周后面试,两天面完三面,offer审批也比较快。下面是具体面试过程。

一面 3.9 50分钟

  1. 算法题:判断一个数组是不是搜索二叉树的后序遍历的结果
  2. tcp udp区别
  3. tcp如何实现有序传输
  4. tcp有序传输过去的数据还是分组的吗
  5. tcp三次握手
  6. 线程和进程
  7. threadlocal
  8. AQS
  9. aqs如何实现共享和独占
  10. 跳表,插入,删除,时间空间复杂度
  11. 数组和链表的区别
  12. 抖音实现关注和被关注,如何建表
  13. 缓存穿透

这一面问的蛮基础的,算法题也比较简单,只要认真准备春招的同学应该都能答出来。

二面 3.9 50分钟

  1. 项目使用的外部容器有了解吗
  2. volatile
  3. 单例模式
  4. Java 创建线程
  5. 如果是实现runnable接口的话,需要创建thread吗
  6. 线程池的运行过程
  7. 为什么要用springboot
  8. 算法题:二十分钟手写最大堆

这一面我面的很差劲,外部容器只知道是tomcat,其余不了解;写单例模式,双重检验中volatile的作用没解释清楚,和面试官还争起来了,最后发现是我自己写错了,

### 字节跳动广告算法岗位面试经验分享 字节跳动作为一家领先的科技公司,在招聘广告算法工程师时,通常会对候选人的技术能力进行全考察。以下是基于已有信息整理的相关经验和建议: #### 技术基础要求 候选人需要具备扎实的技术功底,尤其是在Java语言的应用上。对于Java语言的不同实现方式,应能够清晰分析其优劣并给出合理的选择依据[^1]。此外,深入理解Java虚拟机、Spring框架、多线程处理以及数据结构等内容也是必不可少的准备方向[^2]。 #### 动态规划与字符串操作 在实际面试过程中,可能会遇到涉及字符串比较的问题,比如如何通过最少次数的操作使两个字符串相同。这类题目可以通过动态规划的方法解决,即先找出两字符串间的最长公共子序列长度,之后分别计算各自需删除字符的数量得出最终结果[^4]。进一步扩展此问题,则可能被询问到具体哪些字符应当被移除,此时同样依赖于动态规划策略来确定共同部分的具体组成情况。 #### 面试技巧 对复杂场景下的提问,保持开放态度非常重要。当被给予某个特定主题或者案例研究机会时,尽量全阐述自己的思考过程而不是仅仅局限于表答案。这样不仅可以展示个人解决问题的能力,还能体现良好的沟通表达水平。另外值得注意的是,在交流互动环节里主动掌控对话节奏有助于给对方留下深刻印象[^3]。 #### 失败原因反思 尽管每位求职者的经历各不相同,但从某些未成功获得录用资格的例子来看,“业务匹配度低”可能是主要原因之一[^5]。因此,在投递简历之前务必详细了解目标职位所需技能及其应用场景,并针对性地调整自我介绍材料及模拟演练重点内容。 ```python def min_operations_to_equal_strings(str1, str2): m, n = len(str1), len(str2) dp = [[0]*(n+1) for _ in range(m+1)] # Fill the DP table using bottom-up approach. for i in range(1,m+1): for j in range(1,n+1): if str1[i-1]==str2[j-1]: dp[i][j]=dp[i-1][j-1]+1 else: dp[i][j]=max(dp[i-1][j],dp[i][j-1]) lcs_length=dp[m][n] return (m-lcs_length)+(n-lcs_length) ``` 上述代码片段展示了利用动态规划方法求解最小编辑距离的一个实例。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值