本科生大厂算法岗实习经验复盘:从投递到面试的底层思维!

目录

    • 投递渠道
      • boss直聘
      • 官网
      • 邮箱内推
    • 面试准备
      • leetcode
      • 八股
      • 深挖项目
      • 自我介绍
      • mock
      • 面试技巧
      • 答不出来怎么办
      • coding
      • 反问
    • 复盘
    • 技术交流群
    • 用通俗易懂方式讲解系列

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学.

针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

汇总合集:

《大模型面试宝典》(2024版) 发布!

在这里插入图片描述


我的bg:985大三,nlp/llm/多模态方向,无论文无实习但项目比较多,相关知识基本都是自学,拿到了百度、字节、腾讯的算法实习 offer。不算国庆的话整个时间跨度大概三周。

我会按照倒序的方式分成两到三个部分来分享经验,包括投递和面试、简历和项目、学习路线和资料。这篇是第一部分,即投递和面试的部分。

这个部分是建立在你已经有一定相关知识基础和相关项目的基础上的,通过短期的突击和准备,能够在面试中发挥最大的效果。

关于怎么学习相关知识,怎么找项目,做项目我之后也会分享,可以关注一下我,也欢迎文末加入我们社群直接交流。

投递渠道

投递的渠道主要是boss直聘、官网投递、以及邮箱内推,其中大部分都是在 boss 上投递的。

boss直聘

优势:非常方便,点一下就能投递简历,可以直接和hr/算法老师直接沟通,比如我的 mentor 就是直接在 boss 上面招人,而且进度相对会推得比较快。

需要注意:在填写电子简历时,最好填写详细一些,因为对方直接看到的是你的电子简历,只有同意你发送简历后才能看到你的PDF简历。此外,可以设置自定义的投递申请语更好一些,比如将自己的学校、年级和技能点写入其中,会比默认的“我想了解一下xxx岗位的具体情况”更好一些。

类似的网站还有实习僧,但是体感算法实习岗位没boss多也没那么方便,所以我大部分就用的boss。

官网

比较麻烦,需要填很多东西,大部分都要做测评,像腾讯的甚至要做一两个小时。我怕麻烦所以就没怎么投官网的,只有boss上没有的公司才会去官网投。但官网投的好处就是能够很清晰地看到进度,以及挂了的话简历会重新流回池子里面,可能会有别的组捞起来。

邮箱内推

这个渠道也比较好,因为大部分都是算法老师本人在招,简历可以直接达组内邮箱。一般这种需求都比较急,所以通过的概率也比较大。可以关注一下AI求职这个公众号,以及知乎/小红书上的相关信息。(多搜一下就会给你推荐)

面试准备

leetcode

leetcode这部分不用特别担心,我也没刷多少(50道 ➡️ 找实习的时候一个星期七八十道),但是遇到的都做出来了。首先是题一般不会很难,基本都是easy或者medium;其次如果你前面面得不错这部分是不会为难你的,主要看的是思路和非常基础的代码能力。

如果像我一样时间紧迫的话,主要要熟悉数组、字符串、哈希、链表、二叉树、二分、动态规划和双指针这些常考题型就行,回溯和图之类的都可以放掉。具体可以刷leetcode hot100或者leetcode 75(我刷的是这个因为题比较少),按part刷,一开始可以先看答案理解一下套路,再多做几道类似的题巩固;有掌握不好的地方可以去看星主的《大模型面试宝典》相关part加深一下理解,这个题目比较多讲解也比较详细。

其实面试也不一定考 coding,考 coding 也不一定考 leetcode,我当时第一个面试的时候就刷了两天题就去面了,结果也没考算法题让我写了f1 score的计算过程。所以leetcode不用分配太多精力,也不用特别重视和焦虑,我反正是看八股看不下去了就做几道题放松心情这样子。

八股

八股大概可以分为:ml基础+领域知识+有可能会问 pytorch、huggingface、linux 等

