新浪多模态大模型三轮技术面

一切都从昨天下午原以为是KPI的一面开始,没想到直接开出意外惊喜

一面:

自我介绍,然后讲了刚投的一篇1区论文的工作,分析整体的框架、具体的技术细节,常见的反问点(为什么这么设计、为什么有效,相比于之前的工作,主要好在哪里、最核心的贡献是什么)

面试官自称是NLP背景的,然后问了一些常见的视觉和多模态大模型的模型结构、损失函数设计、训练及推理过程等(面试官有可能是故意扮猪吃老虎哈哈)

Coding:最接近的三数之和;共享屏幕本地IDE,秒了一个n^2logn的做法,让进一步优化,最优解是双指针;不过面试官觉得编码能力应该可以,实现很快,提示完直接让过了

原本以为月底发一面是KPI,结果面试官问我后面还有没有时间,现场约二面,等面试官进会议

二面:

自我介绍,二面面试官非常重量级(进会议的title和面试的深度广度全都拉满了)

首先很深入了聊了相当多关于MLLM的内容:介绍一些MLLM的现状,再选一个近期的多模态大模型,介绍相较于CLIP、LlaVA早期版本进行了哪些改进: Qwen技术点比较多,之前没系统整理过,说了自己还有点印象的Intern-VL2,不过上次看Intern-VL2的论文已经是三个月前了,大概只答上两点比较核心的。然后继续深挖目前多模态大模型在数据层面相较于之前的改进,这个没答上来

之后被面试官深挖了LoRA,可以说LoRA的每一个细节的角落全都被挖的干干净净,还有不少开放性思考题,甚至比上次小鹏CV大模型一面面试官挖的还狠得多。不过上次被拷打之后就很系统地整理了LoRA的相关内容,勉强答得还行吧以后再不能当git clone侠了

然后面试官针对我的专业背景(统计),深挖了几个ML、DL相关的数学层面的问题,有让共享屏幕开白板写过程和推导(不是特别难,不过挺新颖的,秋招还是第一次面试被问到这种类型的问题);紧接着针对我的Nature子刊工作中用到的Gaussian Graphical Model,讲了其与传统ML模型、神经网络和大模型的差异、区别和各自的优劣势。

最后是一些相对开放性的问题:你是如何使用现代的LLM产品提高工作、学习和编码效率的?为什么这种方式有效果?LLM、LVM、MLLM未来发展的方向和前景大概是怎样的?

整个二面的问题不止这些,太多了,又深又广,很多具体已经记不太清了,而且回答的过程中几乎都有进一步反问,深挖了很多东西

二面面完,面试官也是直接当场联系三面面试官

三面:

自我介绍,三面面试官更是整个集团的技术大佬,NLP相关经验非常丰富,整场面试问的内容也偏NLP相关,我之前几乎0 NLP相关经验,汗流浃背了可以说,不过好在基础还行,凭自己的做CV和MLLM的积累,基本都答上了

首先介绍了之前lab实习中做的LLM剪枝优化迁移的工作,然后深挖了相关的技术细节,不过刚聊完电脑音频直接罢工了,重新约到11.1下午

11.1下午

完整描述CLIP的原理、架构、工作过程、怎么对齐、怎么做image caption

完整描述transformer输入一个文本序列如何做下一句预测的全过程,深挖了tokenize、位置编码、MHA、FFN、损失函数、输出转换各个部分

接着从我项目经历中有关传统ML的经验出发,问了一些ML相关的八股,难度不大

然后是偏主管面的一些内容:对工作环境的期望、自身性格优缺点等

反问环节逮住大佬问了目前MLLM的相关业务和技术现状;最后是关于面试流程上的一些问题

总体体验非常棒的三轮面试拷打深度广度强度高,但是也学到了非常多的东西,这也算是对自己能力的一种认可吧

现在想想当初9月份面试难度远不及现在的团子、阿里、得物、理想,却被面挂了,可能还是简历不如现在优化的好,没能突出自己的优势,也没有勇气直接投更匹配自己的岗位吧(当初为了求保底,基本都投的机器学习、数据挖掘这种最“泛”的算法岗,或许应该早点鼓起勇气直接投自驾、MLLM和CV的)。今天看到牛u们团子开奖,各种sp、ssp,确实感觉羡慕+遗憾。

最后许愿一个HR面吧

