以下内容只是在我的认知内,还有很多我不知道的知识,需要去阅读,学习 如分布式,高并发,大型系统开发、大数据开发,我没有经验
学习技术的方法,学习的方法
官方英文教程, 涉及的知识点, 遇到的问题, 应用的场景, 解决的方案, 实践的案例, 总结的经验。 把知识与别的知识联系起来。 这些知识的关联。才是最好的理解。 主题阅读,体系学习。
找到自己擅长的能力,放大它,如数学,计算机,逻辑思维,思考与写作
在学习过程中应该把以下内容分为三个版本:
系统学习体系知识: 学习计算机的整个体系知识,对计算机行业有整体的了解
最快实践: 快速实现技术功能,应用到软件开发中
面试八股文: 网上的面试题,及如何解答,结合实际开发场景
后端: 计算机基础/Java基础(Map/List)/数据结构与算法/设计模式/linux运维/JDK/Tomcat/Nginx/httpd(apache可选)/Mysql/Oracle/Sql Server IO、NIO、网络性能、性能优化 前端:Vue 、React 、Angelar、CSS、Html、Js、ES6、Node.js
Mybatis/spring/spring boot/spring mvc
Spring cloud/缓存(ecache/memcache/redis/mongodb、Nosql)/消息队列(kafka、activemq/roketmq/rabbitmq)、压力测试、性能测试
分布式、集群、负载均衡、多线程、高并发、高可用 docker,K8s、微服务系统设计,系统分析与架构 Dubbo、Zookeeper
【技术能力(orcle/mysql/sql server,数据结构与算法,mybatis,spring,spring boot,hiberate,struts, spring cloud,mq ,redis,分布式,集群,高并发,mongodb,linux运维,系统监控,docker,微服务系统设计,系统分析与架构(发现系统不足并完善,并写出架构文档),nio,多线程,nosql,性能调优(tomcat/nginx/jdk/mysql),jetty),大型网站开发设计】
【文档编写(需求分析文档、详细设计,数据库设计,系统设计(内部结构、处理流程、模块接口),单元测试,集成测试,功能定义、程序系统设计(pdm/流程图/思维导图/活动图)、代码注释、接口文档、任务目标,重构设计,code review,评审(需求,数据库,代码等))】
源码剖析和框架定制能力
平台性能分析和调优能力
分布式架构设计能力
海量数据存储能力
高并发处理能力
解决方案和中间件实战能力
容器技术应用和集群化部署能力
海量数据搜索和实时计算能力