字节 AI Lab 高性能异构计算 实习面经

三轮技术面,三个面试官都非常和善,之后应该是 hr 面了。总体来讲一面比较八股,中规中矩;二面更多是模型效率优化相关问题;三面项目问得很深入,基础知识也比较难。

一面:20 分钟项目介绍,20 分钟基础知识,20 分钟代码题

- 项目介绍

    - 关于 Efficient Transformer 的 E.&A. 论文

- 基础知识

    - cache 每一个 chache line 包含 3 个部分, 分别是什么作用?

    - 多级 cache 的原因

    - cache miss 之后的流程

    - 页表机制带来的开销以及如何缓解

    - 页表的好处

    - C++ 重载机制以及如何实现的

    - 介绍一下 C++ 中的原子操作以及引入的原因

- 代码题

    - 本质上是 DAG 的拓扑排序:因为我没看懂输出所以换了一道

    - 棋盘第一行到最后一行是否连通;easy:dfs,AC

二面:40 分钟项目介绍 + 项目引申出来的问题(包含一些基础知识),20 分钟代码题

- 项目介绍

    - 关于 Efficient Transformer 的 E.&A. 论文

- 基础知识

    - Sparse Attention 的 python kernel 实现

    - 大模型的分布式训练中的并行方式

    - 如何应对模型训练和推理中过高的内存占用问题:稀疏化、gradient checkpoint、量化推理/混合精度训练、模型压缩(teacher forced learning)

    - GPU 并行计算相关代码实现

- 代码题

    - 给我定义好了完整的 Graph 类,实现拓扑排序函数;mid:刚开始打算队列 + `vis` 数组,经提示 DAG 不是树后想到考虑节点入度,AC

三面:40 分钟项目介绍 + 项目中技术应用在企业项目中有效性的探讨,15 分钟基础知识,15 分钟代码题,20 分钟讨论企业项目的初步想法

- 项目介绍

    - 关于 Efficient Transformer 的 E.&A. 论文

    - 一种新提出的 Sparse Attention 机制

- 项目讨论

    - Efficient Attention、MoE、分布式训练等技术应用在企业项目中的有效性

- 基础知识

    - C++ 多态机制,虚函数表中函数地址何时确定,对象的虚表指针的值在何时确定:感觉面试官想把虚函数表相关机制问得很彻底,需要深入了解

    - C++ 中 `vector` 如何实现内存释放:个人理解是使用 `vector` 临时变量的 `swap` 函数把待释放的 `vector<T>` 对象 `myVector` 与之进行交换,再利用临时对象结束生命周期时自动调用析构函数来实现已申请内存的释放,即 `std::vector<T>().swap(myVector);`

    - 实现一个数据结构,包含栈的所有操作,并需要在 $O(1)$ 时间内获取最小值:这个题回答完以后面试官觉得约束太少了,导致比较容易实现,但是我不知道他希望搞多复杂

- 代码题

    - 下一个全排列 LeetCode 31;mid:提出想法以后,面试官指出一个错误的 case,完善后 AC

#我的实习求职记录#
全部评论
虚函数表是在编译期间就创建的,所以表中的函数地址是在编译期确定的 虚表指针是在对象实例化的时候创建的(在构造函数中初始化),一般就是类对象的第一个成员‘ 这样回答可以吗?
点赞
送花
回复
分享
发布于 2023-02-24 21:27 陕西
感谢大佬分享!!
点赞
送花
回复
分享
发布于 2023-02-26 17:57 山东
滴滴
校招火热招聘中
官网直投
大佬进度好快啊
点赞
送花
回复
分享
发布于 2023-02-26 18:00 陕西
咋感觉都和机组编译那么相关啊
点赞
送花
回复
分享
发布于 2023-03-01 23:33 江苏
大佬牛的
点赞
送花
回复
分享
发布于 2023-03-16 15:50 北京
问问大佬怎么准备的,有什么资源/书籍分享吗
点赞
送花
回复
分享
发布于 2023-03-16 20:27 上海
请问是博士吗
点赞
送花
回复
分享
发布于 2023-03-20 23:48 上海
请问大佬投的是日常实习吗,在字节官网只看到了“高性能计算研发实习生-Data(北京 日常实习)”
点赞
送花
回复
分享
发布于 2023-03-22 15:45 上海
体系结构没有问嘛佬
点赞
送花
回复
分享
发布于 2023-05-22 20:31 福建

相关推荐

4.1025min1、自我介绍2、常用的编程语言是哪个,自学的还是学校教的?3、ansible自动化配置简单讲讲(项目问题)4、lnmp配置具体出现了什么问题,怎么解决的(php的www.conf和nginx的conf里的用户和组不是一个,导致无法动态转发,通过浏览器返回渲染和nginx日志排错)5、讲讲操作系统的内存管理(我以为是讲讲linux的free命令,罗里吧嗦说了一堆,结果是让讲一些概念,页式存储和段页式存储等)6、TCP三次握手流程7、讲讲容器化技术,镜像和容器分别的概念和区别8、讲讲对k8s的了解9、讲讲你最熟悉哪一块的运维知识(nginx配置相关,面试官提问如果两个url分别访问服务器不同的静态文件该如何实现:include&nbsp;conf&nbsp;分别写server模块,或者并入nginx主配置文件,但是好像不是这个意思,具体还需学习;nginx的黑名单和白名单如何实现,忘了。。;https和http的区别是什么样的,在nginx配置文件里怎样实现https,也忘了。。。)10、讲讲容器和虚拟机的区别、优点和缺点11、讲讲grep命令,讲讲正则(?和*代表什么),讲讲用shell写过什么样的脚本12、讲讲对zabbix监控系统的理解13、你更想学习、做哪种路线的运维14、你将来的规划是什么样的?15、了解过我们公司业务吗,玩过手游吗,讲讲对游戏业务运维的理解反问环节:1、对容器化技术和k8s的理解程度需要多深?2、有无培训机制?3、常用的linux命令需要多广多深,具体在哪些方面需要多学习一些?更新:4.16收到感谢信
点赞 评论 收藏
转发
25 126 评论
分享
牛客网
牛客企业服务