如果是面dl岗位的话,机器学习基础可以不用复习得很深入,因为一般不太会问。重点可以放在通用概念上,比如过拟合、欠拟合、梯度爆炸和梯度消失等,其他像SVM和随机森林就可以不用看了。

领域八股可以看星主梳理的,特别详细;岗位jd可能也要求掌握特定的模型或者领域知识,可以针对性复习一下。

我当时是做一个文档来梳理对应的知识点,这个过程快的话两三天,慢的话一周就可以做得差不多;完成后在每次面试之前都重新回顾一遍进行复习,面试之后复盘也可以把不清楚的知识添加到文档中,不断完善自己的知识体系。

如果你也是nlp/大模型方向可以参考一下我的思路:

  • nlp 基础知识/模型
  • transformers
  • BERT
  • GPT
  • 大模型架构对比、常用PEFT方式
  • CoT、RAG、Hallucination、Agent等最新进展

我认为比较重要的就是 Transformers 一定要深入了解,因为就基本都会问,然后还应该清楚类似的不同模型之间的区别,以及这些区别可能带来的优劣势,比如 GPT 和 BERT 之间的差异。

总的来说,这部分也不用特别焦虑,因为大部分公司都不会狠狠拷打八股(除了字节),一般都是根据项目去进行延伸,所以把项目相关的知识给弄清楚就好了。

深挖项目

深挖项目这部分是最最重要的,因为其它问题都不一定会问,但是项目是一定会被问到的。

首先,按照这样的思路梳理项目:项目背景和目标(什么领域、需要解决什么问题、相关的工作有哪些) ,为了达成目标做了哪些工作(团队的工作+你的贡献) + 最终成果。

重点在于强调你的个人贡献,对于你参与的part一定要非常非常清楚,并且最好有深入的思考:为什么选择了这种模型而不是其他模型?做了哪些尝试和研究?有没有遇到什么问题?同时,对于其中涉及的知识点也应该按照准备八股那样深入了解。

即使项目并不是很 solid 也没有关系。比如,我的一个项目的部分根本没有evaluation,但是我提前进行了相关的调研,因此在面试官问到的时候我可以及时提出改进方法:“我了解到相关的评价指标有xxx,可以通过怎样的方式去做 evaluation,只是我们当时因为xx的原因没有做”。这样做可以让一个看似平平无奇的项目更具吸引力,同时也能展示你的理解和思考能力。因此,务必提前思考项目中的潜在问题,而不是直接承认不足。

最后,要特别准备一个你认为最出色、最具挑战性的项目。因为不同的面试官有不同的方式,有些可能会问到所有项目,而有些可能只会让你选择一个重要项目进行详细介绍。因此,选择一个你认为最出色的项目进行深入了解,投入更多精力准备,确保在每个面试官提问时都能自信应对。

自我介绍

自我介绍是仅次于项目的最重要部分,通常限定在一分钟左右。

首先,用一句话简洁地介绍自己,包括学校、年级、专业和方向。

然后,重点突出你的项目经验,一定要详略得当,不要重复简历内容。主要思路是:我在这个项目做了什么+提升了什么能力 (e.g. 我在伯克利的时候有一个xxx的nlp项目,主要积累了全流程的nlp项目经验,包括数据获取、数据处理、模型训练等),不用太长一句话就好。如果项目太多,可以选择三四个你认为最重要的来介绍,可以按照重要性或时间顺序来排序。

自我介绍需要非常非常熟练,因为它很大程度上决定了面试官对你的第一印象。你也可以通过这个part着重强调某些项目,来引导面试官进入你想讨论的话题。

mock

当你所有都准备得差不多的时候,就可以找人帮你mock啦。这一步也非常关键,因为可以通过他人的视角来发现一些你自己没有察觉到的问题。可以找同学也可以找经验比较丰富的学长学姐,或者找小红书/海鲜市场的付费咨询,这里就不做广告了。

