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

目录

    • 投递渠道
      • 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,我搭建了一个本地知识库问答系统
  • 用通俗易懂的方式讲解:面试字节大模型算法岗(实习)
  • 用通俗易懂的方式讲解:大模型算法岗(含实习)最走心的总结
  • 用通俗易懂的方式讲解:大模型微调方法汇总

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

30 - 每位经理的下属员工数量(高频 SQL 50 题基础版)

30 - 每位经理的下属员工数量 -- 根据reports_to ,获取employee_id,即分组用e1.reports_to,查询用e2.employee_id,e2.nameselect e2.employee_id,e2.name ,count(e1.reports_to) reports_count,round(avg(e1.age),0) average_age from Employees e1 left…

Springboot应用的信创适配-补充

Springboot应用的信创适配-CSDN博客 因为篇幅限制,这里补全Spring信创适配、数据库信创适配、Redis信创适配、消息队列信创适配等四个章节。 Springboot应用的信创适配 Springboot应用的信创适配,如上图所示需要适配的很多,从硬件、操作系统、…

【Linux基础IO】深入理解缓冲区

缓冲区在文件操作的过程中是比较重要的,理解缓冲区向文件刷新内容的原理可以更好的帮助我们更深层的理解操作系统内核对文件的操作。 FILE 因为IO相关函数与系统调用接口对应,并且库函数封装系统调用,所以本质上,访问文件都是通过…

国内外大模型生态发展报告!

很多同学只知类似Check GPT或者说对国内的一些比较了解,对国外的不太了解,所以在这总结。 1 大模型的发展 左表 名称参数特点发布时间GPT-215亿英文底模,开源2019年Google T5110亿多任务微调, 开源2019年GPT-3.51750亿人工反馈微调2022年M…

Django 循环模板标签

1&#xff0c;循环模板标签 Django 模板系统中提供了多种循环模板标签来迭代数据并显示列表、字典或其他可迭代对象。 1.2 {% for %} 标签 用于迭代列表或可迭代对象&#xff0c;并为每个元素提供上下文变量。 {% for item in items %}{{ item }} <!-- 渲染当前迭代项 -…

第二次IAG

IAG in NanJing City 我与南京奥体的初次相遇&#xff0c;也可能是最后一次&#xff01; 对我来说,IAG 演唱会圆满结束啦! 做了两场充满爱[em]e400624[/em]的美梦 3.30号合肥站&#xff0c;6.21号南京站[em]e400947[/em] 其实&#xff0c;没想到昨天回去看呀!(lack of money […

docker简单快速使用上手

1.Docker是什么&#xff1f; Docker 是一个开源的容器化平台&#xff0c;主要用于开发、运输和运行应用程序。它通过提供轻量级的虚拟化机制&#xff0c;使得开发者可以在一个隔离的环境中运行和管理应用程序及其依赖项。Docker 的核心组件包括镜像&#xff08;Image&#xff…

数据库浅识及MySQL的二进制安装

数据库基础概念与MySQL二进制安装与初始化 使用数据库的必要性 数据库可以结构化储存大量数据信息&#xff0c;方便用户进行有效的检索访问 有效的保持数据信息的一致性&#xff0c;完整性&#xff0c;降低数据冗余 可以满足应用的共享和安全方面的要求 数据库基本概念 数据…

Redis学习|Redis 是什么、Redis 能干嘛、Window安装Redis、Linux下安装Redis、Redis测试性能

Redis 是什么? Redis(Remote Dictionary Server)&#xff0c;即远程字典服务! 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API. redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记…

C++:STL容器-map

C:STL容器-map 1. map构造和赋值2. map大小和交换3. map插入和删除4. map查找和统计5. map容器排序 map中所有元素都是pair&#xff08;对组&#xff09; pair中第一个元素为key&#xff08;键&#xff09;&#xff0c;起到索引作用&#xff0c;第二个元素为value&#xff08;实…

揭秘古代手术工具与技术:从中国起源的医疗奇迹

