2021 程序媛跳槽记:学习计划篇(已收获字节等offer)

今天推荐的这篇文章是一位互联网程序媛写的跳槽日记。她本硕毕业于985计算机专业,先后就职于央企和BAT。这一篇就是她跳槽到互联网的学习笔记,希望能对大家有所帮助,感兴趣的读者也可以关注公众号,听听更多程序媛的故事~

坦白说,我这个人不算聪明,基础也不咋样,这次跳槽我一开始是很没信心的,甚至想把这次尝试当做试水,如果受打击太多,就再修炼半年,明年过完年参加金三银四的跳槽旺季。

好在幸运了拿到了几个大厂的 offer ,比如美团啊,字节啊,阿里啊等等,所以我觉得像我这样的菜鸡都能做到,那大家也可以。

我把这次跳槽计划命名为:牛宝宝计划。

一、战略方针

有的人适合突击战,有的人适合持久战,我属于后者。我自认为自己的耐力还可以,所以我一开始就告诉自己:我的基础薄弱,也没有大厂经历,这次跳槽不要急于求成,找到自己的问题抓紧补救。

所以我给自己制定了半年的学习计划。这个时长肯定跟高考、考研没法比,不过我觉得在跳槽中也算是不短的时间了,我知道我的同事本来想随便试试结果就拿到 BAT offer 的,也有准备一个月就跳槽成功的。

但我好在有自知之明,所以不会去盲目比较和要求自己,按照自己的节奏定计划。

第二点我觉得为什么要拉长战线,是因为我现在的工作不能保证每天稳定的学习时间,有些时候线上出问题了就得去灭火,隔三差五没有时间学习也是很正常的。如果这个时候我还要逼自己快速有 offer,可能自己先崩溃了。

二、定目标

我这次的目标是想进互联网大厂,因为我一直没有这方面的经历,所以内心非常渴望。

此处需要注意:

1、不要一开始就直接投大厂,先拿一些小公司练练手。

2、大厂往往意味着有很多部门,各个部门都可能招算法工程师,要先看看这个部门在集团中的地位。

就我个人而言,我给自己的定位是,肯定是进不去大厂的核心部门(比如阿里的淘系,字节的抖音,滴滴的网约车等),所以我要搏一搏的是大厂稍微二类的部门。

3、如果是猎头联系你帮忙内推的话,一定要提前了解好要面试部门的技术栈。我面试滴滴那次就老惨了,猎头给我推了最核心部门,而且技术栈完全不一致,比如基础的编程语言、我大多项目是线下、而人家有丰富的线上模型。

整场面试下来,伤害性不大,侮辱性极强。真的是感觉在浪费双方时间,还严重打击了我的战斗气势。

三、学习方向

我本身是算法方向的,所以我在准备面试的时候主要按照三个方面准备:

1、算法知识,包括但不限于机器学习、深度学习、常用框架等

2、LeetCode 刷题

3、项目经历 + 软实力

下面逐一详细介绍。

四、算法知识

1、查招聘信息

招聘的 APP 有不少,我自己使用的有 脉脉、boss 直聘、拉钩等。

注意此时不是一上来就投简历,而是先看看各个公司的 JD,再对比自己的项目经验里有没有哪些是能够挨上边的(其实这个时候就可以大概知道简历该写哪些东西以及如何完善了)。

比如我随便在脉脉上搜了一个算法工程师的职位要求:

图片

以上面为例,提到的技术基本都要 match,模型要会,并体现在简历中。

工作年限要求这个我倒是觉得不用严格遵守,有时候要求 3 年以上,但只有两年工作经验,也是可以去试试的,大概率技术栈 match 的话,拿到面试机会问题不大。

2、通过上一步,就能知道现在业界都注重哪些算法模型和框架了,如果你恰好使用过,那真是太开心了,再补充一下理论知识。

复习期间我一共看了三本书:

李航的《统计学习方法》,周志华的西瓜书,Hulu 出版的《百面机器学习》,结合网上的一些资料整理的笔记。

图片

