今天推荐的这篇文章是一位互联网程序媛写的跳槽日记。她本硕毕业于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 也行,自己没事儿就自言自语叨咕叨咕也行,尽量抓住重点和面试官的吸引力,如果看出来面试官都开始心不在焉不想听了,就抓紧调整自己的表述策略吧。


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

下面是作者的公众号,欢迎大家的关注!

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

  1. 2021 程序媛跳槽记:学习计划篇

    三妹跳槽系列文章: 2021 程序媛跳槽记:百度阿里字节等各大厂面经篇 2021 程序媛跳槽记:必刷LeetCode算法题(附解题报告) 坦白说,我这个人不算聪明,基础也不咋样,这次跳槽我一开始是很没 ...

  2. 2021 程序媛跳槽记:百度阿里字节等各大厂面经篇

    跳槽系列文章: 2021 程序媛跳槽记:学习计划篇(已收获字节等offer) 2021 程序媛跳槽记:必刷LeetCode算法题(附解题报告) 三妹我粗略地算了一下,前前后后面试差不多两个月,总共将近 ...

  3. 软考高级-考试细节与学习计划篇

    考试细节与学习计划篇 1.作为一项国家级的考试,一般每年举办2次,分别在年中和年末,进入中国计算机技术职业资格网(http://www.ruankao.org.cn/), 点击页面右下角的报名入口,进 ...

  4. 微信小程序Node.js+uniapp学习计划与日程管理系统app

    本学习计划与日程管理系统,主要用来为用户提供自主计划学习的主要功能,主要实现首页.计划学习页.日程安排页.个人中心页这四大页面,相对应的功能如下分析: (1)    首页:该页面主要由搜索.论坛发表. ...

  5. 2017-java程序媛的流水账-一个程序媛的不断学习

    我曾想过如果由我负责一个项目,我会采用一下技术的组合: 1.项目规模中小型,需求改动较多,对技术有一定追求,同时要求快速 spring boot, spring data jpa(考虑团队成员技术成熟 ...

  6. 程序员跳槽成功手册——简历篇

    系列文章分为简历篇.面试篇.谈薪酬篇,包括了找工作过程中各个环节的技巧和防坑指南. 1. 简历篇 如果把自己看成一个产品,那么简历就是说明书. 写简历看似简单,想写好实则不容易.一份好的简历能帮你在一 ...

  7. 实习日/周/月记学习计划(第一周)

    2019.07.05 从主管到一级级leader介绍下来,意识到银行的主要技术栈还是Java相关的,而我对Java的认知永远停留在大三做课程设计时的jsp+javabean了.. 海哥初步给我介绍了实 ...

  8. 蒙特卡洛方法_程序媛转TA之理论篇十三:蒙特卡洛方法

    本文主要来自<全局光照技术>第五章. 蒙特卡洛方法是数值分析方法中的一个重要分支,它的核心概念是使用随机性来解决确定性的问题.大数定律告诉我们,满足某个概率分布的随机变量的数学期望所描述的 ...

  9. 实习日/周/月记学习计划(第二周)

    2019.07.15 今天mentor请事假,划了一天水: 看tomcat的系统架构--四张图带你了解Tomcat系统架构: 了解了一下flink,带状态的流数据/批数据开源数据处理/计算平台: 探索 ...

最新文章

  1. Python3猜数字小游戏
  2. C++ STL之vector常用方法
  3. 基于QoE的实时视频编码优化:低功耗,低延时,高质量
  4. mysql的快照速度_mysql 快照读 当前度
  5. Spark系列—02 Spark程序牛刀小试
  6. RPC、RMI与MOM与组播 通信原理 .
  7. indexOf 方法
  8. 李洪强iOS开发Swift篇—02_变量和常量
  9. python画条形图-python绘制条形图方法代码详解
  10. Jzoj5231 序列问题
  11. 4x4矩阵键盘扫描c语言程序,4x4矩阵键盘工作原理及扫描程序
  12. 高仿城通网盘php,PHP代码提取城通网盘直链跳过广告下载
  13. Java相关技术文档汇总
  14. 免费还能商用的视频素材,拿走不谢。
  15. 微信公众号里的视频下载
  16. python调用DLL/EXE文件截屏的比较
  17. 输入圆锥体的半径和高,并求体积
  18. 河南省旅游服务中心信息中心备份及集成
  19. 矩阵幂之和(矩阵乘法)
  20. 清空Qtablewiget 表格的内容

热门文章

  1. SpringCloud常见问题总结(二)
  2. ubuntu 通过 海康sdk调用摄像头抓图片
  3. HDU 5528 Count a * b
  4. P2754 [CTSC1999]家园 / 星际转移问题(网络流)
  5. 【WC2014】时空穿梭【组合数】【莫比乌斯反演】【整除分块】【暴力多项式】
  6. CERC17 Problem L - Lunar Landscape(差分,坐标系)
  7. 蓝桥杯 I.双向排序
  8. 【李超树】李超线段树维护凸包(凸壳) (例题:blue mary开公司+线段游戏+ZZH的旅行)
  9. P6113-[模板]一般图最大匹配【带花树】
  10. AT4513-[AGC030D]InversionSum【dp】