总之,mock帮我发现了两个非常重要的问题:

  1. 自我介绍太长,没有重点,基本就是在念简历(后面就改成上述的一分钟的形式)
  2. 当回答自己不太清楚的问题时,我的答案没有清晰的逻辑体系,缺乏系统的问题分析思路。在意识到这两个问题并针对性改进后,我对面试更加自信了,整个面试水平也有了一定的飞跃。

面试技巧

最重要的就是不要紧张,不要当作是在考试或者面试官在审判你,大部分面试官都是很nice的,所以把面试当成一次和大厂算法工程师友好的交流和展示自己的机会就好啦。如果真的很紧张,可以在面试之前做几道题,或者重新过一下简历和自我介绍来warm up,缓解一下紧张的情绪。

另外,一面的面试官很大可能是你之后的 mentor,所以不妨在面试官观察你的同时也通过他问的问题观察一下面试官,看看他的水平怎么样,毕竟一个好的 mentor 对于你的实习体验是很重要的。

答不出来怎么办

首先不要慌张,如果有相关的熟悉的领域可以说“我不太清楚xxx,但是我知道xxx”把面试官引导到自己熟悉的领域上。

如果是比较泛的问题可以采用一个系统的思路,从数据处理 → 模型结构 → 模型训练 → 评估这样的角度去回答,比如如果被问到怎么避免梯度消失,或者怎么优化你的模型就可以用这样的思路。

实在不知道的话,就老实地不知道,本来我们也不可能什么都知道嘛。只要基础知识了解得足够清楚,也不会因为一两个问题不会就刷掉你的。

coding

首先不要急着写,先和面试官交流清楚对题目的理解,比如有没有边界条件,需不需要自己写类和用例等等;交流之后再开始构思解题思路,有了清晰地思路后,再次与面试官沟通,确认自己的思路是正确的。最后一步才是写代码,写完之后,最好自己写几个用例测试一下。

总之就是不要闷头就写,注重与面试官的交流,因为他其实更关注的是你的思路;如果写不出来没事,跟面试官交流一下自己当前的想法,再寻求一点提示,一般他们都是很愿意给你帮助的。

反问

这里其实非常重要,千万不要说“我没有问题了”,这样可能会显得你对这个岗位没有兴趣然后挂掉。而且如果前面的面试表现不好,通过这个环节也有可能挽回一些局面。分享我常问的几个问题:

  • 介绍一下你们组的业务方向和主要项目
  • 实习生的工作内容
  • 我有什么需要改进的地方吗?

问题1、2和你在公司的工作内容和体验息息相关,一定要提前了解清楚。通过面试官的回答,你可以大概知道他们是做什么的,你感不感兴趣,有没有dirty work,对实习生的培养如何,这也会成为你之后选择offer的一个重要因素。问题3是一个含蓄问面评,可以看到面试官的态度,其次也能知道自己哪里表现得好哪里表现得不好,方便之后复盘。

复盘

最后就是复盘部分,每次面试之后,最好总结一下自己表现好和不好的地方,对于没答上来的问题,应该查漏补缺,深入了解相关知识,以便在下次面试中更好地应对类似问题。如果是项目不清楚,也要去进一步深挖和熟悉项目细节。

通过不断的复盘和改进,每次面试都能有新的收获,逐渐提升自己的面试技能,使自己越来越得心应手,离获得offer的目标也会越来越近。

投递和面试部分大概就是这样啦,谢谢你看到这里,也祝你早日拿到offer!

技术交流群

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

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

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