#秋招#  #算法工程师#  #牛客创作赏金赛#  #新浪#
全部评论
大佬膜拜! 26届的,来好好学习!!
2 回复 分享
发布于 2024-11-09 10:03 美国
大佬,祝你后续顺利
1 回复 分享
发布于 2024-11-23 19:18 北京
加油佬,祝你一切顺利,会有好结果哒。太不容易了这个秋招。
1 回复 分享
发布于 2024-11-01 19:13 北京
希望大佬后续顺利
1 回复 分享
发布于 2024-11-01 17:50 上海
佬,请问你这个岗叫什么呀?我看今年秋招没有“多模态大模型工程师”,只有“大模型工程师”
点赞 回复 分享
发布于 2025-09-10 13:56 北京
有没有uu只有2面的啊? 2面完就没消息了
点赞 回复 分享
发布于 2024-11-21 20:31 山西
佬有后续吗
点赞 回复 分享
发布于 2024-11-19 15:55 上海
卧槽,太猛了佬,开奖了记得替一下
点赞 回复 分享
发布于 2024-11-13 03:40 澳大利亚
这么牛逼大佬去新浪吗?
点赞 回复 分享
发布于 2024-11-12 17:35 湖南
老哥有后续了吗
点赞 回复 分享
发布于 2024-11-10 11:59 山东
佬,是风控部门的吗?
点赞 回复 分享
发布于 2024-11-01 18:01 新加坡

相关推荐

气笑了,写了半个小时感觉没GPT讲的好,喂给GPT帮我重写了一下,但是有些缩写没说明LCS = Longest Common Subsequence,最长公共子序列LIS = Longest Increasing Subsequence,最长上升子序列BIT = Binary Indexed Tree,树状数组suf[i] = suffix 的缩写,这里表示“从 i 开始的最优长度”给你两个长度为 2e5 的排列 p 和 q,求它们的最长公共子序列中字典序最大的一个。例如:104 7 8 9 5 10 2 1 3 63 2 6 10 8 9 1 4 5 7ans: 8 9 5补了半天,也是补出来了。整体思路其实分两步:第一步,先把 LCS 转化成 LIS。因为 p 和 q 都是排列,所以每个数在 q 中出现的位置唯一。把 p 中每个数替换成它在 q 里的下标,原问题就转化成了求最长上升子序列。第二步,为了方便构造字典序最大的答案,记录每个位置的 suf[i]。suf[i] 的意思是:如果当前选了第 i 个位置,并且把它作为这一段的开头,那么从这里开始最多还能选出多长的合法序列。注意,这个长度是包含当前位置自己的。然后贪心构造答案。从最大的 suf 开始往下做,每次都在当前这一层里选能选到的最大值。这里“能选到”不只是原排列里位置要在后面,还要求它映射到 q 里的位置也在后面。这两个条件都满足,才能保证它仍然是公共子序列。时间复杂度分析:映射下标 O(n)。算 suf[i],本质上还是 LIS 的 DP,可以用二分 / 树状数组 BIT 加速到 O(nlogn)。构造时,把 suf 相同的位置放到同一个桶里,同时记录它们的原值和原下标。每个桶内按值从大到小排序,然后从大到小枚举 suf,顺着扫一遍找第一个合法位置即可。这样排序总复杂度是 O(nlogn),最后构造整体扫一遍是 O(n)。所以总复杂度是 O(nlogn),2e5 可以通过。下面说一下为什么能转成 LIS。最长公共子序列这题,如果两个序列都是排列,那么把其中一个排列里的元素,替换成它在另一个排列中的下标,就可以转成 LIS。核心原因是:“值相同且顺序一致”等价于“映射后的下标严格递增”。这一步成立的关键条件就是:排列里的每个数只出现一次。比如在 p 中选出一个公共子序列:p[i], p[j], p[k]如果它在 q 中也按同样顺序出现,那么它们在 q 里的位置一定满足:pos[p[i]] < pos[p[j]] < pos[p[k]]所以公共子序列就对应着一个上升子序列,LCS 也就变成了 LIS。最后说一下 BIT 为什么能算 suf。这个本质上还是 LIS 的 DP。如果从右往左扫,设 suf[i] 表示以 i 位置开头时最多能选多少个,那么转移就是:suf[i] = 1 + max(suf[j]),其中 j > i 且 p[j] > p[i]也就是:要从右边、并且值比当前大的位置里,找一个最优的接在后面。这个可以用 BIT 维护前缀 max 来加速。因为 BIT 的结构天然适合维护前缀信息,后面的块会汇总前面的信息,而前面的不会被后面的影响。只要维护的是 max 这种可合并的信息,就能像维护前缀和一样维护前缀最大值。而这里值域又正好是 1..n 的排列,所以非常适合直接用 BIT 做到 O(nlogn)。
查看5道真题和解析
点赞 评论 收藏
分享
评论
26
52
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务