未来:后端开发
数据结构与算法
五月份之前将数据结构与算法完结:
红黑树学完后,树的学习就告一段落;
图复习最短路径、再实现一次BFS和DFS;
学习并查集深入一些的算法;
二分法;
动态规划;
JAVA
数据结构与算法类这个月完结,之前一直认为数据结构与算法学完了,后面才发现有很多漏掉了,这次学的深一点,满足日后对算法的基本要求。
现在已经学完了封装、继承、多态这些基础的知识,我想把精力都花在学习JAVA上,我了解到后面还有很多难点,比如说:垃圾回收机制、多线程、JVM、开发模式,这些都需要学习,我至少花一年来好好学习JAVA
MySQL
- 看完一个完整的视频体系或者书籍
- 在终端使用sql语句
- 结合InnoDB特性学习
在Linux终端操作mysql,学习MySQL的同时学Linux,开发中Linux也需要熟悉,之前也有过一点点Linux的基础
脚本语言
学python,学习完手边的 python编程从入门到实践 应该差不多了,我自己认为需要学习一门脚本语言应该是为了以后能省掉很多重复的工作,所以这一块花的时间应该不用前面那么多,学完这本书就足够了
计算机网络基础
学习计算机网络的基本知识
基础的:
- tcp 和 udp 之间的区别哪些协议用到了 tcp,哪些用到了 udp
- http 和 https 之间有什么区别
- 加密方式分为哪几种(对称加密和非对称加密)
- OSI,TCP/IP,五层协议的体系结构,以及各层协议
深入一点:
- TCP 的拥塞控制是如何实现的
- 快重传和快恢复是如何配合
- 如果我计算机的 MTU(最大传输字节)设置过大会有什么影响
涉猎计算机组成原理
操作系统
看一个体系的视频或者书籍,“操作系统特点为内容多,但于此同时也非常有趣同其他计算机知识紧密联系。后端开发工程师对操作系统的要求不小,如果有时间的话最好多复习点。”
总结
主要精力集中在JAVA,然后学一门脚本语言、MySQL、Linux、网络基础、计算机组成原理、*操作系统。数据结构与算法已经花了许多时间了,我去找了许多资料,结论是数据结构是每个程序员必须要熟练掌握的知识,上面写的算法也是每个程序员必须掌握的,所以花的时间还是值的。