用通俗易懂方式讲解系列

  • 用通俗易懂的方式讲解:自然语言处理初学者指南(附1000页的PPT讲解)
  • 用通俗易懂的方式讲解:1.6万字全面掌握 BERT
  • 用通俗易懂的方式讲解:NLP 这样学习才是正确路线
  • 用通俗易懂的方式讲解:28张图全解深度学习知识!
  • 用通俗易懂的方式讲解:不用再找了,这就是 NLP 方向最全面试题库
  • 用通俗易懂的方式讲解:实体关系抽取入门教程
  • 用通俗易懂的方式讲解:灵魂 20 问帮你彻底搞定Transformer
  • 用通俗易懂的方式讲解:图解 Transformer 架构
  • 用通俗易懂的方式讲解:大模型算法面经指南(附答案)
  • 用通俗易懂的方式讲解:十分钟部署清华 ChatGLM-6B,实测效果超预期
  • 用通俗易懂的方式讲解:内容讲解+代码案例,轻松掌握大模型应用框架 LangChain
  • 用通俗易懂的方式讲解:如何用大语言模型构建一个知识问答系统
  • 用通俗易懂的方式讲解:最全的大模型 RAG 技术概览
  • 用通俗易懂的方式讲解:利用 LangChain 和 Neo4j 向量索引,构建一个RAG应用程序
  • 用通俗易懂的方式讲解:使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA
  • 用通俗易懂的方式讲解:面了 5 家知名企业的NLP算法岗(大模型方向),被考倒了。。。。。
  • 用通俗易懂的方式讲解:NLP 算法实习岗,对我后续找工作太重要了!。
  • 用通俗易懂的方式讲解:理想汽车大模型算法工程师面试,被问的瑟瑟发抖。。。。
  • 用通俗易懂的方式讲解:基于 Langchain-Chatchat,我搭建了一个本地知识库问答系统
  • 用通俗易懂的方式讲解:面试字节大模型算法岗(实习)
  • 用通俗易懂的方式讲解:大模型算法岗(含实习)最走心的总结
  • 用通俗易懂的方式讲解:大模型微调方法汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

猫头虎分享已解决Bug || Null Pointer Exception: `java.lang.NullPointerException`

猫头虎分享已解决Bug || Null Pointer Exception: java.lang.NullPointerException 😺🐯 关于猫头虎 大家好,我是猫头虎,别名猫头虎博主,擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程…

嵌入式学习——数据结构(双向无头有环链表、内核链表、栈)——day48

1. 约瑟夫环问题——双向无头回环链表 1.1 问题描述 给定 ( n ) 个人(编号为 ( 1, 2, \ldots, n )),他们围成一个圈。从第一个人开始报数,每报到第 ( k ) 个人时,杀掉这个人,然后从下一个人重新开始报数。…

【Git】 -- Part1 -- 基础操作

1. Git简介 Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年开发,主要用于源代码管理。Git 允许多名开发者共同合作处理同一个项目,跟踪每个文件的修改,并且在必要时回滚到之前的版本。 Linus Torvalds是Linux…

面试突击:深入理解 Java 中的异常

本文已收录于:https://github.com/danmuking/all-in-one(持续更新) 前言 哈喽,大家好,我是 DanMu。今天想和大家聊聊 Java 中的异常。异常处理是一种重要的概念,因为程序总是会出现各种意料之外的问题&…

通过xml配置实现数据动态导入导出Excel

spring-dj-excel-common.jar 一个可以通过动态配置 xml 建立 Excel 与数据关系现实数据导入导出的 spring 组件包,在 xml 配置文件里,你可以很方便的定义 Excel - sheet 表列头文本与数据表、数据实体属性的对应关系,对于创建 Excel 文件&…

尽管担任社长 宫崎英高95%时间还是在做游戏

宫崎英高表示,虽然他是 FromSoftware 工作室的社长,但他日常工作的绝大部分时间都是在指导游戏开发。因魂系列大获成功而成为 FromSoftware 社长的宫崎英高在接受《卫报》采访时表示,企业高管生活并不是他的兴趣所在。 “我喜欢帮助年轻的监督…

cesium for unity 打包webgl失败,提示不支持

platform webgl is not supported with HDRP use the Vulkan graphics AR instead.

Linux-PXE批量安装

一、部署 PXE 远程安装服务 在大规模的 Linux 应用环境中,如 Web 群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的 USB光驱、移动硬盘等安装方法显…

双向滑动选择器

