大学目标简短,大学三年目标_简短.

前言

上一篇文章我们提到,大学学习的目标就是:让自己在方法上、心理上和技能上都做好入行的准备。其中,我们对“方法上”和“心理上”的内容进行了展开。

今日内容

今天我们就来讲讲,在技能的准备上,我们需要怎么做?概括来说,就是打好基础并增加实践,以此修炼好自己的内功。

文末,我会提供一个大厂招聘应届生的标准,相信这对正在准备实习面试或者应届生招聘的同学来说,会是一个重要的参考。

1. 学好重要的专业课

整个大学期间有不少专业课,每一门课都是学校精心安排的,他们像是一块块拼板,构建了整个知识框架。所以每一门课都能够好好掌握自然是最佳方案。

但术业有专攻,精力也不免有限,针对后端服务架构师来说,还是有主次之分的。这里我列一下我认为的高优先级的课程,同时也给非科班专业出身但是想要从事互联网研发工作的同学一些建议。

数据结构算法

Pascal之父Niklaus Wirth曾提出一个著名公式:程序 = 数据结构+算法。

“数据结构和算法”是无可争议的基础内功。即使是我们下面要提到操作系统及网络,核心的技术也建立在他们之上。

“数据结构和算法”从表面来看是一个个具体的知识点。例如数据结构中的堆栈、队列、链表哈希表,树等等,算法中的遍历、递归、回溯、动态规划等等。但其实,“数据结构和算法”更是一种思维模式的训练。

这些思维模式包括不限于“时间和空间互换”“避免重复运算”“分而治之(将大问题分解为小问题)”“局部最优到全局最优”“贪心思路(总是寻求当下最佳)”等。有时候你会发现,这些思维本身是超脱这个行业的,是生活中很多问题的解决思路。

关于书籍我推荐《数据结构与算法分析》。新手的话可以从《算法图解》开始。如果你立志于之后从事算法相关工作,那最经典的《算法导论》还是要啃下来的。

大学目标简短,大学三年目标_简短.

《多本经典算法书籍》

【操作系统】

操作系统是基本上所有软件运行的载体。即使是使用单片机一般也会安装一个轻量级操作系统来屏蔽对硬件驱动本身的复杂操作。操作系统将硬件抽象为容易理解的资源概念,建立在这些概念上进行软件开发会变得轻松许多。

那你也许会问“如果操作系统已经帮我们都封装好了使用方式,还有必要去深入细节了解他吗?”我的答案是:“如果你想要成为高级工程师和架构师,是必须的”。因为你在职业生涯中必定会遇到故障处理和性能问题。而这些背后都是需要对虚拟内存、文件系统、进程线程、IO等有一定的了解,不然你不仅想不到解决方案,你可能连别人的解决方案都看不懂。

此外,操作系统本身的设计体现的思维方式,包括复杂概念的抽象、复杂场景的妥协、安全性的控制等等,更是软件设计的经典。

关于书籍我推荐:《操作系统导论》。另一本我认为作为进阶版非常好的书是《Unix环境高级编程》。

大学目标简短,大学三年目标_简短.

《操作系统经典书籍》

【计算机网络】

近十几年互联网的迅速发展和普及让这门知识变得越来越重要。虽然很多情况下我们并不需要和这里面的概念直接打交道,但和操作系统一样,如果你想在这行走的足够远,能够解决足够复杂的问题,那就必须有足够深入的了解。

我提几个点你可能就会更有体感。比如出于对性能考虑的自定义通讯协议设计、网络传输问题的排查、信息安全、高性能负载均衡等等。

单机时代,软件所有的操作集中在本机,硬件和软件决定了所有的功能及体验。理论上来说不存在信息方面的安全问题(黑客无法进入你的机器,也无法从你的机器里窃取任何东西)。而网络的引入实质是引入了“关系”,也就是你要和网线另一端不计其数的“别人”打交道。他们是好是坏?如果是坏的,他们有可能想要搞垮你,也有可能想要窃取你的信息并冒充你。那如何高效地使用好网络的同时保护好自己,是一个非常重要的话题。

关于书籍我推荐:《计算机网络自顶向下》。这基本上是毫无争议的经典书籍,必读。

大学目标简短,大学三年目标_简短.

《计算机网络 – 自顶向下方法》

除了上述提到的三门课程以外,建议可以再钻研一门语言,推荐在C/C++和java中挑选一门。当然,选择go、python、js也是可以的。语言本身其实并不是门槛,大学里学习一门语言更多的是让你能够有实践的能力。

这里多提一句,根据我自己的经验,跟着书本学习是最佳方案,比在网上找博客学习要好。最重要的原因倒不是体系化的问题,而是书籍的出版必须经过严格的校稿,保证语句的准确性和逻辑的连贯性。严谨的语句,准确的定义对于理解新知识是非常重要的。轻率的用词往往造成关键概念的理解偏差。

2. 勤于动手

上面介绍了非常重要的几门课程。很容易给人一种“只要看完了这几本书就可以了”的错觉。就像我在上一篇文章中提到的那样,看书只是一个输入的过程,而要做到内化继而输出,则需要去实践。

我自己的经验是,知识点的书面学习往往一知半解。因为读书的过程是一个基于自己已有认知,对新知识想象的过程。对真实样子的理解会存在不小的偏差,同时会漏掉很多的细节。就像很多人知道快速排序的原理,但是一上手写马上就懵了。

