Redian新闻
>
心路历程 | 非科班博士转码通关上岸后的经验之谈

心路历程 | 非科班博士转码通关上岸后的经验之谈

教育

这几天无意中在力扣社区发现了一篇很有意思的文章,结合最近很多扣友都会来问“我想要转行程序员,到底应不应该?”的类似问题,所以就想着分享一下,希望这个文章案例,能够给大家一些思考和启发,欢迎积极讨论。

简介

楼主是凝聚态物理博士,2021.3 月开始准备转码,2021 年底拿到了机器学习(计算机视觉)的 offer,目前博士毕业,准备7月赴上海入职。

相信力扣上有不少小伙伴和我一样,是非科班选手,并且希望转码,这里我为大家分享一下我的转码经历,作为参考。


动机

我 12 年开始读本科,专业是应用物理。16 年本科毕业开始攻读博士学位,专业是凝聚态物理,研究方向偏材料。本科和博士都在北京航空航天大学。

转码之前,我计算机方面的知识相对薄弱。具体来说,大一上过一学期的 C 语言课程。博二的时候,为了处理数据,自学了一点 python。博三的时候,为了开展科研,自学了一点 C++,开发了一套几千行的程序。总体来说,除了 python 和 C++ 的一些基础知识之外,一穷二白,计算机基础四大件也完全没学过。

为什么会萌生转码的念头呢?

1、我的科研成果一般。4 篇 SCI 一作虽然毕业绰绰有余,但是想找到一份体面的科研工作(进研究所或者高校),非常困难。

2、博士方向的薪资水平一般。

3、自己对写代码比较感兴趣。一方面。自己在科研过程中写代码感觉挺开心的;另一方面,实验室里有硕士师弟在刷力扣,自己跟着试了一下,发现也挺有意思。

转码经历
总的来说,我的转码历程主要包括以下几个阶段:开转(没有具体目标)-> 后端开发 -> 机器学习 -> 求职 -> 拿到 offer 之后。

阶段 1:起步(2021.3 ~ 2021.4)

我是 2021 年 3 月开始转码的,当时还没有明确的目标,不知道到底要从事哪方面的工作,只是单纯的刷刷力扣。

还记当年刚开始刷题,就遇到了新人杀手——三数之和,做了一个上午,历经无数报错和超时,才在下午两点成功通过,中饭都没吃上。那天累计有 132 次提交,这个数字直到现在都未曾被自己超越…

刷了一个月,差不多有五、六十题吧,对象就开始鼓励我投简历,找实习。

想想当时也真是初生牛犊不怕虎,投了华为。笔试只做出来一道 easy 题,过了。一面算法题二叉树的最大深度,面试前一天刚好刷过,当时给我激动得够呛,一面顺利通过了。二面算法题需要用到回溯的知识,当时还没学到,没做出来,虽然和面试官相谈甚欢(自我感觉),最后还是没有悬念的挂了。

过了两周,又试着投了腾讯的引力计划(一个面向非科班同学的实习计划),一面就直接凉了。

总而言之,作为一个普普通通的转码选手,没有任何奇迹发生,开局直接跪,就是这么真实。没关系,哪里跌倒哪里爬起来,接着干!

阶段 2:确定方向:后端开发(2021.5 ~ 2021.7)

之前我有提到,虽然我想转码,但是没有明确的方向。上次腾讯面试虽然惨败而归,不过面试官问了我很多计算机基础四大件的问题(计网、计组、操作系统),我当时感觉还挺有兴趣(也可能是因为被无情淘汰,有点不服气),所以那次面试间接帮我确定了转码的方向——后端开发。

确定了方向之后,我重新制定了学习计划,一方面,力扣还得接着刷,另一方面,我也开始恶补计算机基础(数据结构、计网、计组、操作系统)。说来也不怕大家笑话,我那段时间一直在 B 站上看王道考研的视频(这里不是打广告,这个课确实比较适合非科班转码的朋友补基础知识)。实验室里几个玩的比较好的硕士师弟还一老调侃我,说你一个五年级的老博士了,还天天搁这考研。我说老骥伏枥志在千里。

刚开始学四大件,还挺有热情的,但是几周之后,热情就开始慢慢消退了。其一在于,要背的东西实在太多了,缺乏实操的情况下,上周刚学的内容,这周就忘了,非常有挫败感(没错,说的就是你,计网!);其二在于,学习书本知识和我日常的工作状态差异较大,博士以看论文,想创新点,做实验为主,抱着书本狂啃的经历相对而言比较少,所以有点不适应了。

计网、计组、操作系统虽然学习进展很慢,但是刷题一直没落下,基础的数据结构(哈希表、二叉树、图等)、和算法(回溯、二分、动态规划等)混了个眼熟,题量也差不多到了 200。

2021 年 5 月,抱着试一试的心态,我打了第一次周赛,嗯,光荣的一题选手!定级 1507 分,我这个就是完完全全的大众水平啊有木有,不像那些天才选手,随便打几场 knight 了,再打几场 guardian 了,所以感觉我的经历还是挺有参考价值的哈哈。

