面了美团大模型算法工程师,这次侥幸通过了!

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

今天我介绍一位很励志的同学,分享给大家他面试算法岗的面试题,希望对后续找工作的有所帮助。喜欢记得点赞、收藏、关注。更多技术交流&面经学习,可以文末加入我们交流群。


我某985研二,目前已获得美团大厂实习 offer,本文章主要记录了研找实习的坎坷历程,希望对大家有帮助!!!

1. 自我介绍

在自我介绍环节,我清晰地阐述了个人基本信息、教育背景、工作经历和技能特长,展示了自信和沟通能力。

2. 技术问题

2.1 如何解决过拟合和欠拟合?

  • 过拟合(Overfitting):

  • 增加数据量:通过增加训练数据来减少模型对特定数据的过度拟合。

  • 简化模型:减少模型的复杂度,可以通过减少特征数量、降低多项式次数等方式。

  • 正则化:引入正则化项,如L1或L2正则化,以惩罚模型复杂度。

  • 欠拟合(Underfitting):

  • 增加特征:添加更多有意义的特征,提高模型的表达能力。

  • 增加模型复杂度:选择更复杂的模型,如增加层数、节点数等。

  • 减小正则化:减小正则化的程度,以允许模型更好地适应数据。

2.2 L1正则化和L2正则化的区别?

  • L1正则化:

  • 增加的正则化项为权重向量的绝对值之和。

  • 促使模型参数变得稀疏,即某些权重变为零,从而实现特征选择的效果。

  • L2正则化:

  • 增加的正则化项为权重向量的平方和。

  • 通过减小权重的同时保持它们都非零,对权重进行平滑调整。

  • 区别:

  • L1正则化倾向于产生稀疏权重,对于特征选择有利;

  • L2正则化则更倾向于在所有特征上产生较小但非零的权重。

2.3 介绍一下 RAG?

检索增强 LLM ( Retrieval Augmented LLM ),简单来说,就是给 LLM 提供外部数据库,对于用户问题 ( Query ),通过一些信息检索 ( Information Retrieval, IR ) 的技术,先从外部数据库中检索出和用户问题相关的信息,然后让 LLM 结合这些相关信息来生成结果。

2.4 RAG 解决了哪些问题?

  1. 长尾知识: 对于一些相对通用和大众的知识,LLM 通常能生成比较准确的结果,而对于一些长尾知识,LLM 生成的回复通常并不可靠。

  2. 私有数据: ChatGPT 这类通用的 LLM 预训练阶段利用的大部分都是公开的数据,不包含私有数据,因此对于一些私有领域知识是欠缺的。

  3. 数据新鲜度: LLM 通过从预训练数据中学到的这部分信息就很容易过时。

  4. 来源验证和可解释性: 通常情况下,LLM 生成的输出不会给出其来源,比较难解释为什么会这么生成。而通过给 LLM 提供外部数据源,让其基于检索出的相关信息进行生成,就在生成的结果和信息来源之间建立了关联,因此生成的结果就可以追溯参考来源,可解释性和可控性就大大增强。

2.5 RAG 中包含哪些关键模块?

  • 数据和索引模块

  • 查询和检索模块

  • 响应生成模块

2.6 RAG检索召回率低,一般都有哪些解决方案?

2.7 对比一下 RAG vs SFT ?

3. Leetcode 题

具体题意记不清了,但是类似 【5. 最长回文子串】

  • 题目内容

给你一个字符串 s,找到 s 中最长的回文子串。

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

示例 1:

输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。示例 2:

输入:s = "cbbd" 输出:"bb"

提示:

1 <= s.length <= 1000 s 仅由数字和英文字母组成

  • 代码实现
python 复制代码
class Solution:
    def longestPalindrome(self, s: str) -> str:
        if not s or len(s) < 1:
            return ""
        start = 0
        end = 0
        for i in range(0,len(s)):
            len1 = self.expandAroundCenter(s,i,i)
            len2 = self.expandAroundCenter(s,i,i+1)
            s_len = len1 if len1>=len2 else len2
            if s_len > end-start:
                start = i - math.floor((s_len-1)/2)
                end = i + math.floor(s_len/2)
        return s[start:end+1]
    
    def expandAroundCenter(self,s,left,right):
        while left>=0 and right<len(s) and s[left] == s[right]:
            left = left - 1
            right = right + 1
        return right - left - 1

技术交流

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了算法岗面试与技术交流群, 想要进交流群、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、微信搜索公众号:机器学习社区 ,后台回复:技术交流

方式②、添加微信号:mlc2060 ,备注:技术交流+CSDN

用通俗易懂的方式讲解系列

相关推荐
陈广亮6 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬7 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia7 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区7 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两10 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪10 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat2325510 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源
程序员打怪兽10 小时前
详解Visual Transformer (ViT)网络模型
深度学习
王鑫星10 小时前
SWE-bench 首次突破 80%:Claude Opus 4.5 发布,Anthropic 的野心不止于写代码
人工智能