关于每个知识点要会到什么深度呢?举个例子:比如使用过 Xgboost 框架,那么就要弄懂以下几个问题:

1)Xgboost 与 GBDT 的区别?

2)Xgboost 与 Lightgbm 的区别?

3)怎么处理缺失值?

4)有哪些缺点

我自己的面试真题之后再单独写一篇文章,如果你感兴趣的话,请等等我。。。

其他类似的模型也要多多深入学习。当然了,以我个人经验来看,是做不到在第一次面试之前就掌握所有问题的,而且每个公司的关注点也不完全一致,还是要在面试过程中积累问题,如果没答上,面试之后赶紧学会,以备下次提问。

以防小伙伴们太过焦虑,其实面试过程中有问题答不上是很正常的,而且有的面试官就喜欢就一个问题不断往下深入提问,看你到底懂得有多底层,最后总会有答不上来的时候。

以我个人经验来看,一场面试中,有一两个问题没答上,是不太影响通过面试的,你只要保证大部分内容是你提前准备好的,其他的临场发挥也不是不行呀。

3、是不是所有 JD 里提到的模型全都要会?

答:大可不必。

你只要学会你工作中用到的相关的模型就行了,面试过程中主动引导面试官的提问方向,基本就不能提问到你完全陌生的领域,当然如果你引导了面试官提问,结果自己没答上,这种自己给自己挖坑的行为,请在面试结束后扇自己一个大嘴巴。

我个人的情况是,工作项目中使用逻辑回归和树模型比较多。所以我的学习路径就可以归纳为:

线性回归 --> 逻辑回归 --> 决策树 --> 集成模型 --> GBDT --> Xgboost --> Lightgbm --> 深度学习

像一些概率图模型,马尔科夫等等就完全没有问过我(幸好没问,问了我也不会啊)。

当然了,如果你精力充沛,准备的越充足越好啦,其实我也是看过 KNN 模型, Kmeans 等聚类模型滴。

五、LeetCode 刷题

我上一篇文章分享了我的刷题笔记,如果你没看过,双手奉上链接哦:

2021 程序媛跳槽记:必刷LeetCode算法题(附解题报告)

重复的内容我就不墨迹啦,这里主要想说一下对我个人比较有用的刷题方法论。

我不知道你们是不是和我一样,就是刚刷完一道题,第二天再做都不能一遍 AC,闹心死。

图片

后来我为啥跟自己和解了呢,因为我想到当年考研的时候,我其实英语成绩还可以,差不多 80 分左右吧,可我背单词也不能做到背一遍就记住了呀,哪怕是我擅长的科目我还得千锤百炼呢,更何况是我一看到题目就发怵的 LeetCode。。。

所以我就借鉴了我背单词的方法:利用艾宾浩斯遗忘曲线,如下图。

图片

大概意思就是给这个记忆程度进行了数值计算,得出事件发生多久之后你还能记住多少的结论。

我根据自己的学习时间,给上图进行了微调来制定我的刷题和复习计划:

每隔 12 小时、24 小时、2 天、4 天、一周、两周、一个月、两个月来复习一遍做过的题目。

比如我习惯晚上刷一道新题,假设是 6.1 号,然后我会在第二天 (6.2 号)早上复习一遍,第二天晚上 (6.2 号)再复习一遍,6.3 号、6.5 号、6.8 号、6.15 号、6.30 号、7.30 号左右再复习一遍同一道题来加深印象。

现在 Chrome 不是有标签分组的功能了嘛,我就按照日期来个大致分组,粗略地知道每周大概刷了什么专题的题目,复习的时候也知道该复习前面哪一周的了。我的 Chrome 长这样:

图片

每个数字代表日期,比如 3.6 就是 3月6号以及这之后几天的题目。

再说一说我遇到的坑:

1)每次刷同一道题错的地方都不一样

恭喜你,每次都暴露了不同问题,哪里有问题哪里就是解法出现了偏差,可能是算法,可能是对编程语言的性质不够了解,总之是个好事。

2)心态不稳

每次我都会大喊一声:为啥还是不对啊啊啊