阶段 3:切换方向:机器学习(2021.8 ~ 2021.9)

之前说到发现自己没有那么喜欢搞后端。8 月放暑假在家赋闲,一次偶然的机会,在 B 站(没错又是 B 站,B 站上的学习资料真的是无穷无尽!)刷到了一些机器学习的应用视频,觉得哇塞好厉害,居然还有这种神仙操作,就开始研究起机器学习了。

最开始,为了图快,刷了几个短系列(几个小时的速成课程),学了又好像没学,感觉没摸着门道。

直到我开始刷吴恩达老师的系列课程(20 小时起步的那种),才打开了新世界的大门。吴恩达老师讲的非常清晰,循序渐进,而且浅显易懂,对非科班选手来说很友好。他有一门机器学习和一门深度学习的课(都是免费的!),如果感兴趣的话可以先学前者再学后者。

吴恩达老师的课虽然讲的很精彩,但是偏理论,如果只上他的课,会发现缺乏实践能力,而且课程比较老,16 年之后的研究成果就讲的比较少了。后来,我又在 B 站发现了两个宝藏:李沐老师和李宏毅老师!前者是亚马逊的大佬,后者是台大的老师,李沐老师有一个《动手学深度学习》的系列课程,手把手教你怎么写神经网络;李宏毅老师则讲了很多相对前沿的研究成果,而且同样通俗易懂。

暑假在家的一个月时间里,我就在几个老师的轮番栽培下,快速成长。

当然刷题也没落下,随着题量的不断积累(差不多 400 题),我也逐渐从 1500 分的一题选手,成长为保 2 争 3 的 1700 分选手了✌

阶段 4:屡战屡败的求职之路(2021.10 ~ 2021.12)

在醉心机器学习的过程中,我完全将求职的事抛诸脑后,总感觉自己学的还不够,想准备充分一点再投简历,所以完美错过了 8 月 9 月的求职旺季(虽然不错过其实拿到 offer 的机会也不大,哈哈)

后来我对象实在看不下去了,开始每天不厌其烦地催我投简历。于是我正式开启了我的求职之路。

现在回想起来,那真是一段压抑的时光。没有深度学习方面的顶会论文,也没有实习经历,靠着 985 的背书,和几篇物理方向的一作 paper,想拿到深度学习的 offer 简直是难如登天。。。

投了很多企业,一部分简历被拒,偶尔倒在笔试上,大部分时候倒在一面,因为每当面试官问我项目经历时,都乏善可陈,这注定了面试结果的悲剧。

后来我开始思考如何能够改变被动的局面,显然需要针对上述问题下手。

于是我开始尝试着去 kaggle 上打一些非常简单,对硬件需求不高的小比赛,虽然往往名次一般,但是好歹可以写在简历上了;然后跟着李沐老师写了一个简单的 SSD(目标检测网络),并且学习了相关网络(RCNN 系列、YOLO 系列等)的知识,在面试的时候总算不至于乏善可陈了。除此之外,在之前的一些失败面试中,我发现实际的工程能力也是面试官比较看重的,所以我也学习了一下 git 的使用,作为锦上添花。

当然,即使做了上面这些,我仍然在不断地经历一次又一次的面试失败。

等到 11 月底,仍然颗粒无收的我的情绪已经非常沮丧了,一度想要放弃转码,滚回去做博后了,结果 11 月底突然收到了一家公司的二面通知,在一周之后又收到了三面通知,最后神奇的通过了!就是来的这么突然,让人没有一点点防备。

后来谈薪环节,hr 开出的工资是博后的两倍,我没有任何 argue,直接同意,签了三方,结束了我的求职之路。

求职这段时间,为了补项目,刷题就比较少了,周赛也没怎么打,这也导致了一些笔试翻车的情况出现。大家不要学我,求职的时候题不能停。

阶段 5:天梯慢慢爬(2022.1 至今)

拿到 offer 之后,整个人的状态就轻松多了,再加上毕业季也没有那么忙了,所以刷题也可以继续保持。不知不觉中,题量就慢慢涨到了 700,心态放平之后,竞赛分也从 1700+ 涨到了 2000+,希望有朝一日能上个 guadian 吧~

这里分享两个周赛上分的方法:

(1) 你现在周赛多少分,就去刷比你自己高 100~200 分的题,题目对应的分数可以参考 zerotrac 的分享,感谢大佬。

https://leetcode.cn/circle/discuss/iKFgik/

(2) 对于想冲击四题的三题选手,可以针对性的练一下第四题,我之前发过一个帖子,统计了最近半年第四题的标签,对于出现频率较高的标签,可以重点关照,搭配方法(1)使用,上分事半功倍

https://leetcode.cn/circle/discuss/ffEMhm/
求职经验
经历了多次面试,我也积累了一些经验教训,抛砖引玉,和大家分享一下。

(1) 知己知彼

知己包括两方面,一方面要知道自己喜欢什么(求职意向);一方面要知道自己擅长什么(能力)。

