• 15 周培训学习
  • 120 小时学习 & 项目练习
  • 75 小时组队编程
  • 20 小时 1v1 服务

课程大纲

Week 1: Foundations of Programming and Data Structures

Learn the basics of memory, variables, strings, and essential data structures for effective problem-solving.
Day 1: Orientation
Overview of the course structure and tools.
Day 2: Memory & Object Variables
Java Memory Model, object lifecycle, stack vs. heap.
Day 3: String & Two Pointers
String manipulation, sliding window techniques, and two-pointer algorithms.
Day 4: Collections 1 – Stream & LinkedList
Java Streams API, LinkedList operations, and functional programming basics.
Day 5: Collections 2 – Map & Heap
HashMap, TreeMap, PriorityQueue, and introduction to heaps.

Week 2: Algorithms and OOP Basics

Explore algorithms with BFS, DFS, and gain a foundational understanding of object-oriented programming.
Day 6: Tree
Binary trees, traversal techniques, and recursion.
Day 7: Graph & BFS
Graph representations, breadth-first search, and shortest paths.
Day 8: DFS
Depth-first search, backtracking, and solving graph problems.
Day 9: OOP Introduction
Object-oriented principles: encapsulation, inheritance, and polymorphism.
Day 10: Enum, Generics & Exceptions
Java enums, generics, exception handling, and custom exceptions.

Week 3: Design Patterns and Concurrency

Dive into design patterns and tackle concurrency challenges in object-oriented design.
Day 11: Vending Machine & Coffee Maker
Design pattern case studies: factory and strategy.
Day 12: Parking Lot & Amazon Locker
Object-oriented design challenges and UML diagrams.
Day 13: Practice Session – Duck Simulation 2
Hands-on practice with real-world design patterns.
Day 14: Concurrency
Threads, synchronization, locks, and multi-threading techniques.
Day 15: Practice Session – Elevator
Practical exercises on thread-safe data structures and task management.

Week 4: Development Tools and Databases

Learn essential tools and database management for modern application development.
Day 16: Development Journey
Introduction to the software development lifecycle and key practices.
Day 17: Databases – SQL 1
SQL basics, CRUD operations, and database schema design.
Day 18: Databases – SQL 2
Joins, indexing, and query optimization.
Day 19: Databases – SQL 3
Database sharding, functions, stored procedure
Day 20: Git Tool
Version control basics, branching, and collaborative workflows using Git.

Week 5: Backend Development Fundamentals

Learn how to set up backend systems using Java, J2EE, and Tomcat
Day 21: Maven Tool + JDBC
Build automation with Maven and database connectivity using JDBC.
Day 22: Practice Session - Order Management Module
Hands-on practice on requirement analysis and database design of Order Management Module
Day 23: Web Server + Servlet 1
Introduction to web servers, HTTP, and servlets.
Day 24: Servlet 2
Advanced servlets, request-response lifecycle, and session management.
Day 25: HTML + CSS
Basics of HTML and CSS for frontend development.

Week 6: Full-Stack Development Essentials

Integrate frontend and backend systems for full-stack development.
Day 26: JSP
Java Server Pages and dynamic content generation.
Day 27: Practice Session - Order Management Module
Frontend-backend integration and basic web application building of the Order Management Module.
Day 28: Spring Web Basics
Core of Spring Framework for building web applications, including Dependency Inject, IoC, Bean Scopes.
Day 29: Spring MVC
Model-View-Controller architecture and Spring-based implementation, with DispatchServlet.
Day 30: Practice Session - Connecting with User and Account Module
Build end-to-end applications with Spring MVC to connect the Order Management Module with provided User Module and Financial Account Module.

Week 7: Full-Stack Development Essentials II

Learn about modern frontend technologies and advanced data access and error handling techniques.
Day 31: Data Access
DAO patterns, and JPA basics and Spring JPA Repository.
Day 32: Error Handling & Validation
Exception handling strategies and input validation with AOP, ControllerAdvice and Logging.
Day 33: Practice Session - Execution Management Module
Exercises on error handling and data access with a focus on Execution domain, which is the most important domain in the Trading Capturing System.
Day 34: Javascript 1
ES6+ basics, Coersion, Prototype Chain.
Day 35: Javascript 2
DOM Manipulation: Event Handling, Event Propagation, Event Delegation

Week 8: Advanced Frontend Technics

