当前位置: 首页 > news >正文

(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路

今年正式步入了大四,离毕业也只剩半年多的时间,回想一下大学四年,感觉自己走了不少弯路,今天就来分享一下自己大学的学习经历,也希望其他人能不要走我走错的路。

(一)初进校园

 刚进入大学的时候自己完全就相信了高中老师的话:“进入大学你们就轻松了”。因此在大一的时候自己学习的激情早就被抛地一干二净,每天不是在寝室里玩游戏就是出门游玩,不过好在自己大学时买的第一台笔记本性能并不是很好,也没让我彻底沉迷游戏。大一的学科基本上都是基础学科,高数、物理、英语等等,唯一一门编程课程就是C语言。那个时候自己根本就不知道程序员究竟应该干什么,怎么做。每天的生活就是上课、下课,和高中唯一的区别就是课堂不固定了,有时候早上没课能睡懒觉了。这样的状态一直持续到了第一学期结束。

(二)开始醒悟

大一结束后自己通过最后几天的恶补成功通过了考试,在大学通过考试真的很容易,而且还拿了个三等奖学金,还觉得洋洋得意。但是当寒假和别人同学聚会的时候被人问到学了半年计算机,会做些什么东西的时候,发现自己甚至连一段有意义的代码都写不出来。因为自己的家境也并不是很好,开始明白如果自己真的要走这条路一定不能这样混混噩噩下去。于是寒假的时候重新学习了C语言,渐渐也发现了编程的乐趣。尤其是当一个功能成功的时候,那种成就感很难形容。大一第二学期的课程依旧以基础课程为主,和上学期唯一的变化就是在新学期我开始在寝室里主动去编程,但似乎也仅仅如此。

(三)初始java

学习C语言的过程中自己更多的是老师教什么,自己学什么,直到碰上了java课程后,我竟然发现这门语言和自己如此适应。学习C语言时最烦的指针在java里竟然不用自己去写。面向对象的编程语言让我看到了编程的新乐趣。我用半学期的时间看完了上课的课本,因为上课被老师叫到讲台上编程好几次,在快期末的时候老师让我用java做一个能展示出来的东西,于是我做了人生中第一个”大型“的项目,基于java的画图板,当然功能和windows上的画图板相比还很简单。当时把代码发给老师的时候我甚至是把所有代码放在剪切板中,再传给他。后来的课程中也学了java的一些框架,渐渐也正式入门了java。

(四)参加项目

当时自己想的是大学期间不做点项目似乎就不是大学,于是在大二下半学期的时候参加了一个老师关于深度学习的项目,当时也是听着很高大上才报名参加。因为项目用的是python语言,于是自己又重新开始学python,看深度学习实践的四本书。其实说实话本科生去做深度学习的项目是不容易的,哪怕看了书,在不懂原理的情况下,很难深入。但是在坚持下最终这个项目在大三上半学期结束了,拿到了大学生挑战杯不错的奖项,参加项目能让人提升很多,不管是技术上还是性格上或是未来的工作机会上。

(五)开始面试

大三暑假的时候,投了阿里巴巴的java实习生,竟然收到了电话面试,于是在网上花5天时间看各种面试题。投了简历后大概一个多星期后收到了阿里巴巴面试官打来的电话,中午11点的时候打来了第一个电话,问我什么时间有空,最终把面试时间定在了下午1点半。但是这个电话等到两点半我才接到,接下来就是正式的面试了。

首先面试官先问你会什么,我就说主要会java,接着他问我大学时做过什么项目,我就把之前参加的大学生挑战杯项目和他说了一下,不过看起来面试官似乎并不对这些很感兴趣。再然后就开始问技术性的问题,第一个问题就把我给难住了,他问我对java虚拟机有多少了解。说实话,我甚至没有看过java虚拟机相关的书籍,只在看面试题的时候去简单了解了一下,至于内存如何分配,如何调优一窍不通。看到我对java虚拟机不熟,于是面试官开始问SSM框架的一些内容,关于如何自定义注解,Spring如何实现切面......最终的结果肯定是没有通过,面试官最后给的意见是多往深的地方去研究,不要只会用,基础很重要

(六)寻求改变

其实经历了这次面试之后我开始明白自己的不足之处,究其原因也是在大一的时候没有做好最自己的职业规划,其实计算机包含的内容太多太多了,涉猎更多的知识重要,但是最重要的还是要在自己最擅长的领域去深耕。没有几个人能同时精通多种知识,一个精通后端开发的人很难再去精通数据挖掘,深度学习。同样一个在运维领域的大牛在开发领域或许还比不上刚入职场的小白。所以我给自己定下了一个方向,去做java端的开发,并去学习一些前端的知识。阿里面试结束后我还明白了公司最看重毕业生的不是做了多少厉害的项目,最终还是会看你基础知识够不够扎实。

我开始让自己沉下心来,看基础性的书籍,关于jvm,关于多线程,关于数据结构,关于数据库......虽然之前浪费了很多时间,但是我的时间还有很多,继续追赶来得及。

开始用学到的东西写项目,这样能让我对学到的知识理解更加深刻;开始写博客,虽然看的人并不多,但是输出会比输入更快的学懂知识,同时在写的时候才会知道自己哪里不会。

(七)总结 

大学四年来,走过的弯路很多,我的建议总结起来有下面这几点:

  1. 千万不要以为大学就轻松了,对以后还是想从事计算机方面的人来说,大学时候的努力能让你再毕业时就和别人拉开距离。
  2. 尽早做好职业规划,知道自己要往哪个方向发展。
  3. 学习技术要深耕,至少要精通一块,不要学得多但是一门精通的都没有。
  4. 项目要参加,不过要选适合自己的。
  5. 基础很重要!像数据结构这类的课程一定要学好。
  6. 一定要能够自学,计算机的发展太快了,大学时学到的知识很多已经很落后了。

当然了还是希望自己的博客能有人看吧! 

 

相关文章:

  • 经验分享:JAVA实习生刚进公司主要做些什么?以及进入职场后我的心理变化
  • oracle迁移mysql数据库注意(转)
  • 实习工作经历:代码在本地明明可以跑通,怎么放到服务器上就不行了呢?
  • 搭建一个包含多种Get请求和Post请求的工具类
  • 一致性hash原理与实现
  • 作为一个程序员需要了解多少网络方面的基础?网络基础总结(不断更新)
  • 四千字从源码分析ConcurrentHashMap的底层原理(JDK1.8)
  • redis学习笔记6--集合类型
  • 都2020年了,你还不知道count(1)和count(*)谁效率更高吗?
  • Linux下PF_PACKET的使用,RARP的server和client程序
  • 面试官:不会真有人不知道什么是线程池吧?
  • 从零搭建基于SpringBoot的秒杀系统(一):项目准备
  • 【总结】oracle恢复误删除数据,解除锁定的等sql语句
  • 从零搭建基于SpringBoot的秒杀系统(二):快速搭建一个SpringBoot项目
  • 重拾cgi——cgi dispatcher
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • javascript从右向左截取指定位数字符的3种方法
  • Java编程基础24——递归练习
  • js面向对象
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue官网教程学习过程中值得记录的一些事情
  • Vue实战(四)登录/注册页的实现
  • 百度小程序遇到的问题
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 服务器之间,相同帐号,实现免密钥登录
  • 技术:超级实用的电脑小技巧
  • 看域名解析域名安全对SEO的影响
  • 前端自动化解决方案
  • 硬币翻转问题,区间操作
  • 组复制官方翻译九、Group Replication Technical Details
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Panda3d 碰撞检测系统介绍
  • #{} 和 ${}区别
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (剑指Offer)面试题34:丑数
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十六)Flask之蓝图
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • ***详解账号泄露:全球约1亿用户已泄露
  • .“空心村”成因分析及解决对策122344
  • .NET : 在VS2008中计算代码度量值
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .Net 中Partitioner static与dynamic的性能对比
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET上SQLite的连接
  • @开发者,一文搞懂什么是 C# 计时器!
  • [AIGC] 如何建立和优化你的工作流?