我为什么找不到实习(算法岗)

作者春招实习无果,反思原因。前期眼高手低,目标定得过高,项目和算法水平不足;后期刷题无条理、目标不明确。如今作者坚定搞算法的决心,打算设计学习路线,以长远目标为基准定下短期目标,认真学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        春招的金三银四已过,我依然颗粒无收。每日过得极其痛苦,早上睁眼就开始发愁找不到实习。现在反过来总结一下究竟为何。

症状分析:

眼高手低阶段(2018年夏~2019年3月):

        先说背景,我就读于北邮理学院数学系,机缘巧合搞了深度学习图像生成方面的研究。由于算法极其火工资又高,脑门一热心里一飘,总觉着自己将来是搞大项目的人,进BAT都是分分钟的事儿。简历目标很明确:图像算法;公司目标很明确:BAT等大厂;薪资目标很明确:实习低于5k不考虑。春招还没开始,投的都是内推。

        结果是,简历被腾讯百度美团旷视捞过,一面完后心存侥幸祈祷能中,实则天方夜谭白日做梦。被问到的项目很多答不上来,即使回答了的,也暴露水平。项目只懂皮毛,改改框架的水平而已,稍一深入,无论理论推导还是代码功底,都毫无招架之力。偶尔运气不错项目部分蒙混过关,最后还是卡算法,现场手写代码,就没完整的写出来过,算法水平真的太low了。

        真真实实地被按在地上摩擦。

        开始有些焦虑,怕找不到实习。又听别人说,找实习找工作,海投就完了,总会找到的。于是天真的想,每天投5个岗,一个月20天就能投100个岗,总有一两个小公司能中吧。

试错阶段(3月中旬~4月下旬):

        既然次次都被卡算法,那就好好搞算法呗。焦虑时间紧迫春招苦短的同时,安慰自己,将来总得搞明白算法,刷代码总是有用的,潜心好好刷LeetCode吧。于是我毫无规划地开始了刷题之旅,天天刷日日刷。

  • 第一错,刷题毫无条理

        刷题过程白痴的很,题都没读完,就按自己的理解先写个大概,写着写着才发现题目是另一个意思。写到一半思路捋不清楚了,就先运行看看哪出错了,然后再改,改到侥幸运行通过,长舒一口气。由于没有写注释的习惯,加上修修补补的过程,整个代码变量名定义的不清不楚,执行过程也乱糟糟。最终刷题刷到迷失自我,不知何为尽头。直接后果就是,大厂的线上笔试,简单的题目也做不出来。在修修改改反反复复的过程中,时间被浪费,直到考试结束。比如字节跳动笔试,2小时4道题,一道都没做出来。后来为了写博客记录,一道题一道题的把题目和问题分析敲上去,代码注释标清变量定义写好,4道题迎刃而解毫无难度。通过这次笔试,我再次意识到自己做事儿是多么没有章法没有条理。为什么是“再次”?除了写论文的时候被导师提醒,还有教训来自面试。

  • 第二错,目标不明确

        我在boss直聘上投的实习中,有一公司说我简历非常合适,要求尽快面试。我去了,当时因为找实习心切,我在面试中表示愿意从事任何与写代码相关的工作,对职业发展规划也模棱两可,加上项目算法没描述清楚。结果,面试半个小时就结束了,被微笑送客。凉凉。类似的事情还有,写了数据岗简历被看出有算法意向,被拒。

        目标不明确能怪我自己吗?不能,谁也不是天生目标明确的,总要尝试过才知道喜欢什么适合什么。现在我知道了,自己还是想搞算法靠技术吃饭,想让算法能解决一些实际问题。至于其他的什么产品运营管培,我实在不大擅长,相比于算法方面起点太低,算了算了。

总结:

        既然已经坚定了要搞算法,那就好好搞。时间还不算晚,认真学习来得及的。下一步,设计好学习路线,像当年考研一样,以长远目标为基准,定下短期目标。

### 大模型算法实习日常工作 大模型算法实习生的工作通常围绕着数据预处理、模型训练与调优展开。具体来说,在日常工作中,实习生会参与大规模语料库的清洗和准备过程[^2]。这包括去除噪声数据、标注数据集以及构建适合特定任务的数据管道。 对于像llama、glm或bloom这样的大型语言模型而言,其训练涉及复杂的分布式计算环境设置,需要理解并配置高性能GPU集群来加速训练进程。此外,还需要掌握如何调整超参数以优化性能表现,比如学习率调度策略的选择等。 在实际操作层面,实习生可能会被分配到具体的子项目上,负责某一模块的功能开发或是针对现有框架进行改进工作。例如,探索更高效的注意力机制设计方法,研究不同的标准化层(norm layers),或者是提升嵌入表示(embedding)的质量等方面的研究课题。 ### 手工实现算法的要求 当提到“手撕”算法时,这意味着候选人应该能够独立完成从理论推导到代码实现的过程而不仅仅依赖现成工具包中的函数接口。以下是几个关键能力: #### 数据结构与算法基础扎实 具备良好的编程习惯和技术栈积累,熟悉常用的数据结构如链表、树形结构及其遍历方式;精通基本排序查算法原理及应用场景分析。 #### 掌握核心机器学习概念 深入理解监督/无监督学习范式下各类经典预测建模技术背后的数学逻辑关系,特别是线性回归、决策树和支持向量机等内容,并能通过Python或其他高级脚本语言将其转化为可执行程序片段。 #### 实战经验不可或缺 拥有一定数量的真实案例练习经历非常重要,尤其是在自然语言处理领域内涉及到文本分类、情感倾向识别等问题解决过程中所运用的技术手段。下面给出一段简单的基于PyTorch的手动实现多层感知器(MLP)用于MNIST手写数字识别的例子作为参考: ```python import torch from torchvision import datasets, transforms from torch.utils.data import DataLoader transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]) trainset = datasets.MNIST('~/.pytorch/MNIST_data/', download=True, train=True, transform=transform) trainloader = DataLoader(trainset, batch_size=64, shuffle=True) class MLP(torch.nn.Module): def __init__(self): super().__init__() self.fc1 = torch.nn.Linear(784, 128) self.fc2 = torch.nn.Linear(128, 64) self.fc3 = torch.nn.Linear(64, 10) def forward(self, x): x = x.view(x.shape[0], -1) # Flatten the input tensor. x = torch.relu(self.fc1(x)) x = torch.relu(self.fc2(x)) x = self.fc3(x) return x model = MLP() criterion = torch.nn.CrossEntropyLoss() optimizer = torch.optim.Adam(model.parameters()) for epoch in range(5): running_loss = 0 for images, labels in trainloader: optimizer.zero_grad() output = model(images) loss = criterion(output, labels) loss.backward() optimizer.step() running_loss += loss.item() else: print(f"Epoch {epoch+1}: Training Loss: {running_loss/len(trainloader)}") ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值