一面

介绍自己

介绍一下python decorator

用过@torch.jit.trace @torch.jit.script吗(区别是script保持python控制流trace不保持,原理前者采样后者编译)

如果我需要输出特征图,或者获取一个model中命名规律的几个层e.g. l_1 l_2的输入输出,应该怎么做?(用pytorch hook

你写过一个rust项目,介绍一下rust里的借用机制吧

对于attention is all you need这篇文章,它讲了什么,有什么贡献

transformer架构是什么

相对于CNNRNN,transformer的优势在哪里

为什么要用layernorm,有什么用

norm有哪几种(我以为说的norm变体,回答的说只知道rmsnorm,结果面试官说的是batch norm和layernorm,不过没有太大影响)

batch norm和layernorm有什么区别,为什么cv用batch norm,nlp用layernorm

什么是attention层,QKV分别是什么,为什么这么计算,为什么要除以根号d,不除可不可以

什么是kv cache,为什么需要kv cache

pd分离中,pd复杂度分别是多少,为什么p是计算密集而d是访存密集

GPU的内存hierarchy是什么

什么是flashattention

flashattention的原理是什么

模型怎么捕捉位置信息的(positional encoding,RoPE

介绍一下positional encoding,为什么这样做有用

长度外推是什么,怎么实现

项目里基座模型用的什么(qwen),qwen模型相对于基础的模型有什么不同(不知道……过,不过后来查了查不是也就norm换rmsnorm和qknorm,norm换位置这种小改进,别的改进就是数据和thinking了啊……)

(一个微调+agent项目)

你负责了什么

怎么清洗的数据

微调用的什么(lora sft+DPO

DPO和PPO有什么相似和不同

怎么评估的,评估哪些指标

无幻觉率怎么评估

什么是模型的困惑度

用过bitsandbytes和accelerator(hugging face)吗

什么是量化

了解蒸馏吗(小model学大model,别的一点不知道)

量化具体过程是什么

QAT和PTQ有什么区别,QAT具体过程是什么

Per-Channel,Per-Head量化是什么,为什么这么做

(一个推理引擎玩具项目)

为什么用rust

怎么调度模型的(LRU)

说一下YOLO模型的架构(我不知道😭这个是课设我就放这个模型进去凑数的)

不知道YOLO结构怎么做的(知道要实现什么算子,输入输出,但不知道原理)

了不了解图像生成模型(我就上课学过一点点😭)

diffusion模型是什么原理

了不了解VAE模型(我脑抽了说不知道,后来反应过来VAE很基础啊……我在干嘛)

算法

1easy1hard or 1easy2medium,选后面一个

走楼梯

还能不能优化(用的数组,可以换成变量)

后面是两个pytorch,写出大概代码就行,不用运行测试

询问:

deepseek用了MoE,什么是MoE,结构是什么样的

题目:

用线性层实现简单的MoE

询问:

问如何实现Expert并行,我说不知道,平时没写过啊😭(torch.dist,挺难写的……)

题目:

实现transformer block

询问:

layernorm为什么这么实现(我写错了啊啊啊,忘了写scale and shift光normalize了,当时还没反应过来还狡辩了一会,面试官也没再追问就是)

layernorm分母上为什么加一个小常数

你中间用了einsum,介绍一下einsum,为什么你要用einsum(方便好用,所有人都应该用einsum)

为什么要做residual连接,residual连接解决了什么问题

反问:工作内容

二面

介绍自己

输入网址到看到网页,网络中发生了什么。

HTTP协议是什么

HTTPS协议是什么

HTTPS如何保证安全,HTTPS时序图

HTTPS为什么要使用对称密钥加密通信,为什么不一直使用非对称加密

Java中怎么实现并发同步

Java Synchronized关键字是什么,怎么用

synchronized可以加在哪里

静态方法上的synchronized和成员方法上的有什么区别

编程语言中,常用的有哪些锁(互斥锁分为自旋锁和非自旋锁,还有读写锁)

什么时候用自旋锁,什么时候用非自旋锁(频繁加锁的用自旋锁,不然用非自旋锁,因为要比较系统调用和用户态空转的代价)

还有什么同步方式(go语言channel,信号量)

什么是乐观锁和悲观锁

你在哪个项目中用过锁

关系型数据库中,事务特性是什么

你在哪个项目中用过事务

事务隔离级别有哪些,分别解决什么问题

mvcc是什么,怎么实现,用于哪些隔离级别

间隙锁是什么,可以缓解什么问题

你是怎么用RabbitMQ的

RabbitMQ的Exchange是什么

RabbitMQ怎么保证可靠性

RabbitMQ数据传递过程是什么(没答上来😭,忘了真,我以为继续面算法的)

Docker原理是什么

docker是怎么管理资源的(cgroup啊啊啊😭忘了)

(一个微调+agent项目)

你背景主要是LLM的,介绍一下cross attention,self attention,和multihead attention

你这个项目做了什么,落地了吗

详细说一下做了什么

算法:

合并K个升序链表

有更好的解法吗

知道堆吗,可以用堆优化吗(然后就知道最优解了……)

反问:为什么一面算法二面开发,你们到底做什么的

三面

纯介绍项目

代码:

cuda kernel, MxN矩阵reduce成1xN

没写出来拉了改成说思路了,但还是有点拉了,写的warp reduce版本导致写的太慢要考虑太多了,不用warp reduce早写出来了……

然后聊了一堆有的没的(面试官一看就high rank,头发就看出来)

本来以为完了的,结果晚上来hr面,因为临近国庆所以当晚面了

hr面

一般聊天,问题

1 怎么和同事搞好关系

2 有什么兴趣爱好

3 离你学校远你愿意来吗

4 喜欢什么样的mentor

5 个人缺点

6 不喜欢什么样的人

hr说前两个面试官评价是基础知识很好,但是没有t2i t2v模型经验;那第三位估计面评不是特别好,吧(他没问八股纯压力项目,然后我最后一个CUDA没写出来……),或者他那个地位的也可能不太care?见的我这种菜鸡太多了

后来催进度,一面面试官加了电话面,不过非正式。

加面??大概

问的都是很实践的问题,答得很烂,贴一下技术的:

量化后变慢可能是因为什么(硬件不支持???我这么答的反正,没见过别的情况)

LoRA会对模型推理有什么影响(???太宽了不知道啊,weight会变可能会影响点???)

对于自回归模型,onnx怎么加速?(我没用过onnx啊……可以开kvcache/多次regression融合一个;原来和hugging face transformer一样嘛……)

如果在推理过程中,使用nsys发现有e.g.近billion次的device2device 4 bytes 访存,可能是因为什么(张量不是contiguous。view后只动stride,导致逐个的访存不连续,逐个d2d传递;我没做过真答不上来)

优化推理速度的整体思路是什么?

MoE和Expert Parallel是什么?

Deepseek的MoE和Qwen2的MoE有什么区别?(public expert)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