插件地址:https://ext.dcloud.net.cn/plugin?id3940 注意: 当改变值是,让滑块自动滑动需要调用: this.$refs.powerSlider.updateValue(that.tempPowerValue[0], that.tempPowerValue[1], false); <view style"width: 90%;margin: 15px"><cj-slider ref…

CAS Apereo 5.3.16 实现单点登录

1.CAS部署 服务端下载地址&#xff1a;cas5.3 1.下载好打开后&#xff0c;复制target/cas/WEB-INF/classes/META-INF/spring.factories target/cas/WEB-INF/classes/services下的Apereo-10000002.json和HTTPSandIMAPS-10000001.json target/cas/WEB-INF/classes下的applicati…

挑战Midjourney,融合近百个SD大模型的通用模型AlbedoBase XL

在SDXL的通用模型中&#xff0c;DreamShaperXL和juggernautXL这2款大模型一直都深受广大AI绘画者的喜爱&#xff0c;不可否认&#xff0c;这2款通用模型在很多方面表现都相当出色。 今天再给大家介绍一款基于SDXL的通用大模型&#xff1a;AlbedoBase XL&#xff0c;作者的目标…

iTextSharp 绘制pdf

一、新建项目&#xff1a;pdfdemo <ItemGroup><PackageReference Include"iTextSharp.LGPLv2.Core" Version"3.4.20" /> </ItemGroup>二、HomeController.cs using iTextSharp.text; using iTextSharp.text.pdf; using Microsoft.AspN…

UWA发布 | Unity手游性能年度蓝皮书

UWA本次发布的《2023-2024年度Unity手游性能蓝皮书》将汇总游戏行业使用Unity引擎进行手游开发过程中及游戏上线后的性能表现&#xff0c;从测试机型分布、引擎各模块开销、内存占用等方面剖析定位Unity手游性能瓶颈和趋势&#xff0c;反映了Unity手游行业的现状&#xff0c;帮…

【会议征稿,JPCS出版】第三届电力系统与能源技术国际学术会议(ICPSET 2024,7月5-7)

第三届电力系统与能源技术国际学术会议&#xff08;ICPSET 2024&#xff09;将于2024年7月5-7日在杭州举办。由浙江水利水电学院电机产业学院主办&#xff0c;AEIC学术交流中心承办&#xff0c;湖州市南浔创新研究院、南浔区科技局&#xff08;科协&#xff09;协办 。会议主要…

回溯算法练习题(2024/6/18)

1全排列 II 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,…

rollup学习笔记

一直使用的webpack,最近突然想了解下rollup,就花点时间学习下. 一,什么是rollup? rollup 是一个 JavaScript 模块打包器&#xff0c;可以将小块代码编译成大块复杂的代码,比如我们的es6模块化代码,它就可以进行tree shaking,将无用代码进行清除,打包出精简可运行的代码包. 业…

【Java基础】

Java基础常见面试题总结(上) 基础概念与常识 Java 语言有哪些特点? 简单易学(语法简单,上手容易);面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程…

vue elementui table给表格中满足条件的每一条记录添加计时器

需求&#xff1a; 在前端给表格中给满足条件的每一条记录增加一个计时器&#xff0c;用于计算工作时长。 1.数据库中存储的有每条记录的作业开始时间&#xff0c;将当前时间和作业开始时间计算一个差值&#xff0c;作为作业时长的初始值&#xff1b; 2.把满足条件的每条记录绑…

Java中对象的比较

1. 对象的比较 在Java中&#xff0c;基本类型的对象可以直接比较大小&#xff0c;而自定义类型却不能 class Card {public int rank; // 数值public String suit; // 花色public Card(int rank, String suit) {this.rank rank;this.suit suit;}}public class TestPriori…

2008-2022年 全国31省-环境污染综合指数

环境污染综合指数是一个衡量环境污染程度或环境质量等级的抽象概括数值。它能够综合反映不同环境要素的污染情况&#xff0c;例如水污染指数和大气污染指数等。环境空气质量综合指数&#xff08;Air Quality Index, AQI&#xff09;是专门用来描述城市环境空气质量状况的一个指…