小菜鸟的求职日记

       今天是2020.4.6,严格来说我是从今天开始正式着手准备求职了,心中还是有点小后悔,后悔前段在家时间没有充分利用好时间,包括对未来的规划不够细致,走路一些弯路,过完春节回家之后一直到2.10都在弄老板布置的国家自然科学基金里面的一部分(其实努力的话很快就可以写完,但是自己硬生生拖到了deadline,可恶的拖延症啊),之后学习了一下深度学习,如何使用caffe训练模型,在网易云课堂买了一份教程,大致了解了如何进行训练,本来准备自己回学习用服务器训练Enet,用在项目里,何曾想到新冠原因开学延迟,迟迟没法使用服务器训练,没办法只能找提供预训练权重的网络,最后找到了一个,结合另外一个网络,分别完成提取特征和语义分割,算是凑成了一篇小论文,于是准备着手改代码,做实验,拿数据(万幸的是寒假把两台电脑都带回来了,本以为没用过又要带回学校去了,谁曾想居然帮了我大忙),期间亲人离世,回老家呆了几天,原本打算3.15左右把小论文完成,最后拖到了3.21。提交给老板,又陆陆续续进行一些修改,最后3.30发到了期刊的邮箱里面,然后就没管了。之后学校通知准备开题,又疯狂翻阅文献,想开题题目,既要有创新点,又要保证自己能做出来(不能完成老板可是不给你毕业的,去年3个师兄,延毕了2个,亚历山大啊)。提交给了老师一个方案,事后自己觉得做不出来,立马硬着头皮和老板老老实实说感觉做不出来,请求换另外一个更有把握点的题目。完成了开题报告,交给了老板,返回,修改,今早再次提交,现在暂时没消息。

      下午牛客网上看了一些帖子,希望这次准备求职之前做一次比较详细的规划吧,因此希望开这个系列的帖子记录自己的学习和求职的这个宝贵经历,在我眼里,这次的求职之路希望自己尽可能的当成是一次宝贵的学习机会,学习编程知识,学习面试经验,学习如何有效沟通,学习过程中遇到的大佬的优点,甚至学习如何规划自己以后的发展道路和人生。

      首先总结一下下午学习到的一些东西和自己的思考吧。

      第一是首先确定自己的求职意向究竟是什么,自己的兴趣是什么,自己以后对于工作的期待是什么,对于生活的期待是什么。综合几个方面的因素先确定意向的职位。另外,最重要的是需要了解有哪些岗位,不同岗位是干什么活,需要哪些技能,通过一番研究之后,现在这里总结一下:

首先上一张图:

来源:知乎

因为我本科专业自动化,硕士专业仪科,技能就是编程,因此毫无疑问是技术岗,然后查阅以下技术岗下面还有那些细分呢?(这个是互联网企业的,非互联网应该也有一部分)

来源:知乎

这里之处出现了开发岗,但是根据我牛客网上看的帖子还有和别人的交流来看,除了开发岗应该还有一个算法岗,他们之间有什么区别呢?

根据知乎上的大牛的说法是:

1、开发岗是循规蹈矩完成任务多些,为了赶计划,一般都996,如果当周计划完成不了,那就加班,总能完成。并不是说开发岗就是简单的,开发岗确实也有很多东西很复杂,要慢慢理解,但开发岗相对来说确定性因素会多些,制定的开发计划一般都可以细分到每人每日做什么。

2、算法脑洞要大些,一旦脑洞开了,脑袋会刹不住车,你会有很多新想法想试验,例如想到了新的特征想加入现有模型,想试验某个大神新发布的模型等等。所以即使现在公司没有要求我每天打卡上下班,甚至允许在家办公,但我还是经常带着电脑回家,每天会试验到十一二点才休息。

