Learning Senior concepts based on ChatGPT
Oracle code conventions - https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html
Senior concepts according to ChatGPT answer of: What every senior Java developer should know?
- Basics of Java:
- Syntax, keywords, data types
- Object-Oriented Programming (OOP):
- Encapsulation, inheritance, polymorphism, abstraction
- Core Java Concepts:
- Exception handling
- Collections framework
- Generics
- Multithreading
- I/O Streams
- Serialization and Deserialization
- Reflection
- Java Standard Edition (SE) APIs:
java.util
packagejava.io
packagejava.net
packagejava.nio
packagejava.time
API
- Web Development Basics:
- HTML, CSS, JavaScript
- Database Concepts:
- SQL and relational databases
- JDBC (Java Database Connectivity)
- Java Enterprise Edition (EE) Basics:
- Servlets
- JavaServer Pages (JSP)
- Frameworks and Libraries:
- Apache Maven (Build tool)
- Log4j (Logging)
- JUnit and Testing:
- JUnit (Unit testing)
- Mockito (Mocking framework)
- JavaFX:
- Basics of GUI development with JavaFX
- FXML and Scene Builder
- Version Control:
- Git basics
- IDEs (Integrated Development Environments):
- Choose an IDE (Eclipse, IntelliJ IDEA, or Visual Studio Code)
- Design Patterns:
- Gang of Four (GoF) design patterns
- Security Basics:
- Basic secure coding practices
- RESTful API Design Basics:
- Basic principles of REST
- JSON and XML processing
- Dependency Injection:
- Basics of Spring IoC (Inversion of Control)
- Microservices Architecture Basics:
- Docker basics
- Introduction to microservices
- Internationalization and Localization Basics:
- Basics of resource bundles
- Build and CI/CD Tools:
- Gradle (Build tool)
- Introduction to Jenkins or GitLab CI/CD
- Web Development Advanced:
- Front-end frameworks (React, Angular, Vue)
- RESTful web services
- JSON and XML processing in detail
- Java Enterprise Edition (EE) Advanced:
- Enterprise JavaBeans (EJB)
- Java Persistence API (JPA)
- Java Message Service (JMS)
- Java Naming and Directory Interface (JNDI)
- Advanced Java Concepts:
- Concurrency and parallelism
- Regular expressions (Regex)
- Reflection
- Security Advanced:
- Java Authentication and Authorization Service (JAAS)
- Advanced secure coding practices
- Encryption and hashing
- Frameworks and Libraries Advanced:
- Spring Framework (Core, MVC, Boot, Data, Security, etc.)
- Hibernate ORM
- Apache Struts
- Apache Commons libraries
- Testing Advanced:
- Integration testing
- Test-driven development (TDD)
- Logging and Monitoring Advanced:
- SLF4J
- Application performance monitoring tools
- RESTful API Design Advanced:
- Swagger or OpenAPI Specification
- Concurrency and Parallelism Advanced:
- Advanced concurrency utilities
- Parallel streams
- Microservices Architecture Advanced:
- Spring Cloud (Service discovery, API Gateway, etc.)
- Kubernetes
- WebSockets:
- Basics of WebSockets
- WebSocket frameworks (e.g., Spring WebSocket)