大模型infra实习生 一面
2024.4.22面试 约50min 一面过
1、简历拷打
(1)基于文本提示的图像编辑系统 项目
- 我对你的这个项目很感兴趣,你讲一下吧
- StyleGAN和CLIP是怎么进行交互从而实现文本提示编辑的?
- 训练数据量多大?怎么进行训练的?
- 网站的前后端分别使用什么编写的?
- triton的原理有了解吗?
- 你这个模型算是小模型,大模型的训练不能直接单卡训练,有了解大模型训练相关技术吗?
- deepspeed原理有了解吗?
(2)基于FFT进行卷积加速的并行算法实现 项目
- 讲一下这个项目吧
- 加速的技巧有哪些?
- 这个算法有实际应用吗?
(3)系统文件备份软件 项目
- 讲一下这个项目
- 哈夫曼编码使用了什么库吗还是手写?
2、大模型八股
- 有了解现在市场上的大模型吗?包括国内的、国外的
- 你用下来的感受如何?
- 大模型比小模型性能强的原因有哪些?
- 多模态大模型有了解过吗?
- 大模型的结构有了解吗?
- 能讲一下Transformer的结构吗?
- 你知道在Transformer之前,人们最常使用的具有长短期记忆功能的网络有哪些吗?
- 你知道Transformer比LSTM的优势在哪吗?
- 你说你以后想做模型推理优化,你了解推理优化方法吗?
3、算法题
92. 反转链表 II
中等难度,可以看作反转整个链表题目的进阶
- 创建虚拟头结点,提前用全局变量
pre保存开始反转的前一个节点 - 与反转整个链表不同,递归到最后需要用全局变量
tail保存最后一个节点的下一个节点 - 递归进行反转,递归过程中将
head->next设置为tail而非null - 将递归返回赋值给
pre->next - 返回虚拟头结点的
next即可
大模型infra实习生 二面
2024.4.25面试 约40min 二面过
1、算法题
(1)求所有根节点到叶节点的路径总和
假设路径为1->2->3,则将该路径值看作123,求所有路径值的总和
- dfs遍历路径值
- 对得到的路径值求和
(2)删除链表中所有重复节点
- 创建虚拟头结点进行简化
- 双指针进行循环删除
2、基础八股
vector/map/unordered_map/list的底层实现原理以及相应的访存时间复杂度,以及迭代器的变化规则- 红黑树怎么保持平衡的?
top/grep/ls/ps/awk分别是干什么的?- 对
Transformer了解吗?讲一下它的结构吧(包含了压力测试,我说完了,他问我你确定?) - 讲一下C++中的多态实现
- 什么是虚函数?
- 对多线程编程了解还是对网络编程了解?(由于我对二者都不太了解,所以后面没有问相关问题)
3、简历拷打
(1)基于FFT进行卷积加速的并行算法实现 项目
- 讲一下这个项目吧
- 为什么想到要用cuda进行加速
- cuda streams中,异步搬运数据会占用线程吗?