好在我喊完之后还能继续做题,如果实在崩溃的时候就歇一歇,没啥大不了的,面试也不一定考这道题。

但请相信我,坚持到后边,真的是越刷越快。

六、项目经历 + 软实力

项目经历这个事儿就得因人而异了,毕竟每个人的项目经历都不一样。

我就不太会把做得很普通的事情说得高大上,一开始我的亲朋好友看了我的简历都开始劝我:要不别找算法了,换个方向吧。。。

还没开始呢就有人劝退我了,打击程度可想而知。

偏偏我又是个好强的性子,非要亲自试一试。

恰好我看到了我们今年校招生的简历,他的简历就包装的很好,其实算法都差不多,我就模仿他的简历来改(太丢人了,做简历的水平竟然不如应届生,跳槽路上真是随时都可能自我否定)。

改简历真是一个没有尽头的事情,千万不要以为做一遍就万事大吉了,甚至随着面试过程,要不断进行微调,所以一开始的预期就别搞错。

我个人觉得这方面考察的重点是:

1、对自己做过的事情有清晰的理解和复盘

2、沟通成本低:较短时间内介绍出项目的难点是什么,你自己的价值体现在哪里?

3、还有对未来的思考:如果现在再让你优化,你能从哪些方面入手?

大多数程序员表达能力都欠佳,比如我,这个就得自己没事儿多练练,找人帮忙 mock interview 也行,自己没事儿就自言自语叨咕叨咕也行,尽量抓住重点和面试官的吸引力,如果看出来面试官都开始心不在焉不想听了,就抓紧调整自己的表述策略吧。


、沟通成本低:较短时间内介绍出项目的难点是什么,你自己的价值体现在哪里?

3、还有对未来的思考:如果现在再让你优化,你能从哪些方面入手?

大多数程序员表达能力都欠佳,比如我,这个就得自己没事儿多练练,找人帮忙 mock interview 也行,自己没事儿就自言自语叨咕叨咕也行,尽量抓住重点和面试官的吸引力,如果看出来面试官都开始心不在焉不想听了,就抓紧调整自己的表述策略吧。


想分享的太多,持续更新中 。。。

下面是作者的公众号,欢迎大家的关注!
在这里插入图片描述

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

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

相关文章

Orleans的集群构建

听闻一周前,微软公布了.net core2.0,以及各种各样的其他core2.0.大家都很兴奋.微妈的诚意真是满满的.这次开源势头让我感觉到了微妈的技术实力之雄厚.我在这里祝福C#越来越好.细心的人似乎发现Orleans在github中是和net core分在一起的.Orleans的2.0何时发布呀… 现在我们面对…

汇编语言(二十二)之统计减去奇数的个数

输入一个正数,该数减去递增奇数(从1开始)直至小于等于零为止,计算该数减去奇数的个数 程序运行: 代码: datas segmentNUM dw 17ANS dw 0NUM_string db 0ffh, 0 ,100 dup(?)inputNUM …

.NET Core 在程序集中集成Razor视图

前言 有时候,我们在开发一个程序集供其他项目引用的时候,可能需要对外输出一些HTML的结构数据。 还有一些情况我们可能开发的是一个中间件,这个中间件需要提供一些界面来对外展示数据或者是内部的一些程序的运行信息,这个时候我…

开学一月,可以自己玩自己做的游戏了!!!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”《趣味小游戏》的书已经讲完了,国庆假期给同学们布置了小游戏项目的任务,开学时检查了下,大部分做的还是挺不错的。有的同学超常发挥想象&#xff0…

汇编语言(二十三)之求一个数的补数

给定一个数,求该数的补数 程序运行: 代码: datas segmentNUM DB 12H,34H,56H,78H,9AH,0BCH,23H,45HDB 67H,89H,0DEH,13H,24H,35H,46H,57HN DB $-NUMoutputNUM db "orignal data NUM$"outputNUMC d…

ASP.NET Core 防止跨站请求伪造(XSRF\/CSRF)攻击

什么是反伪造攻击? 跨站点请求伪造(也称为XSRF或CSRF,发音为see-surf)是对Web托管应用程序的攻击,因为恶意网站可能会影响客户端浏览器和浏览器信任网站之间的交互。这种攻击是完全有可能的,因为Web浏览器会自动在每…

