Skip to content

Latest commit

 

History

History
45 lines (44 loc) · 2.51 KB

学习经验-Q1.md

File metadata and controls

45 lines (44 loc) · 2.51 KB

目前什么技术栈最适合自己学习?

针对这个问题,我只能谈谈对后端的经验,但是总体而言都是差不多的.

大一(萌新)

这里的萌新主要是针对新加入团队的,对技术方向还不态了解的同学.

明确方向

明确自己的学习小组是什么,以及是不是自己真正感兴趣的方向.如果确实不是自己喜欢的方向就尽早申请小组的调整. 团队目前的学习方向是:

  • 后端:面向服务端开发,主要针对逻辑和数据的处理.
  • 前端:界面显示,根据数据进行解析显示.
  • 区块链:区块链网络的学习,主要针对网络个共识算法学习,以及通过区块链常用的框架保证数据的可靠.
  • ui:产品设计和美化,建议向前端或产品经理的角色进行发展.
  • 算法:机器学习,同时为开发提供算法支持.

扎实基础

初入团队时我以为只是掌握技术栈就可以了,现在才发现值得学习的不仅仅是不断更新的技术栈,更重要的是那些始终不变的东西. 而不变的这些东西才决定着你能够走多远,所以大一的同学应当主要学习:

  • 一门开发语言(Java/Go/Python/JavaScript)
  • 计算机网络原理(网络协议)
  • 数据结构和算法:主要针对后端和算法方向
  • 操作系统

大二

在大二阶段是比较重要的阶段,处于一个快速学习的阶段.这时候可能会有很多项目需要进行开发,但是一定要在闲暇时学习新的东西. 这时候就需要首先学习自己开发最迫切需要使用的技能.总之一句话,就是在大二阶段尽量多的学习新技能,让自己的技术池有一定的广度:

  • 后端:
    • SpringCloud(非必须)/SpringBoot/SpringMVC/Spring
    • Redis:非关系数据库,一般用于缓存
    • MySQL:关系数据库,数据持久化
    • Nginx:反向代理和负载均衡
    • Mybatis/Hibernite:持久化框架
    • Linux:项目的部署和运维
    • Docker(非必须):用于容器化部署,简化环境冲突
    • MQ(非必须,推荐RabbitMQ/Kafka):消息队列,应用解耦,异步,削锋
    • ElasticSearch(非必须):关键词搜索

大三

大三处于一个技术原理的深入找实习的阶段.当然如果学有余力的话可以适当将技术池进行拓展,但是前提是对已学的技术有一定的深入了解.

  • 后端:
    • 源码学习:Spring,JDK
    • Java进阶:
      • 多线程/并发
      • 反射/动态代理
      • Socket编程
    • JVM原理
    • Redis架构
    • MQ架构
    • ES架构