字节跳动技术面试官,帮你考前划重点,还有面试真题哦

你的秋招进展如何?

字节跳动 2024 校园招聘正在如火如荼地进行中,为了给技术岗的同学加油打气,技术范儿今日特别请来了算法、大数据、后端、音视频、前端、Android、iOS 七个方向的技术面试官,为大家考前划重点。

不仅有重点知识和复习资料,甚至还有面试真题

另外,面试官们从多年面试经验中总结出的面试准备技巧你也可以参考哦~

6c56857e5fd1f89b20441edfae478264.jpeg

编程能力要过关:

● 掌握常见的算法解决思路(分治、递归、双指针等)

● 复习数据结构

● 熟悉算法题

基础知识要牢靠:

● 准确回答机器学习领域最常见的基础理论:最优化、统计、随机梯度下降算法等

● 了解经典机器学习算法的原理:支持向量机、决策树、梯度提升、神经网络等

● 针对 NLP 方向的同学的基础知识:Transformer 结构、QKV 公式等

f4e6cab5372c57902dfab5b435651f8f.png

● 李航《统计学习方法》教材

b6a18ddd72f54adfa5dbdc5b07e94bf7.png

● 吴恩达《机器学习》课程:

https://www.deeplearning.ai/courses/machine-learning-specialization/

bfd90dfce4b6c2f13b69d1a20b29fc2e.png

● 不会直接说不会,面试官重点关注的是基本素质,一般会根据候选人储备的知识进行考察,不会因为候选人不了解某个具体的知识点而fail掉。

● 请把你的项目从头到尾讲清楚,尤其是你攻克项目难点的过程,哪怕这个项目失败了都没关系。

● 如果你想讲最新的技术,比如大模型的 SFT/RLHF、langchain 源码等,请讲讲你对它最深入的思考。

f3c3acfa4d7ed30a88b5674bfaaf618c.png

85fd625430f33b9e56d1b84daefdb5a1.png

71f589f80c3c4dbc5bd08e6f2e19d0f0.jpeg

大数据基础知识:

● Hadoop、Spark、Flink 体系的基本概念

● 任务调优经验

● 给定一段 sql 代码考察引擎侧执行计划和优化思路

工程能力:

● 一道 SQL 问题,希望你能正确工整简洁化书写

● 一道算法问题,希望你能最优化 AC

7f73652060469cd7b8d58bcee3f5fcb9.png

f8e90f9c0eea8cd85216cc6bb7b9a4ad.png

《hadoop权威指南》

ba79918cdbb1177b532722920954096a.png

DDIA(Designing Data-Intensive Applications)

69ed1be3fcb555b9dab3eea04a01a2b8.png

《数据仓库工具箱》

99d4fa8b0994e584b2af91ee3c6b6a93.png

LeetCode 100+ 题目:

https://leetcode.cn/studyplan/top-100-liked/

860615772a197e7bc81fa4b92251e4bc.png


● 请扎实学好基础知识,不要只背书本中的概念,重要的是展示出你对知识的理解。

● 面试问到工程算法时,请充分考虑边界鲁邦。

● 面试官提问后,你可以补充询问、了解上下文,展示出你的严谨性。

● 如果自主主导了一些创新类项目,如引擎侧语义转换工具、数据治理工具、自动化数据归因工具等,请你把这些项目的细节和内容讲给我听。


5dee94d4f2383c075e21776747c3fef4.png

fde90d975d9c708216b7d5cc5e8b289a.png

8c2a1794dbd35c32da35fd5f2a26d2c8.jpeg

● 操作系统

● 多线程等

● 中间件原理/权衡选型/部署架构

● 对分布式系统的设计和理解

● 你常用的编程语言相关的基础知识

e4c0f0dd26abd0056904aca19f5bbcc0.png

c00b1ff89adef20669799ec442a67253.png

DDIA(Designing Data-Intensive Applications)

d9c76311d13ecf0fbafafad1a67fffae.png

《操作系统导论》

● MIT 6.824:

https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/

● System Design Interview 课程:

https://www.youtube.com/@SystemDesignInterview

c415541d4eaf6507ab31179e628412a1.png

● 多对比类似功能的设计异同点,并且知道为什么以及如何根据业务场景权衡。

● 学习中间件的时候,最好能手写一个 MVP 版本,例如 RPC,MQ 等。

● 针对一个很小的问题,你可以讲讲自己的理解,以及行业内有哪些解法,不同的业务场景应该怎么权衡。

● 如果你有过较长时间的实习经历,展开讲讲你都做了什么吧。


f42e73ce055e4d6d13cc6f6646fac32d.png

859cf343f3b154e5f3d8bdce86da9653.png

85161a5a9efab6b2c141691d6a377081.jpeg

视频编解码相关知识:

● 视频编码的原理

● 264/265 的差异和进化体现在哪里

● 如何衡量编码质量

视频处理框架的知识与实践经验:

● FFmpeg

● GStreamer

GPU 相关的原理与知识:

● GPU 的基本单元结构是怎样的

● GPU 为什么适合并行处理

● 在视频处理有哪些方面可以用 GPU 加速

图形图像方面的知识经验:

● OpenCV

● OpenGL

流媒体相关知识经验:

● RTMP

● HLS

4a6678f8f788f10200b1e7f86f94bf6f.png

f69c1e5c908f2e0cd149592d79843b9c.png

《视频编码全角度详解:AVS China、H.264/MPEG-4 PART10、HEVC、VP6、DIRAC、VC-1 [Video Coding Standard]

599045d6ba3519d2874f5a7c3bfd16ca.png

《Mastering OpenCV》

● FFmpeg 官方资料:

