算法打工人阿旺 level
获赞
158
粉丝
194
关注
0
看过 TA
1169
中山大学
2026
算法工程师
IP属地:山东
高级算法工程师,多模态/大模型/搜广推方向辅导
私信
关注
07-06 21:46
已编辑
中山大学 算法工程师
✅第一面和二面连在一起面的,有部分题记不住,算法都是先讲思路,再白板写代码,然后给面试官解释代码含义。1、算法:找第K大的数(快排)2、算法:从n个数字的数组中任取m个为一个组合,返回所有组合,顺序不一样的算一个组合(递归遍历+回溯)3、LR损失,推导,并且求导4、L1、L2的区别, L1为什么图像是菱形我说菱形可以用取点值画出来,面试官问怎么取点,我就有点懵住了,面完才想起来菱形应该是 |x| + |y| = 1 的函数图像5、梯度下降系列算法有哪些我有点蒙住了,后来才想起来应该问问 momentum adam 之类的算不算6、xgb介绍一下7、你知道有哪些损失函数?8、FM 与 LR对比一下9、softmax 与 二分类 比有什么特点。✅三面面试官很严肃,而且问的很细,有的题还很偏1、看过什么论文2、看过哪些开源项目3、看过哪些开源框架的源码?看过tensorflow源码没?4、看过xgboost源码没?5、开源项目一般就训练个模型吧,就很少量的代码。看过什么大的工程的源码吗?没看过源码别问了QAQ6、让你学 C++ 你认为你多久可以上手?7、算法:一个排好序的数组 arr 中,可能有重复数字,给定一个数target,求 arr[i] + arr[j] = target (i < j) 的对数。提了两个方法:一个字典记录出现过的数字和对应的索引列表(因为可能有重复,所以是列表)。然后一边遍历一边查询字典中是否出现了 target - arr[i],如果有则计数。双指针。但是有重复的数很麻烦,我考虑了一般的重复数情况,和两个重复数之和恰好为target的情况。但是面试官说还有别的情况,我就想不出来了,然后面试官说先到这吧。。8、auc介绍一下,给出计算公式9、xgb怎么并行运算(除了自带的并行找特征分裂点,还说了一般模型的按数据和按特征并行)但是面试官一直追问详细的并行方法。10、xgb与LR各自的优缺点11、LR为什么更容易并行12、有哪些常见的模型优化算法13、adam公式写一下(同时介绍了adam是momentum和RMSprop的结合)14、RMSprop为什么比adgrad好?15、为什么 adagrad 简单求和不好?16、GMM介绍一下,损失函数写一下17、EM算法介绍一下18、进程线程的区别?进程和线程相比有什么好处?19、用户态和内核态📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
查看27道真题和解析
0 点赞 评论 收藏
分享
多模态大模型训练中”模态懒惰“问题如何解决?下面是具体的解决方法,主要分为训练方式、算法设计和训练数据分布优化。0️⃣训练方式这里就不做赘述了,比较常见的是渐进式解冻训练:先fix住某一模态编码器权重,再训练另一模态权重,最后全网络整体训练。1️⃣一、算法细节设计1.最小化模态间投影误差结合最优传输理论(Optimal Transport)建模分布对齐,解决语义密度差异问题。主要包括下面四个核心步骤:1) 交替单模态学习:把传统的多模态联合优化过程转变为交替的单模态学习过程。在每个训练步骤中,只优化一个模态的编码器,从而减少模态之间的干扰,使每个模态都能独立地被优化。2)共享头部:每个模态独立优化,但用一个跨所有模态的共享头部来捕获跨模态的交互信息。共享头部在不同模态之间持续优化,有助于整合多模态信息。3)梯度修改机制:为了防止共享头部在遇到新模态时丢失之前学习到的信息(即模态遗忘问题),通过正交化梯度方向来减少不同模态之间的干扰。4)推理阶段动态模态融合:在inference阶段,基于不确定性的模型融合机制来整合多模态信息;评估每个模态在预测中的重要性,并根据这个评估来分配权重,然后结合所有模态的预测结果。2.模态间交叉引导融合不同模态特征差异比较常见的是跨模态交叉注意力(Cross-modal Cross-Attention)显式建模不同模态特征的融合,Query来自一模态,Key/Value来自另一模态;或者基于输入内容自适应调整各模态贡献权重,抑制低质量模态噪声。2️⃣二、训练数据分布优化1.在不同模态的不同语义层级设计对齐约束有一个非常关键的视觉专家集成(Mixture of Visual Experts),可以利用多种视觉专家模型来提供图像理解的中间信息。2.主动学习实现更平衡的数据选择某个模态特征时的变化,来估计该模态特征的边际贡献,然后对所有可能的子集选择取平均值,从而得到该模态的Shapley值。3.引导偏好优化(BPO),惩罚某一模态的依赖行为可以通过引入扰动来减少某些模态的信息内容,迫使模型在生成负面响应时依赖特定模态。比如前面提到的两个”模态偏差“的例子,棕色的北极熊和对于”房子在左边吗?“问题的不精准回答,把这些生成的偏差响应都作为负面样本,形成了一个新的偏好优化数据集。📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
0 点赞 评论 收藏
分享
1️⃣第一轮1、逻辑题:8 5 3升的桶 8升水, 分成两个4升比较简单的逻辑题,也有通用题目 LeetCode 水壶问题2、算法题:一个字符串,找到第一个只出现一次的字符,n空间n时间,只能扫一次有原题:牛课题霸:第一个只出现一次的字符set或者更省内存的bitset3、算法题:字符串把多个连续空格合并成一个,输入是char*,要求原地空间4、算法题:一个整数数组,找最长的先增后降的序列基础题:牛客题霸:最长递增子序列先分别找最长递增和最长递减的,然后合并一下就好了5、c++基础,shared ptr的特点是什么,可以引用传参吗?c++11的智能指针,通过引用计数来管理,引用计数为0的时候释放内存,有效防止内存泄露的问题,每次拷贝引用计数都会+1,在传参时,不可以引用传参,原因是引用传参不会增加引用计数,在多线程或者闭包场景可能会导致引用计数混乱引发core或者内存泄露的问题6、项目:为什么设计神经网络解决问题,目前网络存在的问题是什么,后续可以怎么优化7、对于只有一个节点的二叉树,只会有一种结构,对于有两个节点的二叉树,会有2种可能的结构,对于有n个节点的二叉树,一共有几种可能的情况?当时直接就想列一下3,4,5个节点分别有多少种可能,然后看能不能找到规律,可是当去遍历4个节点时,发现遍历不住了,就放弃了。然后灵机一动,发现对于n个节点的二叉树,去掉根节点之后,会出现2个种情况。第一种一种是变成一颗n-1个节点的二叉树,这种情况存在两种可能。第二种另一种情况是,会变成一个a个节点的二叉树和一个b个节点的二叉树,a+b=n-1。这样很容易列出递推公式,问题就引刃而解了。2️⃣第二轮1、项目:为什么设计神经网络解决问题,目前网络存在的问题是什么2、二维有序数组 找target原题:牛课题霸:二维数组中的查找3、一个人打靶十次命中7次,命中率是70%,这个概率是怎么估算出来的面试官实际是想问极大似然估计,理解了题意之后就好回答了4、两瓶墨水,一红一黑,用小勺从红墨水瓶里舀一勺放入黑瓶,搅拌均匀,然后从黑瓶里舀一勺放入红瓶,这时红瓶里的红墨水多还是黑瓶里的黑墨水多?如果不搅匀呢?都是一样多,搅拌均匀的话可以很容易的写出公式。不搅匀的话,直接宏观来想,是守恒的,红墨水少了多少,就需要用多少黑墨水来填3️⃣第三轮1、算法题:顺时针打印二维数组原题 牛课题霸:顺时针打印矩阵关键考点是边界条件,奇数偶数两种情况如何简化代码,极限情况(例如1*1的矩阵)要确保能打印2、项目细节 出发点,为什么这么做,如何迭代的3、如果离开前一家公司的话,如果挽留你,什么地方最让你留恋,最可能不离职了
0 点赞 评论 收藏
分享
1️⃣自我介绍:【⌚️10分钟】点评:流水账,有些磕磕绊绊,自我介绍环节的项目介绍的很详细,非常冗余。优化:写逐字稿,背诵,提升语言表达能力。2️⃣经常问题的问题优化:【⌚️20分钟】1:transform结构了解吗?回答点评:回答的很简单,5分吧,说了transform的结构是encode-decode结构,分块,每个块里面有四个组建,MHA、FFN、LN、残差链接,介绍和理解不深刻。提升指导:梳理回答逻辑结构,讲解MHA、FFN、LN、残差链接的添加逻辑和含义,其中MHA给出代码层面理解,从2分钟的回答变成6分钟的回答。2:多头自注意力机制是啥?公式是啥?代码你会写吗?回答点评:讲了公式,但是掌握的不够细致,pytorch代码框架不熟悉,attention_mask机制没有写出来。提升指导:讲述代码的原理,如何使用代码回答问题,展示自己的理解深刻。3:rag中的多路召回是什么?embeding为啥用智源的BGE-large/Base?回答点评:使用了BM25和向量召回,但是没有讲出来两个的区别和联系提升指导:先讲原理,再讲述下语义理解能力和泛化能力的区别,计算的效率,两个互为补充等。3️⃣不会回答的问题指导:【⌚️40分钟】1:  LN不太会回答,看网上的回答很多,但是不是理解层面。2:我的向量召回是faiss做的,和这个相关的问题我如何准备?3:经常会被问到rag用的啥框架,这个问题如何回答?还需要准备框架的知识吗?4:面试官经常问我,rag的模型是啥?有做微调吗?如果不做微调怎么回答?5:大模型还需要补充那些知识?📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
查看8道真题和解析
0 点赞 评论 收藏
分享
✴️回答:简单点我们可以直接说,bert是基于encoder-only的结构,这个结构用来做生成式任务没有现有大基于decodee-only结构的模型好,其次我们可以说bert这种基于掩码的方式来生成文本本来做的就不是自己目标内的事,当生成较长文本时效果肯定烂的一批,然后我们还可以说bert没办法处理变长输入和输出。✅详细解释如下:BERT在生成式任务中存在一些明显的局限性:1.生成连贯性不足:BERT的训练目标是预测单个被掩盖的单词,而不是生成一长段连贯的文本。因此,在生成较长文本时,可能会出现逻辑不连贯、语义跳跃等问题。例如,它可能会生成一些在局部上下文看似合理,但在整体语篇中显得突兀的句子。2.生成长度受限:BERT的输入长度通常受到限制(一般为512个token左右)。这使得它在生成较长文本时会遇到困难,因为它无法有效地处理超出其输入长度限制的内容。相比之下,专门的生成式模型(如GPT)可以生成更长的文本,并且能够更好地保持文本的整体连贯性。3.缺乏明确的生成目标:专门的生成式模型(如GPT)是通过自回归的方式(从左到右或从右到左)来生成文本,其训练目标就是生成连贯的文本。而BERT的训练目标主要是理解文本,生成只是其能力的一种延伸,因此在生成任务上缺乏像生成式模型那样明确的优化目标。📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
0 点赞 评论 收藏
分享
今天,老师为大家介绍了搜索算法的学习路径,在其他算法上拼命卷的同学可以转换思路过来看!1️⃣基础学习基础机器学习,算法知识,然后学NLP的基础知识,掌握bert原理。2️⃣动手实践学完基础和bert,微调bert, 完成几个小项目,比如bert做分类,bert做打标签,bert做NER等3️⃣业务了解有了基础的动手能力,补充业务知识,了解搜索的整个链路知乎文章看搜索的框架知识,看搜索各个环节的要素也可以看一些垂直的搜索业务,比如电商搜索等。4️⃣确定方向1:基础内容理解方向:主要依靠NLP,多模态等2:  query方向:包括 query 的纠错、改写、扩展、分词等。3:召回方向:给定一个查询词,从库中召回有效正确的候选集,并将结果返回给排序,召回方式有很多种,召回主要有倒排索引召回和向量召回两种。4:相关性方向:搜索相关性用于衡量Query和Doc的相关程度,是搜索引擎的重要环节。5:排序方向:粗排,精排,重排,和推荐的排序算法比较接近。5️⃣深入学习1.深入学习如Dijkstra算法、Kruskal算法、Prim算法等,理解它们在图的最短路径、最小生成树等问题中的应用。2.参与实际项目,如搜索引擎、路径规划系统等,将所学的搜索算法应用于实际问题中,解决项目中的搜索相关问题,积累项目经验。📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
0 点赞 评论 收藏
分享
今天,老师介绍一下AI大模型算法基座研发和应用开发的区别与联系,助力相关同学的职业选择。✴️两者核心区别工作目标与场景1️⃣基座研发:聚焦底层模型创新,目标是构建更大规模、更强泛化能力的通用大模型(如DeepSeek、通义千问),解决模型结构设计、训练稳定性、数据质量等核心问题。集中在头部科技公司(如字节、阿里、腾讯等互联网大厂、DeepSeek团队),岗位稀缺且招聘门槛极高(定向挖掘顶尖院校/实验室人才)。门槛高当然薪资也是顶级的,应届生起薪可达50-80万,博士甚至可以拿到百万以上年薪。AI应用岗:覆盖互联网企业、传统行业(如能源、金融),岗位需求量大,更注重项目经验和工程能力。薪资待遇同样可观,大厂起薪普遍40万+。2️⃣AI应用岗:基于现有基座模型,结合业务需求开发上层应用(如智能客服、文档分析系统),核心是模型与场景的适配,需解决工具调用、知识增强、接口集成等工程问题。技术门槛与能力要求基座研发:一般需要顶尖学术背景(如985/强211硕士以上)、深度学习理论功底、大规模分布式训练经验,且需要熟悉前沿算法(如MoE架构、RLHF优化)。更强调工程落地能力,对于学校和学历相对比较友好,并且适合有后端开发经验的同学转型。需要掌握RAG、Agent框架(LangChain/AutoGen)、Prompt工程等应用技术,以及业务逻辑理解能力(如电商、金融、医疗领域知识)✴️两者核心联系技术依赖与协同基座为应用提供基础能力:AI应用岗依赖基座模型的通用能力(如文本生成、多模态理解)实现业务功能。例如,RAG系统的检索增强生成需基座模型的上下文理解能力支撑。应用反馈驱动基座优化:应用场景中积累的数据(如用户交互日志、领域知识)可反哺基座模型的微调与迭代,形成技术闭环。✴️总结基座研发:适合学术背景强、追求技术前沿的科研型人才,需长期投入算法研究,但职业风险较高(如技术路线变动)AI应用岗:适合工程能力强、熟悉业务落地的实践型人才,市场需求稳定且转型灵活(可跨行业复用技能)两个岗位的协同将持续推动AI从实验室走向产业纵深,形成“基座创新→应用反馈→基座迭代”的技术发展路径。📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
投递强生等公司10个岗位
0 点赞 评论 收藏
分享
1️⃣自我介绍2️⃣项目拷打这一部分决定了面试官对于你经验的评估,项目的理解要深一些,这个只能通过不断打磨完善项目经历。✅微调项目:1.业务背景2.数据的构成,是否使用了合成数据3.训练的过程中用了什么方法(为什么用这样的方式,用别的方式会有什么问题,是否尝试过)4.如何评估整体的效果5.微调之后是否还会出现幻觉的问题,出现了的话应该怎么处理6.这个能力是否只能用在当前业务场景,是否可以作为一个通用的能力7.是否尝试过用其他的基座模型✅应用层项目:1.业务背景2.逻辑框架3.优化前和优化后的能力差距4.遇到最大的困难是什么?怎么解决的是否还有别的优化方式5.某个流程是否可以进行再优化6.上线之后的效果反馈3️⃣通识考察(1)Transformers 和之前的模型的区别,为什么 Transformers 好?(2)介绍下 Bert,框架,预训练和后续的微调任务?(3)为什么 Bert 适合做向量模型,底层原理是什么?(4)RoBERTa 做了什么优化?(5)想要大模型输出的内容都为 json 格式,怎么实现?(6)OOM 问题怎么处理(7)大模型的参数量是怎么计算出来的?(8)DeepSeek R1 的训练方式,GRPO 的原理是什么?(9)基于过程的强化学习和基于结果的强化学习的差异是什么?(10)Agent 的概念是什么?整体流程是怎么样的?(11)DeepSeek R1 对于 Agent 的能力是否有提升,如何进行运用?(12)RAG 的整体流程和评估方式?(13)如何解决 RAG 中信息覆盖率低、幻觉、逻辑计算的问题?(14)大模型的数据合成应该怎么做?有哪些方式?(15)DeepSpeed 的三个 stage 分别是什么?有什么作用?(16)模型并行和数据并行的区别是什么?这两种方式的数据流和梯度是怎么更新的4️⃣手撕代码✅算法代码:手写位置编码手写多头注意力机制Leetcode:零钱兑换最长递增子序列打家劫舍最长公共子序列跳跃游戏📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务