之前有个小伙伴泡沫(忍不住想起了邓紫棋那首同名歌曲)给我发了一段很长很长的私信,我一直没想好怎么回答,就在收藏夹里搁浅了很长一段时间,今天拉出来认认真真回答一下。虽然可能已经晚了,但我心里那份亏欠可以放在岸上了。
我把泡沫的问题拆解了一下,希望我的回答能够帮助到有同样烦恼的小伙伴。
二哥,您好!有时间会看您的文章,很感谢您能发自肺腑的写一些东西让大众受益,替所有受到您帮助的人感谢您。
问题的开场白真的是太妙了,夸得我一直笑,就差把口水流下来。遇到这样用心的小伙伴,真的是我的荣幸。
但是呢,我要提一点小小的要求,有没有时间都要看看二哥的文章嘛,保证受益。毕竟真的都是肺腑之言。
我是一名研三的学生,最近在参加秋招,去年这个时候看到师兄师姐找工作不是很顺利,所以当时就开始准备为找工作打基础,那时刚开始学 JAVA,会听一些前辈的意见把 JAVA 基础过了一遍。
秋招是校招的一种,还有一种就是春招。
春招,也就是春季校园招聘(3 月- 4 月末),与秋季校园招聘(9 月 - 11 月,也可能提前到 7 月份)相比,周期短,岗位少,宣传力度小(线上、线下宣讲会)。
秋招面向的群体一般是应届生,面临毕业,课业较少,时间比较富裕;春招面向的群体是应届生和大三/研二等在校生,往往作为秋招的补充。
对比来看,好好准备秋招比春招更容易成功上岸,所以一定不能错过。但机会总是留给有准备的人,只要你准备得充足,无论秋招还是春招,总会收到心仪的 offer 的。
再来看泡沫的问题,师兄师姐找工作不是很顺利,原因可能有很多,比如说大环境的问题。不过,去年才开始准备学 Java(泡沫注意了,简历上千万不要写 JAVA,有些招聘方是很介意的),时间确实有些紧张,应该再早一点。
学生阶段,基础确实是最重要的,不光是 Java 基础(OOP、IO、集合、异常、多线程并发、Java 虚拟机等等),计算机方面的基础知识(比如说操作系统、计算机网络、数据结构与算法)同样重要。
然后大家都说光看视频学基础没用,得做项目,然后我就去找项目,花钱找项目买经验,项目中要用到很多技术栈,然后我又去学技术,很多人都在强调项目炒技术,可是我学完之后还是感觉很空虚,不敢说自己是计算机的。
我在之前的文章里谈过看视频还是看书。我觉得入门的时候可以看视频,用最短的时间过一下知识点,但如果想要巩固基础,进一步深入的话,最好还是看书。
当然了,不管是看书还是看视频,最终都要实操,也就是所谓的实践出真知,但我觉得没有必要花钱找项目买经验,这个就有点心急了。
招聘方对于没有项目经验的学生,更看重的应该是扎实的基础,以及学习能力。因为他们心里也门清,校招不是社招,面向的群体就是没有太多经验的新人。
所谓基础不牢,地动山摇,做再多的项目,都只会在用的层面上有感知,但对于知识点,尤其是一些枯燥的理论知识,就会感觉很空虚。
腹有诗书气自华。花太多时间在项目上面而不是理论知识上面,我觉得对于学生来说,是得不偿失的,毕竟时间就那么多,用在项目实践上多了,理论知识就会少。
另外,我想对泡沫说的是,自信一点,研究生的学历相对于本科学历,甚至大专学历,已经好很多了。“不敢说自己是计算机的”,我觉得有点过于自卑了。
自信的人,和自卑的人,是有很大差别的,可能水平相当,但给人的感觉是完全不一样的。
问一些身边人他们就说你用的不熟,对 JAVA 不熟,可是我一直感觉冲破不了那种空的障碍,一直在寻找,直到最近开始秋招找工作,我才发现我提前准备了一年却连笔试都过不了,感觉自己准备了个寂寞。
我觉得你可能问错了人吧,对 Java 熟不熟,精通不精通,是需要大量的项目经验支撑的。对于学生来说,要求对 Java 的 API,包括第三方类库非常熟悉的话,我觉得有点牵强。
不知道你的笔试题有哪些,但我想,肯定还是那些基础知识,包括数据结构(数组、链表、队列、堆、栈、哈希表、树、图)与算法(简单排序:插入排序、选择排序、冒泡排序;分治排序:快速排序、归并排序;分配排序:桶排序、基数排序;树状排序:堆排序;计数排序、希尔排序等)。
说到笔试题,如果没有去力扣或者牛客上刷一刷,会吃大亏的。刷题可以先从简单开始,再到中等,再到困难。其实就和打游戏一样,先简单练手,给自己一点信心。
千万不要灰心,泡沫,秋招还没有结束,就还有机会。如果因为一次笔试题没过,就彻底放弃了,那你的意志力也太薄弱了。史上最励志鸡汤不是有一句嘛,“失败是成功之母”,心态摆正,沉下心,刷题,然后再次参加笔试。
我本科是通信工程,研究生才转计算机,研究生的课全是深度学习算法之类的,找工作没啥用,现在秋招一败涂地,我想以后走的远一点,好好打基础,却不知道怎么打基础,刚刚看到您的朋友圈一下戳到了我的痛处,为什么那么多人不注重基础热衷于炒技术,没有基础,技术就是空架子感觉走不远,但是我目前的状态不知道该怎么打好基础。
本科没有学计算机,确实是有影响的。但如果找借口的话,借口能找很多,比如说,我上大学之前就没有接触过计算机,大学也就学了两年就出去实习了。
时间不是问题,心态才是。心态好的话,研究生三年同样可以有一番作为,但如果心态爆炸的话,给再多时间,都会蹉跎。
深度学习,确实是高学历才能接触到的专业,一般本科学历我都不建议去搞,因为有技术壁垒。但既然接触了,也不一定是坏事,毕竟余生还很长,没准哪一天等泡沫你经验丰富了,就搞了,到时候就有了基础。
确实,很多人会不注重基础,因为就业压力,或者错误的向导吧,就一心想增加项目经验,但作为过来人,我必须要说清楚的一点是,项目经验项目经验,不工作的话,哪有那么多项目经验可以积累。
打基础,其实也没想象中那么难。我之前在知乎上分享过一个回答,题目是《关于 Java 的书籍最佳阅读顺序》,这里再贴一下地址:
https://www.zhihu.com/question/269505829/answer/933582331
我只列了 13 本书,并且上手难度很低,适合所有人。刚刚还有小伙伴在群里截图点赞。
我当时就是按照这么个顺序学 Java 的,收获非常大。每读完一个章节,就输出一篇文章,短时间内对 Java 有了全新的认知,可以说基础已经很扎实了。
PS:回答里提到的这些书籍,可以在沉默王二公众号后台回复「Java」获取。
最近在看数据结构与算法,刷leetcode题,碰到难题加上笔试过不了,笔试过了面试手撕代码过不了的状况心态有点崩,希望二哥能给一些打基础的具体意见和建议,不甚感激!