反思
大一
参加了大量的社团、学生会的活动与工作,而对于学习有明显懈怠。因此真正学到手的知识,寥寥无几。再加上大数据技术概念的新颖性,除去课余时间,大多时间,放在了虚无缥缈的路线摸索以及规划的过程。
收获:
- JAVA语言基础知识(语法基础、面向对象程序设计、继承与多态、接口);
- C语言基础知识(语法基础,基础指针操作);
- 人脉基础,为后续交流学习经验、规划学习路线,做铺垫;
大二
最初看着大一期间收集而来的大数据学习路线(一堆英文,他认识我,我不认识他),感觉无从下手,加上身边没有一个具有大数据方向的标杆性老师或者同学,因此倍感无助。无奈之下,选择了跟随老师做实际的工程项目,学习已经具备完善体系的Java Web。但随着对Java Web体系的逐渐了解、课程学习到大数据技术实践,开始明白一个程序的设计与开发过程,也慢慢的明白了大数据技术(如HDFS,HBase等)在现实软件开发过程中的使用场景。因此大二下学期末果断选择放弃Java Web的学习进度,转而反攻大数据技术。
收获:
- JSP、Servlet、Tomcat的基础配置、使用,理解了Web程序数据交互方式;
- Spring、Spring MVC、Spring Boot、MyBatis、Mybatis Plus、MySQL的基础使用、配置、编程技术;
- HTML、CSS、JS、Vue、JQuery、Vue-Element在程序开发中的应用位置,能够结合后端技术独立开发一个简单的前后端分离程序;
- 了解微信小程序开发方式,了解企业开发框架——RuoYi;
- 了解了Java Web应用程序的设计开发流程,并据此考下了软考中级(软件设计师)证书;
- Hadoop完全分布式集群的搭建与基础配置、维护;
- Spark、Hive、HBase、Flink的环境搭建,以及基础的shell操作;
- HDFS、MapReduce、Spark、Hive的编程操作;
- 了解Spark、Flink、Kafka等大数据中间件,在一个大数据应用中的使用位置;
问题
两年时间转眼即逝,大学时光已过大半。不似最初进入校园时的懵懂。已经能够利用自身所学,去开发程序,去搭建、维护计算机集群,能够利用技术解决某些实际问题。理解各种技术在现实生活中的使用场景。
曾一度以为自己路线清晰,学习努力,甚至一度以此为傲。但在查找一些目标公司的求职经验,以及面试资料后,发现面试题一问三不知之时,才幡然醒悟——其实自己学的非常浅薄。
大量时间放在了知识面的广度上,没有深入学习任意一门技术,是这两年来最大的败笔。一味的追求路线清晰,因此所有技术,都是了解、使用一下就过。都仅仅只停留在应用层面,包括最常用的Java语言都仅仅只是基础,JUC、JVM、甚至是集合操作,都没有一个很好的掌握。MySQL等技术的原理,也从未涉及,甚至连最常用的RDB索引,也不曾了解。
虽然这些知识,足以应付学习、日常开发的需要,也能够让自己在同级之中大放光彩。却终究只是外强中干,看起来什么都懂,实则啥也不会,没有一点深度,整个人过于虚浮。
经过与老师、学长学姐,积极交流,思量再三,做出一下总结。
总结
- 过度依赖实习工作指定的学习内容、掌握程度。拘泥于框架的应用层面,以为学会应用就可以就业,并一度因此自负;
- 过度依赖单一老师的路线指导。没有形成自己的路线规划思维(并不是老师有错,只是并不适合每一个人);
- 过度臆想未来。没有注重当下的脚步是否扎实,一步一个脚印,才是真理;
- 过度贪图名利。参加各种比赛,没有一个明确目标;
解决方法
- 在追求路线规划清晰的过程中,应该学会一步一个脚印,稳扎稳打,将主要时间放在深入学习,而不是本末倒置;
- 在和老师的交流过程中,根据自己的情况规划学习,而不是盲从;
- 参加比赛,终究只是自我证明。应该将时间放在自我提升之上(专业相关方向),要目标明确;
- 既然已经掌握了实习需要的东西,剩下的只是无限重复,因此放弃当下的实习工作,选择闭关修炼;
后续计划
全部从头来过!以深入理解,为最终学习目标。谨以此篇告诫自己,不要眼高手低!
|