总结来说,算法就是针对某个问题来进行最优化,而开发则是具体产品的实现,但并不会去追求最优。算法岗相对来说竞争还是要比开发岗大很多,而且比较需要各项比赛和论文的支持,开发则比较看中项目经历和实习经历,比较而言我选择开发,最后的选择就是是前端还是后端,或者移动端,因为我接触过的语言是c/c++,java并且都有过一些项目经历(大学时候参加过一些学校的比赛和科创项目),因此,倾向于后端和移动端。

    另外呢,就是行业的选择了,体制内还是体制外?互联网行业,还是非互联网行业?我的选择的话,,,,先看看能不能拿到offer再说吧,别搞得自己好像已经手握一堆offer一样。

    既然选择的岗位是后端开发,那么首先需要去找对应的资料(视频,书籍,题目等等),根据牛客网上的经验来说,先列举一下之后要看的书籍吧:

书籍分为c/c++和java类的

c/c++

《C++ primer》,

《王道程序员笔试面试宝典》,

《Effective C++》

《STL源码剖析》

《深度探索C++对象模型》

java:

《Java8 实战》

《Java性能权威指南》

《Java程序员面试宝典》

《实战Java高并发程序设计》

《Java编程思想 (第4版)》

《深入理解Java虚拟机(第2版)》

《Effective java 中文版(第2版)》

《深入理解java虚拟机》

《Java并发编程的艺术》

数据结构:

《数据结构(严蔚敏)》
《大话数据结构》

其他:

《计算机网络》

《深入理解计算机系统》

《Linux高性能服务器编程》

算法:左神视频

(书名只是先列在这里,当然不可能全读完,后续的帖子里面我会比较并筛选一些好的书目)

但是一般来说c++和java只需要熟练运用一个就行了,我自从本科毕设之后就没有接触过java了,在决定现在该从哪门语言入手,查阅了一些资料,得出结论,现阶段市场上对java的需求量更大,而且java比c++的开发效率更高,对于现在这个追求速度和效率的社会来说,更多企业会选择java,所以我可能比较倾向于学习java。

然后是刷题,当然是:去剑指offer & LeetCode上刷高质量的经典编程题,关于刷题的细节,再引用一下牛客网上的大佬的说法:

首先是剑指offer,我想说的是这本书入坑简直是太赞了,里面的题目都很经典。我剑指offer这本书前前后后看了3、4遍,里面的题目基本都肉眼记住了,这本书上的题目反复看是很有价值的,面试的时候要能做到如果碰到剑指offer的原题,5分钟就要能写出Free Bug的代码,剑指offer上的题是最基本的必须要会。然后是LeetCode,研一就有别的实验室的同学在刷,一开始还没重视,觉得算法没啥用。但是当我真正去刷的时候才知道这个平台的价值,多刷LeetCode对编程能力真的会有潜移默化的提高,是一件非常有价值的事情。我一开始接触LeetCode的时候刷easy的都很费劲,medium的更是只能看着答案做,还是很痛苦的,这说明我的算法根本就不行。然后也是经过了几个月日积月累、痛苦的训练,慢慢找到了“感觉”,有了这种感觉以后就发现easy的看一眼就会,medium以前很难去动的也能自己AC了。我真的觉得LeetCode上的很多题目质量都好高,相当于必须要刷一遍的节奏,下图就是我刷LeetCode的情况,一开始刷的都是easy后来medium也越来越多差不多刷了100多道medium吧,自己确实是有进步的。关于刷LeetCode的必要性就不强调了反正就是很重要,建议大家如果有时间的话,可以按照题号,从第一道2sum开始向下刷,因为前150道是超级经典的,这150道涵盖了基础算法的很多方面,先刷easy再刷medium,hard可以先不做一般除了微软这种外企,不会考这么难。时间不够可以按照TAG 【Top 100 Interview 或 Top 100 Liked类似】,这些TAG里的题目还是挺高频的。刷题要坚持,循序渐进、不要着急、多总结,对题目一定要有自己的理解和思考,最后用自己擅长的方法实现出来。

最后的可能用到的网站:

https://github.com/huihut/interview#%EF%B8%8F-%E7%AE%97%E6%B3%95

https://github.com/PCzhangPC/free-programming-books-zh_CN#java

加油,愿大家共勉!

 

 

 

 

 

 

   

相关推荐
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页