字节跳动算法实习面试 2021-10-25

这篇博客分享了一次在字节跳动算法实习面试的经历,面试官关注了机器学习和深度学习项目经验,涉及PCA、k-means等算法,并要求手撕代码解决最长公共子序列问题。面试官提到算法岗需熟悉机器学习和深度学习模型,特别是对于推荐系统的理解。

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

写在前面的话

字节的面试官非常和蔼,面试好评。我自己觉得算法面试基本上都是根据个人以往机器学习深度学习的项目经历进行提问。别关注应该没有后续了!呵呵,太菜了!下面就说说面试问题吧。

面试问题

1.做个简单的自我介绍
2.详细说一说你做过的机器学习或者深度学习的项目(什么小项目、微信小程序之类的别的都不问)
3.PCA的思想,以及是怎么实现的(我的简历的项目用到的)
4.k-means的思想,以及实现步骤(我的简历的项目用到的)
5.你还知道别的聚类方法吗?
6.最小二乘法是怎么实现的了?

PS:面试时候,可能会针对你的项目进行细节改进性提问(举个例子:我用PCA从36个指标里边筛选出来20个指标,面试官就会问,如果不筛选可以吗?或者我用k-means分成了三类,面试官会问为什么会分成3类,分成5类可以吗?)

手撕代码

最长公共子序列(感谢labuladong的算法小抄!安利!刷它!)

反问环节

我问了面试官两个问题

关于算法岗所需要的技术栈有哪些

面试官先问了问研究生的研究方向(有些和这个不搭边),其实主要技术栈就是机器学习和深度学习的基础模型。

关于业务的问题

这个岗位是住小帮的算法岗,有兴趣的可以去搜一搜,主要做的业务是推荐系统。所以对这个岗位有追求的同学,要熟悉算法模型外加熟悉推荐系统。

总结

一点点我自己的看法
算法岗学习路线,第一要熟悉那些机器学习深度学习的模型,要会推导这就不会难住你。第二要有针对性去学业务模型,比如做推荐肯定要看看推荐系统怎么实现的,做图像处理要看看那些卷积神经网络…

### 字节跳动实习算法面试经验 #### 面试时间安排 字节的两次面试大约每次持续一个小时左右[^1]。 #### 面试内容概述 面试的主要内容涵盖了三个部分:算法题、项目介绍和个人技术积累(俗称“八股文”)。这些问题有的看起来简单,但实际上要回答得深入并不容易。对于一些问题的具体细节可能因个人记忆而有所遗漏。 #### 特定岗位案例分析 针对不同类型的职位,面试侧重点有所不同: - **推荐算法实习生** 对于申请推荐算法岗位的同学来说,即使原本投递的是其他开发类岗位也可能被调整至该方向。如果准备不够充分,则可能导致初次尝试未能成功通过筛选。值得注意的是,在这类面试过程中,HR会特别关注候选人的背景是否适合所应聘团队的需求[^2]。 - **图形图像算法实习生** 在这个领域内,候选人通常会被询问有关其过往在图像处理或计算机视觉方面的工作经历;对各种CV任务的理解程度如分割、检测与分类等;熟悉度及应用情况涉及多个主流DL框架;评估模型表现的方式及其优化策略;以及面对大规模数据集时怎样高效利用硬件资源等问题。此外还会考察具体的技术实现细节比如CNN架构设计思路或是常见预处理技巧等方面的知识点[^3]。 - **计算机视觉算法实习生** 当涉及到具体的编程逻辑时,例如在一个矩阵中标记连通区域的任务,可以采用深度优先搜索(DFS)方法来解决问题。即每当发现一个新的未访问过的像素点时启动一轮新的探索直到整个岛屿都被标记完毕为止。这里需要注意边界条件判断以防止数组越界错误的发生[^4]。 ```python def mark_island(matrix, i, j): if not (0 <= i < len(matrix)) or not (0 <= j < len(matrix[0])) or matrix[i][j] != 1: return # Mark this cell as visited by setting it to a different value. matrix[i][j] = -1 directions = [(0, 1), (1, 0), (-1, 0), (0, -1)] for di, dj in directions: ni, nj = i + di, j + dj mark_island(matrix, ni, nj) # Example usage of the function on an input grid representing islands and water bodies. grid = [ [1, 1, 0], [0, 1, 0], [0, 0, 1] ] mark_island(grid, 0, 0) print(grid) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值