计算机专业学习路线及经验

简介: 计算机专业学习路线及经验

前序

笔者目前就读于网络工程,已经是马上步入大三了,写这篇博客是想以此为基础开启我的博客之路,总结我目前的学习经验和学习计划,并且或许还能对刚步入大学校门的学弟学妹们一点帮助。


       回顾之前的学习经历,满是迷茫,大一刚进学校什么都不知道,甚至连自己选择的专业“计算机类需要专业分流”都不知道,还没有从高中那种学习方式思维中转变出来,也发现了大学并不是我想的那般美好,种种的不适应,慢慢的一学期的时间就匆匆过去了,总感觉没学到任何实质性的东西,就只是为了期末考试不挂科而“学习”。课余时间也不知道怎么度过,就是没事了打游戏,一边在焦虑这样下去真的能获得能力和就业机会吗,一边在惶惶度日。等回过头打算必须做出点什么改变了的时候,大一学年已经过去了。


       到了大二却发现再也不像大一那样有那么多的课余时间去做自己想做的事情,学自己想学的东西,学业压力也越来越大,一天都是做不完的实验,写不完的报告,准备不完的考试,一天学没学到什么,玩也没玩好,慢慢的也越来越焦虑,看到朋友圈里朋友们多姿多彩的生活,或是什么什么又得了个什么奖,再看看自己整天不知道怎么利用时间,就看着时间从手中如流沙般流逝,心里面很不是滋味,于是我下定决心,一定得做出改变了,既然我玩的没别人玩的舒服,那我就多提升自己,总归是要做些什么有意义的事情的,不然枉费了美好的大学时光,也是因为兴趣使然,我对于ps一直都有很大的兴趣,于是便在大二的假期开始自学Photoshop,慢慢的会的技巧也越来越多,再然后也能通过自己的能力为朋友们p图,得到了很多认可。


       于是我开始醒悟,好像学习并不是那么痛苦的事情,能实际学到东西,并且能用出来,得到别人的认可,这是一件非常有成就感的事情。直到后来我看到一句话,我觉得说的很好:“种一棵树最好是十年前其次是现在”,也正是这句话,点燃了我对于编程进一步自学的想法。既然本来就是要学的,那何不从现在开始就做好准备迎接一切际遇呢?从现在起打好基础,锻炼好自己的技术,巩固好自己的实力总有一天果实会收获的。

怎样学好编程

针对这个问题,我觉得需要对比市场需求,如果以前端和后端开发为分类的话。

前端

       通常意义上是指用户直接接触的端,像浏览网里的网页、手机上的app。简单的理解可以认为前端是在开发网页,让用户可以通过浏览器和手机app来访问。


后端

       是用来提供数据服务的能力,比如你看的的新闻,玩的游戏,你所感知到的内容都存在数据库里,后端的程序接收用户的输入例如:点击按钮,输入值,游戏中的移动、释放技能等都对应后端的一套处理程序,最终变为数据库里记录值的变更。

   对于笔者个人而言,我更加偏向后端开发,经过查阅资料后,整理出以下后端开发在就业时需要的主要的技能和知识点:


1.编程语言:掌握至少一门高级语言,如Java、Python、C++等,并对其有深入了解。

2.数据结构和算法:熟练掌握常见的数据结构和算法,如链表、树、堆、排序算法等。

3.数据库:了解关系型数据库(如MySQL)和非关系数据库(如MongoDB),以及它们的优缺点和应用场景。

4.网络编程:理解TCP/IP协议栈,熟悉HTTP协议等常见网络协议,能够实现基本的网络编程功能。

5.分布式系统:了解分布式系统的基本原理和架构模型,熟悉RPC框架(如Dubbo)等分布式开发工具。

6.Linux操作系统: 理解Linux操作系统原理, 熟悉Linux命令行操作, 能够进行基础运维工作

7.面向对象设计思想: 掌握SOLID五项原则, 设计模式

大厂后端招聘具体要求

       以下是笔者查阅部分大厂招聘具体要求,从中不难看出,基本上都是对上述必备的技能和知识点的具体体现







学习方法和目标

       在知道了从业必须的知识点后,我们才能有针对性的进行学习,就一个普通的在校生来说,编程语言如c/c++/java等在高校内都是有系统性的教学的,但是单单的做到学校的要求是不够的,语言的熟练度是对能力评判的重要标准,因此,多练习,多使用,多理解,多复习是必不可少的,笔者认为并不是每一门语言都要会,但是一定得有专精的一门语言,在非常熟练的掌握一门语言后,即使后来工作使用的是其他语言,也会有非常快的学习速度,毕竟计算机语言大多都是有共同性的,如“封装”,“对象”,“类”,“继承”,“函数嵌套”在很多语言中都是有的,背后逻辑也大体不差,有一门熟练的语言基础后,对于理解未知的语言也是有莫大的好处的。数据结构和算法,数据库等等一系列的知识也是如此,是需要大量的练习的,在牛客网和LeetCode上注册好账号,每天进行一定的练习,不要求量多,但要多次,把写的代码通过托管平台上传到gitee上进行总结和归纳,对于日后也是有莫大的益处的。每周都要敲一些代码,并且上传。在学习编程这件事上,坚持每周花费20个小时往上,锻炼自己写码和读码的能力。在有一定学习能力后,积极的寻找并且参加实习,积累工作经验,争取有朝一日能进入百度这样的大厂。 

目录
相关文章
|
JSON 运维 JavaScript
教你如何快速接入微信消息通知,使用消息推送服务,「传息」推送消息到个人微信
教你如何快速接入微信消息通知,使用消息推送服务,「传息」推送消息到个人微信
2843 0
|
存储 SQL 关系型数据库
深入探究InnoDB的MVCC快照机制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
1014 5
深入探究InnoDB的MVCC快照机制
|
并行计算 API 异构计算
JAX 中文文档(十六)(2)
JAX 中文文档(十六)
965 1
|
人工智能 开发工具 Swift
ModelScope联手OpenDataLab:直接调用7000+开源数据集,赋能AI模型加速研发
魔搭社区和OpenDatalab浦数合作,共同开启一场模型与数据的深度融合,旨在为中国开发者打造更加高效、开放的AI体验。
|
存储 安全 数据可视化
日常工作必备的5款实用软件推荐
本文推荐了几款实用软件,旨在提升日常工作生活的效率与安全性。包括数据可视化工具Keyviz、提升办公效率的Office Tab Enterprise、微信空号检测工具燃精灵、专注工作的时间管理软件Cold Turkey,以及密码管理工具KeeWeb。通过这些工具,可更好地管理工作、提升生产力并保障数字安全。
510 3
|
机器学习/深度学习 算法 数据可视化
面向萌新的数学建模入门指南
面向萌新的数学建模入门指南
1648 0
|
C# 微服务 Windows
模块化革命:揭秘WPF与微服务架构的完美融合——从单一职责原则到事件聚合器模式,构建高度解耦与可扩展的应用程序
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中借鉴微服务架构思想,实现模块化设计。通过将WPF应用分解为独立的功能模块,并利用事件聚合器实现模块间解耦通信,可以有效提升开发效率和系统可维护性。文中还提供了具体示例代码,展示了如何使用事件聚合器进行模块间通信,以及如何利用依赖注入进一步提高模块解耦程度。此方法不仅有助于简化复杂度,还能使应用更加灵活易扩展。
684 0
|
前端开发 测试技术 数据库
电影网上购票系统设计与实现(论文+系统)_kaic
电影网上购票系统设计与实现(论文+系统)_kaic
|
Java
图书管理系统(图文详解,附源码)
图书管理系统(图文详解,附源码)
5668 0