自我反思
起因
就在昨天,我打开微信的时候惊喜的发现收到的字节跳动发来的面试邀请。当时还在上课,我感到特别兴奋。瞬间手头的工作都不想做了,开始陷入各种臆想之中。并且直接约了第二天面试。后来冷静下来了,我去牛客上面翻了一下别人的面试经历,问题等等之后,我就陷入了一种胆怯的情绪中。我开始后悔了,那些问题我似乎并不能流利的回答,各种八股、底层之类的。于是我又急忙找了借口,推掉了这次面试。这次经历让我不禁开始自我
反思……
我会什么?
是啊,一转眼大三了,我会的东西似乎都只停留在表面,一直在为了业务而学。感觉就是只会curd。我曾一度以为我陷入了瓶颈。SpringBoot、MyBatis、Vue、MySql、前端三件套……这些我都用过,可是你要是往细了问底层?我可以说是一问三不知。编程语言C、C++、Java我也会用,你要我讲出他们的特性?设计的原因?我也答不上来。我到底会什么?我想了很久,得到答案,我会的是如何用,而不是为什么用。这是表层的和里层的区别。
都是用,为什么要特意区分这两种阶段?
如何用
表面的会用,你的能力就停留在别人的框架上面,他给了多少api,你就用多少,你知道这个function干什么的,你就用这个方法。你的能力最大的范围就在框架上,是局限的。别人给多少你就用多少,你不会理解,从而失去创造的能力
为什么用
真正的会用,你从底层理解框架的设计方式,了解原理,他给的api没法限制你,你可以用框架的原理,做出更好的,更优秀的内容,你可以自己封装api,自己拓宽框架。你可以自己创造。这才是真的理解。
不要停留在用工具的思维
你大可以将各种别人的框架作为一种工具使用,这是正常的,但如果想要提升,显然是欠妥的。作为计算机相关专业的学生,未来的计算机从业人员,应当更具备理解,并内化的能力。这样,才能长久的学习,不被时代淘汰。
接下来的打算
业务、项目开发
从大二下开始学习开发,从那时一直到现在,我有点过于追求这一块了,我需要放缓一下脚步,减少无用的重复的业务开发。
算法
大二开始接触算法,从大二下开始渐渐放下,现在我又警醒,我要继续保持算法的学习。面试竞赛会用到
编程语言
由于前面刷题等等常用C++、C对于Java的理解实在欠缺,需要多用Java写题,熟悉Java特性
基础
计算机网络、操作系统、计算机组成这些内容我需要通过落地一些实际的小项目深入理解,如TCP/UDP这种
还有并发编程等等也会陆续落实
展望
知耻而后勇,希望这个学期之后我能更有底气的站在面试官的对面,讲述我的项目,我的学习成果,奔个好的前程