在人类历史的长河中&#xff0c;医学的发展一直是推动社会进步的重要力量。而手术作为医学的一个重要分支&#xff0c;其发展历程同样充满了传奇色彩。今天&#xff0c;我们将带您走进古代手术的世界&#xff0c;揭秘那些令人惊叹的手术工具和技术。 这把手术刀出土于河北西村遗…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇入口切换SMB共享WMI管道DCOM组件Impacket套件CS插件

红队内网攻防渗透 1. 内网横向移动1.1 WMI进行横向移动1.1.1 利用条件:1.1.1 利用详情1.1.1.1 wmic1.1.1.1.1 正向shell上线1.1.1.1.2 反向shell上线1.1.1.2 cscript(不建议使用)1.1.1.3 wmiexec-impacket1.1.1.4 cs插件1.2 SMB横向移动1.2.1 利用条件:1.2.2 利用详情1.2.2…

java中Object和json相互转换的方式

1.org中jackson转换json,springboot中内置jackson ObjectMapper onew ObjectMapper(); List<>listnew ArrayList(); String jonso.writeAsValueString(list); 2.alibaba中fastjson转换成json GetMapping("/test")public TbUser testHttpClient(){String url…

BFS:解决最短路问题

文章目录 什么是最短路问题&#xff1f;1.迷宫中离入口最近的出口2.最小基因变化3.单词接龙4.为高尔夫比赛砍树总结 什么是最短路问题&#xff1f; 最短路问题是图论中的经典问题&#xff0c;旨在寻找图中两个节点之间的最短路径。常见的最短路算法有多种&#xff0c;这次我们…

计算机组成原理 | 硬件电路整理

计算机组成原理 | 硬件电路整理 桶形移位器原理图 全加器逻辑框图 多位可控加减法电路逻辑框图 可级联的4位先行进位电路 4位快速加法器 16位组内并行、组间并行加法器 实现原码一位乘法的逻辑框图 补码一位乘法的逻辑框图 无符号数阵列乘法器 原码不恢复余数法硬件逻辑框图 基…

代码随想录第31天|贪心算法

134. 加油站 参考 思路: 以每个油站相差作为判断, 比如: gas [5 8 2 8]cost [6 5 6 6] [-1 3 -4 2]错误 : 把相差最大点当作起点判断能否绕一圈 : 相加数组是否小于0局部最优: 当前累加rest[i]的和curSum一旦小于0&#xff0c;起始位置至少要是i1&#xff0c;因为从i…

中国信通院专访镜舟科技:开源商业化走了多远?

据《2023 中国开源发展蓝皮书》显示&#xff0c;随着数字化转型的深入&#xff0c;开源生态在去年快速发展&#xff0c;开源商业化的模式也逐渐成型。镜舟科技作为开源商业化的先行者&#xff0c;也在技术创新和商业拓展中稳步增长。 日前&#xff0c;中国信息通信研究院&…

【Gradio】如何设置 Gradio 数据框的样式

简介 数据可视化是数据分析和机器学习的关键方面。Gradio DataFrame 组件是一种流行的方式&#xff0c;在网络应用程序中显示表格数据&#xff08;特别是以 pandas DataFrame 对象的形式&#xff09;。 本文将探讨 Gradio 的最新增强功能&#xff0c;这些功能允许用户整合 pand…

21.智能指针(上)

目录 一、概念二、Box\<T\>2.1 概念与应用场景2.2 简单应用2.3 递归类型的创建 三、通过Deref trait将智能指针当作常规引用处理3.1 常规引用3.2 像引用一样使用Box\<T\>3.3 自定义智能指针3.4 函数和方法的隐式解引用强制转换3.5 解引用强制转换与可变性交互 四、…

WPF文本绑定显示格式StringFormat设置-数值类型处理

绑定显示格式设置 在Textblock等文本控件中&#xff0c;我们经常要绑定一些数据类型&#xff0c;但是我们希望显示的时候能够按照我们想要的格式去显示&#xff0c;比如增加文本前缀&#xff0c;后面加单位&#xff0c;显示百分号等等&#xff0c;这种就需要对绑定格式进行处理…