另外还有一个重要的原因。大学的课程设计往往是理论结合实践。例如,操作系统课程会要求自己实现一个简单的文件系统,网络课程会要求设计一个类似TCP的协议。如果你碰到问题还可以向老师或者高年级的同学求助。学校对课程作业的设计是非常用心的,值得好好的去做。

在课程外,结合上述提到的语言学习,我强烈建议深入学习某一个门语言的典型框架。例如java就是spring、js的jqueryreact或者vue、go的gin等。包括学习这个框架的用法、特点、原理。通过对框架的学习你能起码获得这些好处:

1) 能够快速地上手实践。

2) 了解优秀代码的代码规范是怎样的。包括命名、注释、代码结构、异常处理等等。

3) 知道什么是优雅的设计。优秀的框架都是设计模式的最佳实践。

总之,实践出真知,纸上得来终觉浅,这是真理。

用一个公式概括上述两点:选对了内容 + 勤于修炼 = 扎实的内功

3. 参加项目和竞赛

除了上一点提到的,结合着大学课程的实践和自我学习的实践外,还有一个非常好的实践方式就是:多参加项目和竞赛

大学里计算机系或者软件工程系往往都会有很多的实操项目,你可以申请参与。参与实际的项目完全不同于自己按照书本写练习题。真实的项目里你会学会如何理解需求、如何基于真实世界的模型建模、你会碰到很多切实的性能方面的问题、你会需要学会怎么做测试、你会有真实的丰富数据去验证你的逻辑等等。好的项目经历在就业时是非常加分的。需要注意的是,这里的“好的项目经历”不是指项目本身的价值,而是指你是否在这个项目里真正参与进去并获得了成长。

参加竞赛也一样非常有意义。而不同于项目意义的是,参与竞赛代表了一个学生在具体技能上钻研的程度很深,除了表现专业领域的强劲能力外,也表现了一个学生持之以恒探索的精神。另一方面,竞赛也往往表现了学生的聪明度、毅力、自律等品质。这些都难能可贵。

4. 大厂面试看重什么

我相信大家都看到过类似“突击面试教程”、“x天进入大厂”为标题的文章。

我个人是辩证地看待“突击”的。如果你时间不够,实事求是的说,你只能依赖这些突击教程。

现在的一些突击教程确实可以应对一定难度的面试了,加之你碰到的面试官是按照常规思路出牌的,再加之你自己反应足够快及灵活,也是有机会拿到一份不错的offer。

但是,如果你碰到经验丰富一些的面试官(尤其是二三面),突击的效果就会大打折扣。另外突击成功的同学,真正投入工作以后往往适应起来会比较吃力。例如某些原理不太清楚,可能需要快速补课操作系统或者网络方面的知识。

所以,我建议大家在大学一步一个脚印走扎实,毕竟实习offer或者应届offer也只是一个中间过程,更重要的是我们一直在反复提到的:“让自己在各方面都做好入行的准备”

但是,讲一下大厂面试的要求依然是有意义的,大家可以从中了解到大厂看重的素质。这些内容主要应对应届生招聘,对社招也有一定的借鉴意义。

我将标准分为基础类、进阶类和顶尖类。然后分别从技术、非技术和成果三方面说明大厂的要求。为了方便比较,我用如下二维表的方式呈现:

大学目标简短,大学三年目标_简短.

《大厂面试模型》

一般来说,满足基础类要求的候选人属于大厂的合格标准。而满足进阶类标准的候选人一般被认为是优秀毕业生,而满足顶尖类的则可以理解为公司重点培养对象(很多资源会为之倾斜,起码包括薪资及晋升机会)。

一个严峻的事实是,现在由于涌入这个行业的应届生数量庞大,一些大厂最后名额可能只能留给满足进阶类要求的优秀毕业生。所以希望这个表格的内容可以引起大家的思考,理解自己的不足,更重要的是知道自己努力的方向。

大学期间应该学什么讲到这里就结束了。你不用太过焦虑和担心,我相信如果你能做好这两篇文章里提到的内容,大厂的offer不是一件难事。况且这些内容本身我并不仅仅希望大家拿到一个理想的offer,更多是为整个职业生涯打基础,这才是更重要的。

今日小结

今天我们讲了两个部分。首先讲了在技术方面需要做的准备,包括重点的课程及注重动手实践,希望能够帮助大家把有限的力气花在刀刃上。接着讲了目前大厂对于应届生的要求,通过这些要求你可以看到自己努力的方向,早点开始未雨绸缪。

想要成为优秀的毕业生,最后成为优秀的架构师,必然是需要付出努力的。不过,你也不必太担心,《成为架构师》系列文章的初衷就是为了帮助大家找准方向去努力,只要你结合系列文章里的内容多加思考和行动。一定能够得偿所愿。

下一节课我会讲,临近毕业你需要提前做一些什么准备。这是建立在你已经拿到offer,并且离入职还有一段时间的情况下。很多应届毕业生基本都有这个阶段,短则几周,长则几月。相信看完后你会对入职更自信一些。

如果你正处于实习生面试或者应届生面试的阶段并且有一些疑问,欢迎你给我留言,我一定尽力帮助你。

加油吧,未来的架构师们!


原创不易,未经允许不可转载,违者必究。

期待你的关注。同时,如果你或者你身边的同事,同学有志于成为架构师,欢迎你分享并邀请他们一起加入,你一定不负此行。

你也可以关注同名公众号:CodingBetterLife 获取更多内容。

创业项目群,学习操作 18个小项目,添加 微信:jjs406  备注:小项目

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 924072740@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.xmfxquan.com/13995.html