preface
For most programmers, having a clear career path is not an easy task. As a programmer who has a poor foundation and has been coming from the bottom for many years, I would like to share a treasure book that helps me a lot here. I hope my peers can quickly master these technologies and overtake on the curve directly.
Many programmers don’t know what to learn. Or don’t know where to learn? Today we share this treasure book recommended by Ali, Java growth treasure book, from P5 to P8.
Complete electronic version, see the picture below!
P5: Able to carry out assigned tasks independently
1. Open the door to programmers
- Basic computer +CPU/ memory/hard disk + software and hardware association + base 2, bit operation
- Windows Basic + Environment variables +PATH/CLASSPATH+ Common commands
- Linux Basic + process/file commands + Network/security commands/common commands
- Vm installation and use +VMWARE+Linux installation
2. JavaSE core
- Object-oriented and basic syntax + encapsulation + inheritance + polymorphism + identification conformation reserved word + data type + flow control
- COLLECTION framework +COLLECTION+LIST+SET+MAP+COLLECTIONS+ARRAYS
- Thread + thread process +Tread, Runnable+ thread lifecycle + thread pool
- IO framework + byte stream + character stream + buffer stream + processing stream + standard stream + conversion stream
- Design mode + factory mode + singleton mode + Adapter mode + Decorator mode + proxy mode + Policy mode + template method mode + visitor mode
- Design principle + single responsibility principle + Richter substitution principle + dependence inversion principle + interface isolation principle + Demeter principle + open and close principle
- Network communication + Basic network knowledge +TCP/IP+HTTP+UDP+Socket+Netty
3. The MySQL core
4.Web front-end technology
5.Java backend technology
- Servlet/JSP+HTTP protocol +Tomcat server +Servlets implementation principle +JSTL and EL expressions + listeners and filters +JSP related knowledge
- Spring+Spring IOC+AOP+Spring design pattern +Spring transaction processing +Spring dynamic proxy + proficient in Spring work common annotations and traps
- SpringMVC+SpringMVC + relevant annotations + View processor + data validation + interceptor + basic source code
- Mybatis+Mybatis implementation principle + mapping file + dynamic SQL+ cache mechanism +Mybatis basic source code +Mybatis-Plus application
- SpringBoot+ Basic use of SpringBoot+ data source configuration + configuration file +SpringBoot Web development +SpringBoot automatic assembly principle
6. Interview algorithms
7. Necessary data structures for interviews
8. Basic source code interpretation
9. Project development tools
10. Team collaboration tools
11. Develop assurance tools
12. Software testing
P6: Able to be independent and have the ability to coach others in the professional field
1. Concurrent programming and JVM practice
Cache middleware
- Redis cache design: Redis deployment + cache principle +Redis VALUE type + publish subscribe +MODULE and Bloom filter MODULE +LUA script
- Redis reliability implementation: Redis persistence scheme + master-slave replication scheme + Sentinel of Redis +Redis synchronization mechanism + new reliability configuration of Redis
- Redis independent cluster implementation: cluster principle + cluster construction + slot migration + node expansion +Redis development example
3. Message middleware
- RabbitMQ: Getting started with message middleware + message publishing and consumption tradeoffs + message rejection + integration with Spring to complete application decoupling + clustering and mirroring queue
- RocketMQ: Linux deployment, comparison JMS+ classic combat scenario + cluster + source code analysis + often meet questions
- Kafka: Kafka framework principle + features and implementation + file storage mechanism + partitioning and reliability + Kafka-broker feature +Kafka efficiency related design + Kafka-consumer feature +Perducer feature +offset maintenance scheme +Kafka-Streaming
4. Search middleware
- Elaticsearch: Master election +Mapping+Aggregations+API+ cluster security and tuning
- Logstash: Beats + Filter + Plugins + Pipelines
- Kibana: Dashboard+Graph +Reporting+Kibana Plugins+ Monitoring
5. Storage middleware
- MySQL cluster: sub-database sub-table + master/slave, master/master + data backup +Mycat+ sharding-sphere
- FastDFS: Architecture principle + storage principle + synchronization mechanism + cluster building + application case
- MongoDB: Architecture principles + Basic operations + Index principles + Backup and restoration
6. High concurrency scenarios
- Network communication principle: OSI and TCP/IP comparison + application layer protocol explanation + Transmission control layer and Socket+ network layer and link layer principle +NAT and route planning
- Four-layer load balancing: four-layer load principle + DR model of LVS + TUN model of LVS + NAT model of LVS + load balancing experiment of LVS
- Layer 7 load balancing: Reverse proxy principle + reverse proxy based load balancing + dynamic load balancing + load balancing algorithm + Health check and fuse downgrading
- ThreadLocal and weak virtual references are used to create a new type of thread pool, which can be used to create a new type of thread pool
- Cluster concurrent solution: resource static +CDN distribution + synchronous to asynchronous + multi-level cache
7. High availability solutions
- Zookeeper: Architecture +ZAB +NODE and Watch+2PC + distributed coordination solution
- Load balancing algorithm: load balancing algorithm polling + random + source address hashing + weighted polling + minimum number of connections + directional distribution + region tradeoff policy + available filtering policy
- Nginx: Nginx basically uses +Proxy_Pass reverse proxy + Cluster health check + integrate LUA+ traffic limiting algorithm with high availability cluster + integrate registry automatic discovery service + multiple Nginx synchronous data +Nginx merge output SSI
- Haproxy: Principle features + Reverse proxy capability + high availability capability + advanced configuration + installation and deployment
- Keepalived: Principle features + installation and deployment + integration of LVS high availability + implementation of Nginx high availability + advanced configuration and script development
- Client load balancing: Principles of domain name resolution + PRINCIPLES of DNS resolution +CDN acceleration +C/S and B/S architecture active selection
8. High scale solutions
- Containerization: Docker architecture + image + container + repository + storage + network + resource restriction
- Container and DEVOPS: Docker container code mounting mechanism +Docker and service discovery +Dockerfile writing rules +Docker and log +Docker and monitoring +Docker and CI/CD+Docker challenges to the operation and maintenance team
- Docker Swarm+ Kubernetes (K8S) + Marathon
- Online log monitoring: Kubernetes dashboard + Monitor Kubernetes, applications, hosts, external resources, etc. +Kubernetes Monitoring tips +Kubernetes monitoring practices + Deploy Prometheus monitoring + Use PROMQL+ Use Grafana to view metrics
9. Network communication and protocol
- Netty basic principle analysis: handwriting understanding Netty model +Netty development essence handwriting +Netty custom Handler+Netty custom codec +Netty multi-protocol communication
- Netty-rpc framework handwriting: Custom protocol, connection pool + protocol codec sticky packet + unpack and kernel relation + Simple PROVIDER side +DISPATCHER implementation + whole process of RPC call + simple reconstruction framework the nature of hierarchical RPC transmission and stateless RPC difference + custom HTTP protocol parsing and HTTPSERVER call implementation
- Dubbo implements RPC practice: Framework principles +Dubbo protocol + registration and discovery + load balancing + Servitization best practices
- Protocol interpretation: RESTFUL API+RESTFUL V.RPC +RESTFLU interface specification +RESTFUL implementation + Stateless and RESTFUL
10. Distributed and microservices
- Distributed architecture thinking training: detailed explanation of mainstream distributed architecture design + distributed knowledge required by architects + large Internet architecture presentation process
- RPC from beginner to master: Introduction to RPC basics +RPC transport protocol intensive reading +RPC serialization and deserialization technology intensive
- SpringCloud: What are microservices? +SpringCloud microservice component introduction +Zuul, Ribbon, Feign, Hystrix, Eureka component building + Fast SpringCloud microservice project building +Hystrix service fusing and service degradation training +Bus, Sleuth, Stream and St Ream message driving actual combat + micro-service project log tracking actual combat
- SpringCloud Alibaba: Framework technology system explanation and background introduction +Nacos, Seata, Sentinel, SkyWalking component construction +SpringCloud Alibaba project construction practice
11. Distributed permission control
- Oauth2.0: Oauth2.0 access process + Authorization + Service deployment Oauth2.0
- Shiro and CAS: Shiro permission management, authentication +Shiro architecture process +Shiro key objects +Shiro permission model +Shiro integrated CAS
- Online cross-domain management: Session and Cookies&token+ browser same-origin policy and cross-domain +Jsonp cross-domain access principle +CORS+SSO principle
- JWT: High concurrency scenario in microservices + session processing solution + stateless session solution +JWT security mechanism +JWT composition structure +JWT message verification and Internet + Common Application Problems
- Spring Security: JDBC user storage + Remember me + Multi-location login for the same user + kick off other logged users + How to use Mybatis/JPA+ Query user + disable other terminal login
12. Micro-service fusing degradation and current limiting
- Traffic limiting algorithm: fixed time window algorithm + sliding time window algorithm + token bucket algorithm + leaky bucket algorithm + distributed traffic limiting algorithm
- + single-node flow control + hotspot parameter flow limiting + system adaptive flow limiting + cluster flow control + blacklist and whitelist control + fuse degradation + gateway flow limiting + dynamic rules
- Hystrix: Hystrix workflow + circuit breaker working principle + circuit breaker configuration + Thread pool isolation + semaphore isolation + demotion implementation + demotion rollback mode
13. Micro-service link tracking
- Skywalking: Core concept + service automatization + Service probe + Skywalking on lstioALS+ plug-in development
- Zipkin: Zipkin principle +Zipkin architecture + core Data structure + main component composition +Zipkin Data Model+Zipkin persistence +Zipkin integration
- Spring Cloud Sleuth: Basic term Span Trace Annotation+ service invocation link principle +Span lifecycle +Sleuth tracing principle +Sleuth sampling +Brave distributed tracing +Span context propagation
14. Bottom layer & in-depth interpretation of the source code
-
The Spring source code: Tomcat’s SPI mechanism loads Spring MVC container +RequestMappingInfo and HandlerMethod mapping +HandlrMapping and HandlerAdapter +HandlerInterceptor front, middle, rear filter principle +HandlerAd Parameter parsing principle of APter + Global exception handling of SpringMVC @ControllerAdvice principle + JS cross-domain solution principle of CORS in SpringMVC + Call process sorting of SpringMVC
-
Mybatis framework source code in-depth interpretation: Mybatis development of 10 must know pit +Mybatis source code architecture analysis +Mybatis core module analysis +Mybatis operating process analysis + plug-in development actual combat +Druid connection pool source code interpretation + handwritten Mybatis framework actual combat
-
Go deep into Tomcat: Understand the Tomcat startup process +Tomcat configuration details +HTTP request parsing and processing process +Tomcat core components +Tomcat class loading mechanism and source code parsing +Tomcat asynchronous Servlet implementation source code analysis +Tomcat BIO implementation source code interpretation +Tomcat NIO source code interpretation +Tomcat cluster and session replication solution +Tomcat performance tuning +JVM parameter optimization +Tomcat cluster +Tomcat security
15. First-line distributed scene combat
- Distributed lock series: handwritten distributed lock +DB distributed lock +Redis distributed lock +ZK distributed lock + scenario and scheme selection
- Distributed transaction: 2/3PC solution +TCC solution + flexible transaction + final consistency + reliable message + best effort notification +Saga+Seata landing
- Distributed algorithm: distributed ID+ database self-increasing ID+ database multi-master mode + Snowflake algorithm + Meituan Leaf
- Consistency combat: distributed idempotent design +MVCC scheme + de-duplicate table + pessimistic lock + state machine idempotent + anti-resubmit page
- Distributed Session: client storage +Session replication +Session binding +Redis Session scheme
- Xiaomi B2C mall system
P7: Experts in a certain field, who know what they are and what they are, have influence on the professional field and can lead cross-department projects
1. Basic qualities of an architect
- Protocol specification: Paxos+Base+Raft+Cap+Fmea
- Application and theory: AKF division principle + front and back end separation principle + stateless service + communication stateless + least know principle
- Architecture idea: static and dynamic separation + dynamic parsing + cache and asynchronous + distributed solution + microservice governance scheme
- TDD design: test development practice + layered automation and reporting +UI automation + interface automation +TDD detail
- DDD design: anemia/congestion model + clean architecture of DDD + domain extension – domain events + domain events and CQRS+VENTSTORMING domain modeling
2. Architect technical orientation
- High storage performance: database performance pressure test +NoSQL database + cache middleware + sub-database sub-table middleware + distributed file system
- Computer high performance: single machine high performance + cluster high performance + call high performance + network service high performance + virtual and container high performance
- Servicemesh: theory and landing + Microservice Servicemesh in theory is better than Microservice+Servicemesh basic theory analysis +Servicemesh technology selection +Servicemesh field landing ISTIO traffic, security, failure, combat
3. Performance tuning techniques
- JVM tuning: JVM tuning essentials -GC Collector- Three colors + Garbage collection algorithms + Summary of common JVM parameters + ACTUAL JVM tuning
- Network tuning: TCP kernel parameters +Java API parameters +IO model Trade off+ resource isolation optimization + network card, CPU configuration optimization + network security encryption algorithm and digital signature + network fault analysis and problem solving +XSS attack hazards and avoidance methods
- Database tuning: MySQL performance monitoring +Schema and data type optimization + through execution plan optimization + through index optimization + query optimization + parameter optimization + distributed MySQL optimization +SQL injection, WebShell attack harm and avoidance methods
- Linux kernel tuning: Maximum open file limit for a single process + Kernel memory parameter tuning + Frequency of SENDING Keepalive messages over TCP +TCP fin_WAIT_2 status time + Range of local ports for UDP and TCP connections + Maximum, minimum, and default values for optimizing TCP receive cache
- Container environment tuning: image VOLUME tuning + image VOLUME minimization + fastest construction + Using CMD VOLUME command +Docker network optimization
4. High concurrency online “pit filling” actual combat
5. Bottom layer & in-depth interpretation of the source code
- SpringBoot: SpringBoot initiator principle +SpringBoot core source code interpretation + automatic configuration principle +SpringBoot startup process source code analysis + @Conditional principle in SpringBoot + custom function initiator
- Spring Cloud Netflix: Zuul Routing gateway description and source code analysis +Ribbon client load balancing principle and algorithm description +Feign declaration service call method implementation +Eureka registry construction analysis +Config configuration service center with SVN, Git fast integration + custom distributed configuration center implementation + micro service project Docker-like + Shiro + Oauth2.0 parsing
- Spring Cloud Alibaba: Nacos +Seata +Sentinel + link tracking +SkyWalking
- Dubbo: Dubbo architecture principle and kernel in-depth analysis +Dubbo SPI principle and combat +Dubbo IOC and AOP principle elaboration +Dubbo dynamic compilation service release principle analysis + service reference principle analysis + cluster fault-tolerant design anatomy + service degradation design anatomy + network communication architecture analysis + network communication coding decoding analysis + handwritten Dubbo framework
6. In-depth analysis of algorithms
- Distribution algorithm analysis: Bloom filter + cuckoo filter + consistency hashing principle
- Resolving resource limitation: Hashing shunt method + subsection statistics idea + function construction under memory limitation + bitmap + sorting files
- Data organization: hash table + ordered table + bitmap + linked list + balanced search binary tree
7. Actual combat project drive
(Business center + data center + technology center/line millions of concurrent Spring Cloud Alibaba desensitization production project)
P8: Be forward-looking in the professional field, promote business innovation, participate in projects that can influence the business division level, and be able to make strategies and overall planning
1. Hard power: 100 million level traffic architecture
- Architecture theory and algorithm basis: CAP theorem of distributed theory, BASE theory of data consistency, distributed consistency algorithm, load balancing algorithm and principle, distributed scheduling and coordination algorithm, and distributed storage algorithm
- Architecture core elements: High-performance architecture + high availability architecture + high scalability architecture + high scalability architecture + security architecture
- Infrastructure: Multi-site multi-activity scheme + load balancing scheme + automatic service fault awareness + STATIC CDN cloud services and resources
- Principle and source code analysis: Linux Kernel source code +JVM HotSpot source code +Redis source code +MySQL source code +MQ source code Spring series source code
- Micro service and Midstage: Micro service whole family bucket + from micro service to ServiceMesh+ from ServiceMesh to Serverless+ Service driven Midstage landing + performance test and continuous test + full-link pressure test + automated o&M
- Cloud native architecture: Docker principle and construction +Kubernetes+ container orchestration, container network + continuous integration and deployment + elastic scaling + service network LSTIO
- DDD design: Choice of domain model + clean architecture of DDD + domain events +CQRS+ domain modeling
- TDD mode: layered automation and reporting +UI automation + interface automation +TDD detail + test development practice
- Database frontier: Graph database Neo4j+ distributed relational database TiDB+ distributed column storage timing database Apache Druid
2. Soft power: management and structure
- Management methodology: Manage yourself (focus on doing what needs to be done) + Manage up (manage your boss) + Manage down (Manage your deployment) + Manage horizontally (manage your colleagues) + Manage externally (Manage external relationships)
- Development team management: Understanding programmers + finding and recruiting great programmers + helping new employees get on board + becoming an effective programming manager + motivating the team + building a successful development culture + managing successful software delivery
- Management Practice: How to lead a new project team? + Take over ongoing projects, how to start? + How to instruct others in design and programming + how to check others’ work? + How to conduct interviews + how to reward good work?
- Management Skills: How to make a presentation? + How to chair a meeting? + Find your right leadership style?
- Big vision: Understanding the nature of business + entrepreneurship and innovation + truly efficient work + rational investment outlook + how to subtract?
- Big picture: improve your own pattern + see the boundaries of the ability circle + jump out of the box thinking + control the pace of life and work + find the characteristics of the future
- Intelligent age: Big data and machine intelligence + thinking revolution in intelligent age + Big data and business + technical challenges of intelligent revolution + future intelligent industry + intelligent revolution and future society + intelligent architecture
3. Project actual combat and case analysis
- Re-engineering Pinduoduo: Technical support – Complete establishment of DevOps+ unified rules – implementation of code specifications + Establishment of basic services + user center + commodity center + inventory center + marketing center + order center + search center + evaluation center + recommendation center + payment center + merchant center + Pinduoduo ultra-high concurrency SEC kill system
- How does Baidu Map support hundreds of millions of days to live? + 100 million traffic access layer service evolution road
- Kubernetes container service + cluster management combat
- Jingdong log system + architecture design and application
- Taobao hundreds of millions of traffic product details page
conclusion
What we need to understand is that programmer’s career is actually in this industry, rather than a fixed company. Nowadays, it is almost impossible to stay in the same job for a lifetime, so there are great variables. What we need to do is to prepare solutions to “variables” at any time. So it’s important to keep your knowledge base up to date, to make sure you stay on top of the industry, and to be aware of the dangers.
If you need a digital version to help you progress from P5 to P8, please click on Zan + Zhuan to send this post. Check out the image below for free.