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

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

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


我某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 仅由数字和英文字母组成

  • 代码实现
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

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

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值