Build interactive UIs and build Single Page Applications with React
Day 36: Practice Session - (Dummy Project) Course Management
Exercises on DOM manipulation to build a Course Management application with Navigation Bar, Data Table and Type-ahead searching features.
Day 37: Javascript 3
JavaScript scopes, this keyword, event loop, promise, async/await and fetch api
Day 38: Practice Session - (Dummy Project) Weather Station
Full-stack integration practice to build a weather station application with geolocation api, loading effects and debounce time.
Day 39: React 1
Basics of React, components, JSX, props, states and component lifecycle.
Day 40: React 2
Functional components, react hooks, performance optimization and form handling

Week 9: Full-Stack Development Essentials III

Optimize React applications and implement security with best practices.
Day 41: Practice Session - Build Execution Module UI
Building dynamic components with React to implement Execution Module UI connecting with the built backend application.
Day 42: React 3
NextJs introduction, routers, server-side rendering and global state management with Redux and Thunk.
Day 43: Practice Session - Enhance Execution Module UI
Enhance the existing Execution Module UI with NextJs and SSR to support centralized state management and API communication.
Day 44: Web Security
Securing web applications: authentication with JWT, and authorization with RBAC and ABAC.
Day 45: Data Access – Hibernate 1
Introduction to Hibernate and ORM fundamentals, such as session factory, session and entity state management.

Week 10: Advanced Backend and Deployment

Set up advanced backend systems and learn deployment strategies.
Day 46: Data Access – Hibernate 2
Advanced Hibernate: caching, queries, criteria, locking and optimization.
Day 47: Practice Session - Execution Core Module
Hibernate exercises and debugging to build execution core to implement event-sourcing like database operation.
Day 48: Unit Testing
JUnit, Mockito and Jacoco for backend testing.
Day 49: Deployment
Manual deployment to AWS to understand the deployment process and key AWS features.
Day 50: Practice Session - Deploy your first version of TCS project
Practice end-to-end application deployment.

Week 11: Distributed Systems and Communication

Learn to design scalable systems with distributed architecture and inter-service communication.
Day 51-53: Midterm Exam
Comprehensive assessment of covered topics.
Day 54: Advanced TCS System
Introducing new requirements for TCS and the role of FIX messaging in trade communication.
Day 55: Distributed System
Transforming the Trading Capturing System into a scalable microservices architecture by identifying key components and best practices.

Week 12: Distributed Systems and Security

Implement async communication, handle failures, and integrate centralized logging.
Day 56: Practice Session - High-Level Design of TCS and FIX Message
Based on the requirement, migrate and design the Trading Capturing System following the microservice architecture, and parse FIX messages
Day 57: Service Communication and Service Registry
Introduction to rest-util infrastructure code, and service registry with Eureka and Kubernetes.
Day 58: Microservice Infrastructure
Load balancing with Kubernetes and Eureka, centralized configuration, API gateway
Day 59: OAuth 2
Authentication and authorization with OAuth and OIDC.
Day 60: Practice Session - Build our first SDK
Secure APIs using OIDC and build the rest-util as our first SDK.

Week 13: Advanced Tools and Asynchronization

Utilize advanced tools like Kafka, Redis, and implement robust systems.
Day 61: Redis
Caching and data persistence with Redis basics
Day 62: Practice Session - Build our second SDK
Build logout support and refresh token as our second SDK - security-utils
Day 63: Async Service Communication
Multi-thread in web application with completable future, RabbitMQ and Kafka
Day 64: Kafka 1 (FIX Message, String)
Kafka basics, message processing.
Day 65: Kafka 2 (AVRO, JSON)
Advanced Kafka with avro schema-based messages.

Week 14: Scaling and Error Handling

Enhance scalability, availability in microservices.
Day 66: Practice Session - Build our third SDK
Build kafka-utils to support high-throughput and easy-to-use features
Day 67: Transaction Management
Managing distributed transactions with 2PC and Saga, introduction to CAP Principal.
Day 68: Practice Session - Keep Data Consistency between Allocation and Execution
Keep data consistent across the TCS application.
Day 69: Failure Handling
Retry mechanisms, dead-letter queues, single point of failure, cascading failure with Resilient4j.
Day 70: Practice Session - Enhance TCS with Resilient4j
Enhance TCS with circuit breaker and rate limiter

Week 15: Final Project and Deployment

Build scalable systems with centralized logging and containerized deployment.
Day 71: Scaling & Centralized Logging
Log aggregation with ELK stack and scaling patterns in Kubernetes.
Day 72: Jenkins & Kubernetes
CI/CD pipelines with Jenkins and Kubernetes deployment.
Day 73 - Day 75: Final Exam & Group Project
WeChat QRCode

微信

Thank you. Your message has been sent.

    免费预约服务

      领取求职礼包