汇编语言(二十四)之输出n行星号

输入一个数n,输出n行星号 程序运行: 代码: datas segmentline_number_max_len db 0ffhline_number db 0, 100h dup(?)input_line_number_prompt db input line number:$output db 0dh,0…

家的味道,家的感觉!!!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”国庆期间回了一趟家,上次从家里出来还是2020年正月的时候,因为疫情的原因,21年过年没有回去……早早的就买下回家的票,以前回家一趟&…

POJ3889-Fractal Streets【分形,递归,分治】

正题 题目链接:http://poj.org/problem?id3889 大意 第一级城市为图一,然后每次扩展一级就将原本的城市复制3份,一份放上面,一份正旋90’放左上,一份逆序90’放左边,最后将4份的头和尾连起来,…

.NET Core 2将Visual Basic带到了Linux和macOS平台

Microsoft已经愈加接近将Visual Basic划为.NET Core平台上的一等公民。作为.NET Core 2发行版的一部分,VB开发者现在可以编写针对.NET Standard 2.0的控制台应用程序和类库,并且可以兼容多个平台。这就意味着运行在Windows上的可执行文件或者类库也能够运…

汇编语言(二十五)之成绩分段统计

已知一个班的成绩,进行60,70,80,90,100分段统计 程序运行: 代码: datas segmentstudents_number dw 10students dw 76,69,84,90,73,88,99,63,100,80s6 dw 0hs7 dw 0hs8 dw 0hs9 dw 0hs10 dw 0houtput…

感动哭了……

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”一大早就好多人送祝福,感动不已~下课看手机之后,看到手机上有条消息,是认识好多年好多年的大姐发的:“小穆,今天你生日&…

汇编语言(二十六)之自然数求和

输入一个数N,对1到N的所有自然数求和 程序运行: 代码: datas segmentN_string_max_length db 0ffhN_string db 0, 100h dup(?)N dw 0 sum dd 0 input db …

同学们,看看这里吧!!!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。恶”早上一进班,发现班内少了好几个学生,一想肯定是这几个熊孩子又违纪被王老师喊去了…自从这些孩子入学以来,大事小事不断的去犯,尤其是…

Oleans集群之Consul再解释

由于上周发文章的时候,我正要打算出门,所以就把写好的全部发出去了,有点仓促,虽然写了主线,但是这里还是需要再次解释一下. 我看到Orleans已经升级到了1.5.1了,(nuget上的官方发布),于是我就把Orleans升级到了1.5.1,顺便把net更改到了4.7版本. 再升级的时候,注意有几个依赖库…

别在被骗了!!!!!!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”今天,在身边又发生了一起诈骗案,被骗金额达5000余元在,就像佟老师说的一样,骗子可是一点人性都没有……大致的看了看具体细节&#xff0…

汇编语言(二十七)之身份证最后一位求和校验

输入身份证前十七位数字,输入18位身份证 程序运行: 代码: datas segmentw db 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2y db 1,0,X,9,8,7,6,5,4,3,2ID_max_length db 18ID db 0, 19 dup(?)input …

C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码

我记得,之前在写安卓方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB? 嗯..今天我们就来解决这个问题.. 我们先从指定一个应用程序图标开始.. 1.指定应用程序图标 我们直接右键Android项目,属性.选择安卓清单.如下: 在Ap…

vue中设置子组件的点击事件不影响父组件的点击事件

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”今天分享个技术块儿。在做项目的过程中,遇到了个问题,简单的描述一下:有一个card卡片,上面绑定了个点击事件,点击card卡片&a…

一个还算简单的微信消息SDK(基于.Net Standard 2.0)

虽然微信公众号出现了好久,不过在SDK这件事情上感觉并没有多少人把它当成一个有技术含量的事情来做,很多SDK做的事情就是一个代码的堆叠,当然也可能写的好的并没有开源出来。所以在某个翻遍github而无所获的下午我写了一个基础的基于事件的微…