https://github.com/FFmpeg/FFmpeg

https://ffmpeg.org/ffmpeg.html

● 字节跳动开源的多媒体处理项目 BabitMF:

https://github.com/BabitMF/bmf

1b3f9b2388b7904db2b974edf74ba19d.png

● 尽量放松,能够到面试环节,说明前面的简历、测试环节表现不错。

● 对于面试问题,回答尽量简洁而有针对性,避免滔滔不绝过度发散,当然也不要冷场。

● 可以适当提问,提问也是面试互动的重要部分,如果你能提一些有建设性、有思考的问题,面试官可能会对你另眼相看。

● 千万不要不懂装懂,会被面试官发现的哦。


bc9a30f347acc8ed97e817b1f103b013.png

adf6437a07f0c3627307f2f79d3476e6.png

54cb65cf520422471e24ef4d58a1af2d.jpeg

网络相关:

● HTTP缓存

● 三次握手

● 四次挥手

数据结构相关:

● 数组

● 哈希

● 二叉树的遍历方式

前端基础知识:

● CSS 盒模型、选择器优先级

● ES6语法

● 原型链

编程题:

● 前端场景题目

● 基础算法题,如快排、深度优先搜索、动态规划、滑动窗口

ce029941348a6cdabaf5432dd221a5a9.png

5e5e396508f7e796830f49d14d5eeb0f.png

《JavaScript

高级程序设计》

369e715b4940bb6f988d7f466693197a.png

《CSS权威指南》

0a64ebfdd0bdb69a67d5bbe18546ec54.png

《剑指Offer》

6cd44cdd24aeb80b3114ebef26be30b8.png

● 请坦诚清晰,我们并不要求校招候选人必须掌握前端知识,如果你不懂前端、但计算机基础知识学得很好也一样很棒。

● 介绍你的项目经验时,可以从设计思路、实现方式到遇到问题如何解决三个角度来介绍。

● 讲你的项目经验时,请说出你的思考和总结。


966c0451435b6fd9eb3a528798e9cb86.png

31d63122b13414f307fd27f15bd1d4fd.png

f1eb92f802f0b19c1278f226d2c14f71.jpeg

计算机基础知识:

● 数据结构(树、图的查找与插入,能熟练写出 bfs 与 dfs)

● 多线程(多线程的常见问题与解决方式)

● 算法题

Android 基础知识:

● 触摸事件传递机制

● Android 消息机制

● 自定义 View

● 常用组件的原理(RecyclerView 等)

业务理解(仅限有实习经历的同学):

● 业务场景理解

● 数据分析能力


900925414a22eb5ac9eb66109516624f.png

● 《Android插件化开发指南》

c29150b1b62802fd7bcc02acaa729210.png

虽然这本书出版较早,Android 版本不同,但是可以根据他的思路在新版 Android 代码上尝试。

● GitHub 上 open-android 的 Android 开源资料集:

https://github.com/open-android/Android

这个项目除了有很多视频课程之外,还有不少项目案例、以及面试题,都是视频形式,非常齐全。

8ee88a6ea5fa287038d37be7550b48a9.png

● 加强自身的基础知识深度,对于新的知识勇于尝试、深入钻研。

● 锻炼表达能力与沟通能力,如果面试中讨论问题时,你能够在面试官的引导下进一步思考并得出结论,那很可能得到面试官的赏识。

● 实事求是,认识到自己的长处与不足。

● 请把你做得最棒的项目放在简历上,展示出项目中你自己的想法,以及把它实现的过程。

57c5bf0916355981734347bfaea568a3.png


7598b8018282abe8bd2c920340f52fbd.png

6c4438646941cd105a413a4473956928.jpeg

因为绝大部分校招同学没有专门学过 iOS 开发,因此,我们更希望看到同学们扎实的技术基础

● 计算机网络技术

● 操作系统

● 软件架构,如 C/S 与 B/S 架构

● 熟悉偏 native 的编程语言,如C/C++

iOS 相关(加分项):

● 了解 GUI 框架,知道 GUI 运作原理与优化

● 了解 Web 前端/ iOS 开发

383a1b3b086ea1445acd11cd60675446.png

39d7241fbd5a5e2b14fccfa88f28eff9.png

《操作系统概念》

b5a528016a0d404a12f00f239bbfab53.png

《深入理解

计算机系统》

e72fa685997ece9d0456542baa83ef3e.png

《计算机网络:

自顶向下方法》

c484e70a8614152cab8c662fc2aa79a5.png

《C++ Primer》

3fe7f45adf32b96c28a58e7e1064d9f1.png

● 无论是否科班出身,希望你对软件/互联网/操作系统基础有踏实的理解,建立在理解的基础上回答面试问题。

● 希望你在有一定框架/技能积累的同时,展现出自己在工程实践中举一反三的能力。看教程只是学习的起点,希望看到你在教程与书本以外的代码实践积累。

● 如果遇到你一时想不明白的问题,希望你能根据自己的知识经验积累、理解分析能力,讲出对这个问题的思考。不要紧张,主动思考、多想敢说就是最好的。

● 请记得把你的能力落到代码上,在代码/算法题环节,除了描述自己的思路,也请将你的思路转化为你熟悉的编程语言。


38492a30f825c26cd29b3c61b0bc1116.png

这些面试真题,你都答得上来吗?

现在努力准备还来得及。字节跳动 2024 校园招聘正在进行中,选好你心仪的方向,来字节跳动一起激发创造吧~

6f23c7cc626ddb44ecc9ca34897a9138.png

 点击阅读原文 

 一键直达字节跳动 2024 校招官网 

 查看所有技术岗位 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值