知彼,要换位思考用人单位需要什么。一方面可以从 job description 上知道岗位的职责,然后把自己的项目经历和技能尽可能地往岗位职责上靠拢;一方面可以多跟面试官或者过来人聊一聊有哪些用人单位比较需要,但是应届毕业生却往往不具备的能力,可以着重强化一下,作为你的闪光点。

就拿我个人来说,虽然我在机器学习方面的项目经验在很多计算机科班同学眼里不值一提,但是我作为物理选手,可能数理基础会相对而言好一点;此外,我作为博士,接受了完整的科研训练,发表了几篇 Q1 区的 paper,虽然不是计算机方向,但至少表明我掌握了科研的泛式;而且,机器学习和代码方面完全是自学的,说明我对这方面比较感兴趣,而且自驱力比较强。以上这些可能是我最终拿到 offer 的原因(我猜的,也有可能单纯因为公司缺人)。

(2) 保持信心,多投简历

很多时候,没有拿到 offer,不是因为你不优秀,而是因为你的能力、经验与应聘岗位的匹配度不高,所以不要因为几次的失败就妄自菲薄。多投简历,多尝试,总有机会能撞上一个和你匹配度比较高的岗位!

(3) 保持刷题

除了投过的两家国企不用手撕代码之外,面试的所有其他企业都是要手撕代码的。所以一定要多刷题,保持手感,而且要保证自己的一次性正确率,因为在面试过程中,由于紧张,且没有测试用例,debug 会比平常在力扣上刷题的时候难很多,所以这也是为什么很多过来人推荐大家打周赛,因为周赛的紧张氛围和编码环境是和面试比较接近的(相比于平常刷题来说)。

(4) 面试过程中和面试官保持沟通

我在面试过程中,有好几次遇到比较困难的题,因为紧张,思维短路,大脑一片空白,不知道大家有没有遇到类似的情况。这时候千万别慌,也不要一直闷头瞎想,在经过一段时间的思考没有头绪之后,果断深吸一口气,开始和面试官沟通,比如“我有点紧张”、“我这题的思路是 xxxx,但是 xxxx 问题没有想清楚”,也就是说要勇敢地、坦诚地表达自己的想法和困难。为什么要这样做呢,你的面试官通常是你未来的同事,或者领导,你在遇到问题的时候,是选择积极地与大家沟通,还是闷不吭声憋在心里,会很大程度上影响团队的工作效率和相处融洽程度。面试不仅仅是考察一个人的知识或者代码能力,也会考察一个人的情商,好不好相处,有时候后者甚至比前者更重要(我猜的)。
写在最后

以上,希望我的求职经历能给广大的非科班转码选手提供一些经验、鼓励和信心。感谢阅读~


BY / 

本文作者:阿柱

编辑&版式:Janson

声明:本文归“力扣”版权所有,如需转载请联系。


点个在看,少个 bug

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
微软中国CTO韦青亲述:微软20多年的经验和教训观剧偶感(一)话媒活动(71)|“构想与深耕:博士论文撰写历程”分享会为什么毕业季不要表白?网友的经验分享走心了丨夜听双语听富二代闺蜜聊当妈后的心路历程,我突然想开了...产业政策与经济转型升级:日本的经验教训 |《财经》书评Meta&Snap“离谱”福利,看完我想转码了……赴华:从4月到7月,从40%被踢到熔断,爸妈UA857归国之心路历程周末体力劳动及收获自信+自驱,专家20年打造自驱娃的经验都在这篇文里了 | 独家精华版视频号珍珠带货400万的背后,我的真实心路美博转码的我150天曲线上岸Google,扬眉吐气的一天终于来了!从 VS Code 的历史中可以学到的经验检察机关上半年起诉帮信罪6.4万人,三类人员涉案问题值得高度关注经验大放送 | 人大432专业课146分经验UPenn留学生亲测!这3种转码方式,绝!低空盘旋德克萨斯州警方:一名教师在罗伯小学枪击案发生前关上了被撑开的学校外门「三无选手」转码上岸Uber,半路转专业后化身大厂SWE是怎样的体验?经验大放送 | 数学150,专业课139,总分449,浙大本科上岸人大统院,专业第一来助阵从犹太人的教育到特斯拉的护城河,与马斯克同学任宇翔的收官之谈|硅谷徐老师UCSD就读体验:面朝大海,轻松转码!赞!AI时代的视频云转码移动端化——更快、更好,更低,更广中国货币研究扛鼎之作,读懂钱币背后的经济和金融整个夜晚周末愉快 钓猫鱼30岁后,第一次正视脱发问题,我的经验和洗护好物分享~经验大放送 | 中南财432专业课一战99二战140+经验贴暴跌、扭亏、出海、做品牌……名创优品上市两年的经验与教训想转码拿高薪?!不是只有学CS这一条路!在纽约申请瑞士申根签证的经验分享大陆本硕申请美国心理咨询博士的经验与挑战(下) | 对话心理人转码拿下Amazon全职Offer前,我纠结了100次50岁还能咸鱼翻身转码!?国内只能转外卖或滴滴了吧...频发Lancet、JAMA等期刊;这位偏头痛大咖的经验值得借鉴
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。