作为一个工作3年的程序员,偶有些偶的看法。如下
1、入门语言选择这里偶的建议是入门语言可以选Python,如果你对前端方面也比较感兴趣,偶觉得JavaScript 也是一个不错的选择。
为什么偶推荐你选Python作入门语言呢?有如下几点
1、Python 语法简单,有大量的库和语法糖,是比较容易上手的。
2、可移植性强,可以在很多平台上无缝连接,比如Linux 、Windows等。
3、学习成本是较低的,对于新手非常友好。
虽然现在go 语言在国内也是比较流行了,整个生态圈也挺乐观的,但是偶还是建议首选Python 作为入门语言。
2、入门语言正式入门的话。偶推荐你选择Java,因为偶个人觉得Java是所有语言综合实力最强的。
然后偶注意到你才大二,那这个阶段,偶建议你先去攻克课程里的数据结构和算法吧!因为在偶看来,数据结构是血肉,算法是灵魂。如果大家把这两项都搞得差不多了,后面你会发现学习每一门都是很快的。
3、注重计算机基础知识这里还有建议的是,在大学期间一定要去学习计算机操作系统和网络方面的知识,因为在偶看来这块基础也是块硬骨头,但必须要啃下来的。现在很多大厂面试的第一轮面试都是考察的是基础,基础包括数据结构、算法、计算机操作系统以及网络等。
大学毕业之后要找工作吧,那么首先应该是走校招吧。
那么,如果你走校招的话,你就要在基础知识那块要花费时间去研究它们。
如果这些你都OK了话,假如你选的是Java,那么偶有如下几点建议向进阶方向发展的:
1、了解并学习面向对象的编程,这是最基础的了
2、主攻Java了,那就一定要学Spring、SpringBoot ,SpringCloud 可以后面再学习。
因为Spring里有太多的设计思想和设计模式供大家学习和研究了,并且大都公司都是用Spring和Springboot 做框架的。
3、数据库设计。这里建议直接去学习开源的MySQL,首先就是最基本的SQL语法了,这里推荐去官网看看官方文档,以及推荐这本书《MySQL必知必会》
4、集合框架,Java里最常用的HashMap、ArrayList等集合框架,要学
5、多线程,如进程和线程、线程的创建、线程池等
后面这几点是提升的几点建议:
1、jvm相关的技术,如JMM 内存模型、GC垃圾回收、各种垃圾回收器使用和原理、jvm 调优、jvm调优工具
2、消息中间件。因为现在很多大型项目都是分布式和微服务的嘛,所以这里建议要学习如rabbitMQ、RocketMQ(阿里开源)、Kafka 等中间件使用和工作原理。
3、分布式,如分布式事务、分布式锁、流量与数据调度以及全栈监控等
4、并发相关的技术了。如Synchronized锁及原理、volatile关键字、atomic原子类、aqs、Thread等
5、MySQL实战性能优化方面,如索引底层实现原理、事务底层实现原理、分库分表等
6、Netty 框架深度学习,这里Netty 偶觉得可以单独拿出来学习和研究源码的。
好了,上面所有内容都是偶个人的经验和自身的学习经验提出的,后续的话,欢迎有同学在下方评论区多多补充和扩展哈。
欢迎志同道合的一些同学关注偶哦,偶会分享一些Java相关的技术和日常,让大家一起学习、一起进阶、一起牛掰吧!
dnf怎么写脚本,如何画网络安全画报,gho 怎么修改