首页 > 其他分享 >2020应届生半年开发后的反思和决定

2020应届生半年开发后的反思和决定

时间:2022-10-09 11:37:12浏览次数:40  
标签:半年 CRUD 算法 源码 2020 反思 设计模式 应届生


 爆发的疫情,把我揽在家里,每天抱着电脑学习,每天躺在被窝反思,偶尔也会在室内做些运动。

 

# #  基本情况介绍

  我也是一名开发工程师,虽然还没毕业,但是也是做过半年开发了,在做的是12306 。没错,就是大家都不想做的那种CRUD工程师,做着大家都抱怨的CRUD工作。当然我也不能排除在外,也曾抱怨过CRUD没有意思。现在确实要反思一下,这半年,我们真的把CRUD做好了吗?

 

# # CRUD 工作的反思

  不会总结的人,就不会几进步。不擅长记录的人就不配进步。抱怨一件事的时候,先把它做好,才能有更多的机会当做跳板做更高级的事。抱怨不如反思,抱怨只会让我们积攒一肚子怨气,活的不开心,过的不开心。

  做了半年的CRUD,

  你对数据库足够了解了吗? 

  你的sql 能力有足够的提升了吗?你的sql 能解决所有的问题了吗?

  能写出来的 sql 你有去看一下执行计划吗,能够去优化吗?

  持久层框架,用的足够熟练了吗?那么多持久层框架,都有什么区别,都有什么优点,什么时候用什么?考虑了吗?

  数据库索引问题,有去深究吗? 

  代码写了那么多,设计原则知道吗?有去用吗?设计模式知道吗?有去使用设计模式,和设计原则去完成你的CRUD吗?

  既然代码写了那么多了,那么积累了什么?有没有想过,通过一些插件的方式,将自己重复的工作,利用插件来完成?

  你做的业务足够熟悉了吗?

 

# # 半年来拼命的学习,然后拼命的忘

  这个问题,我相信大家都不陌生。你拼命的往上爬,却拼命的下滑,这种感觉。半年的时间,地铁上看完了两本书,但是现在一点都不记得了。包括之前的学的那些东西,都忘了好多,感觉我什么的都不记得了。

  半年时间,通过直播课,通过B站,零零碎碎的学了好多,学了微服务相关的,系统的学了消息队列相关的学了ELK相关的,学了容器化技术 docker,和部分 k8s, 但是这些东西,是学过?还是学会的? 其实只有我自己知道。我没有建立一个完整的知识体系。所以导致我遗忘的特别快,视频化的学习方式,很容易理解,但是很难记住。另外温故而知新,真的是圣经。我们在学的时候一定要去复习,一定要回头看。

 

# # 表面的努力

 半年时间,到这一篇为止,写了125 篇文章。但是我真的能记到心里的,真的找不到有什么。我太着急了,学习架构的东西,等等。 但是这些给我带来的提升好像并不多。这一切就好像是表面的努力,就是没有意义的努力,没有价值的努力。

 

# # 反思以后

 我缺少一份计划,和一个目标,之前认识一个朋友,他问我为什么这么努力,是不是想做什么事。 好像没有,我好像只是告诉自己要做一个努力的人。所以我缺少的是一个目标,比方说我要去 阿里巴巴,比方说我一定要换一个更好的工作。

  我需要给自己制定一个计划,这样自己才知道是在做什么。

  迷茫会让人失去动力,迷茫会让人遗忘更多东西。

  从今天开始,我要针对自己的简历,去温故知识点。要去拆散的,每天去复习一点之前学到过的。

  每天要去啃一些源码,每天去反复理解一个设计模式。

  每天尽量的去看一些算法题。

 另外每天尽量早睡...

 

# # 补充 源码问题

  这里谈学习框架源码的事情,并不是为了提升逼格,不是仅仅出现在简历上,然后在面试的时候吹。而是如果你能整体的学习一个框架,吃透里边的设计模式,以及框架是如何处理问题的。这对今后会有很大帮助,即使我们是写CRUD的,也可以先把我们的CRUD写的很规范,写的易扩展,写的方便维护。不管代码今后是不是我们维护,赠人玫瑰手有余香。

  另外只有我们足够熟悉源码的时候,才会发现,其实框架为了兼容一些问题,在设计的时候使用了大量的设计模式来解决问题。特别像是 spring 这样的源码,它是非常优秀的源码,可以通过读源码,去看设计者是如何让它易扩展的。以及只有你熟悉了它的整个脉络以后,你才能在框架的基础上去自己扩展,甚至是定制。这才是跳出CRUD 的重要途径。

 

# # 补充 算法问题

  之前不懂事,觉得算法是面试必问的,笔试必考的,所以得出结论,算法是为面试准备的。

  显然是不懂事的,所有的算法都不是那么简单。重要的是解决问题的思想,就像一个归并排序,最最重要的其实还是它解决问题的思想,拆分的思想。

  比方说在公司有这样一个场景问题,就是对账工作,大概是千万级别的数据量,要对出差异。应该怎么做?其实和这个类似的算法题是:100亿个query,1G内存如何找出这俩个文件的交集?分别给出近似算法和精确算法?


  其实这就是为什么一定懂算法的工程师。因为他们都能在面对类似问题的时候提供最精准的解决方案。

 

# # 结语

  其实CRUD并没有那么简单,有很多问题等我们考虑,研究。先做到把代码写的漂亮,这里包括能够写的规范,能够熟悉的使用设计模式解决问题,写出易扩展的代码,遵守设计原则。而不是CRUD,数据库有数据就完了,另外数据库是如何去保存这些数据的,如何去保证ACID的。怎么才能提高它的效率。即使是CRUD有野很长的路要走。任何一个问题都是一本书。

标签:半年,CRUD,算法,源码,2020,反思,设计模式,应届生
From: https://blog.51cto.com/u_15812686/5739962

相关文章