Understanding of basic programming concepts such as variables, control structures (if-else, loops), data structures (arrays, lists), and functions/methods. Familiarity with any programming language (preferably object-oriented languages like C++, C#, or Python).
1. Understand Full Stack Development Concepts:
- Define the role of a full stack developer.
- Understand the architecture of a full stack application, including
- Front-end, back-end, and database components.
- Learn about different development frameworks and libraries used in fullstack development.
2. Master Front-End Development:
HTML/CSS:
- Create well-structured, semantic HTML documents.
- Apply CSS for responsive and visually appealing web design.
JavaScript:
- Utilize JavaScript for dynamic and interactive web pages.
- Understand and use modern JavaScript features (ES6+).
- Manipulate the DOM (Document Object Model) to update web content dynamically.
Front-End Frameworks and Libraries:
- Develop single-page applications (SPAs) using frameworks/libraries such as Angular or React
- Implement state management and routing in front-end applications.
3. Develop Back-End Applications:
Core Java:
- Write, compile, and execute Java programs.
- Utilize Java's object-oriented principles to design modular and maintainable code.
- Handle exceptions and perform input/output operations.
- Java EE and Spring Framework:
- Develop enterprise-level applications using Java EE components (Servlets, JSP, EJB).
- Utilize the Spring Framework for building scalable and secure applications.
- Understand dependency injection and aspect-oriented programming in Spring.
- Implement RESTful web services using Spring Boot.
Database Integration:
- Design and implement relational databases using SQL.
- Perform CRUD operations with JDBC or JPA/Hibernate.
- Understand transaction management and database connectivity.
4. Full Stack Integration:
- Connecting Front-End and Back-End:
- Integrate front-end applications with back-end services via RESTful APIs.
- Handle asynchronous communication using AJAX or fetch API.
Web Security:
- Implement security best practices to protect web applications.
- Understand authentication and authorization mechanisms.
- Use Spring Security to secure Java applications.
5. DevOps and Deployment:
Version Control:
- Use Git for version control and collaboration.
- Understand branching, merging, and pull requests.
- Build and Deployment:
- Use build tools like Maven or Gradle.
- Understand continuous integration/continuous deployment (CI/CD) practices.
- Deploy applications to web servers (Tomcat) or cloud platforms (AWS, Heroku).
6. Testing and Debugging:
- Unit Testing:
- Write and run unit tests using JUnit or TestNG.
- Implement test-driven development (TDD) practices.
- Debugging:
- Use debugging tools and techniques to identify and fix issues.
- Perform end-to-end testing of full stack applications.
7. Soft Skills and Best Practices:
- Code Quality:
- Write clean, maintainable, and well-documented code.
- Follow coding standards and best practices.
- Collaboration:
- Work effectively in a team environment.
- Utilize agile methodologies for project management (Scrum, Kanban).
- Course Projects:
- Build a comprehensive full stack project that incorporates front-end, back-end, and database components.
- Develop smaller, focused projects to practice specific skills and technologies.
Introduction
1. What is Front End Development
2. Front End Technologies
3. What is Back End Development
4. Backend Development Technologies
5. What is Full stack Development
6. Advantages of Full stack Development
7. Roles of Full stack Developer
Module-1: Backend Development
Core Java
8. What is Programming Language?
9. Types of programming languages
10. Java Introduction
11. History of Java
12. Principles of Java
13. Java Installation
14. Java Program Execution Flow
15. JDK vs JRE
16. JVM Architecture
17. Identifiers & Keywords
18. Data Types
19. Variables
20. Methods
21. Arrays
22. Strings Handling
23. Object Oriented Principles
24. Constructors
25. Interfaces
26. Programs related to OOPs
27. Final classes
28. Abstract Class
29. Exception handling
30. Multi-Threading
31. Concurrency Package
32. Executor Framework
33. Synchronization
34. Lock mechanism
35. Serialization
36. Wrapper classes
37. Auto Boxing, Un-Boxing
38. Java Memory Management
39. Class Loader Implementation
40. Variable Arguments
41. File IO Operations
42. Introduction to Collection Framework
43. List
44. Set
45. Map
46. Properties
47. Internal implementation of collection
framework (List, Map, Set etc)
48. Java 8 Features Introduction
49. Lambda Expressions
50. Functional Interfaces
51. Default & Static Methods
52. Method References
53. Date and Time API changes
54. Stream API
55. Optional class
56. SplIterator
SPRING BOOT
1. What is Spring Framework
2. What is Spring Boot
3. Differences between Spring & Spring Boot
4. Spring Boot Overview
5. Pros & Cons of Spring Boot
6. Approaches to create Spring Boot Application
a. Spring Initializer (start.spring.io)
b. Spring Starter Wizard in STS IDE
7. Introduction to Spring Boot Starters
a. Spring Boot Parent Starter
b. Spring-boot-starter
c. Spring-boot-starter-web
d. Spring-boot-starter-webflux
e. Spring-boot-starter-data-jpa
f. Spring-boot-devtools
g. Spring-boot-starter-mail
h. Spring-boot-actuator
i. Spring-boot-starter-test etc.
8. What is Start Class in Spring Boot
9. @SpringBootApplication annotation internals
10. SpringApplication.run(..) method internals
11. Spring Boot Application Boot strapping
12. AutoConfiguration in Spring Boot
13. IOC container
14.Dependency Injection
a. Setter Injection
b. Constructor Injection
c. Field Injection
15. Stereotype Annotations
a. @Component
b. @Service
c. @Repository
d. @Controller
16. Base Package Naming convention
17. Component Scanning
18. Auto wiring
a. byType
b. byname
c. constructor
d. none
19. @Qualifier annotation
20. @Primary annotation
21. Introduction to @Configuration annotation
22. Details of @Bean annotation
23. Bean Life Cycle
24. Bean Scopes
25. Banner in Spring Boot
26. Standalone application development in Spring Boot
27. Standalone application with layered architecture
28. Runner in Spring Boot
a. Application Runner
b. CommandLine Runner
SPRING DATA JPA
1. What is Persistence Layer
2. Best practises to follow in persistence layer
3. ORM Basics
4. Spring Data JPA Introduction
5. Differences between Spring ORM and Spring Data
6. CurdRepository introduction
7. CurdRepository methods for DB operations
a. save( ) method
b. saveAll( ) method
c. findById( ) method
d. findAllById( ) method
e. findAll( ) method
f. deleteById( ) method
g. deleteAllById( ) method
h. delete( ) method
i. count( )
j. existsById( )
8. Custom findByXXX method syntax
9. Custom Queries Execution in Data JPA
10. JpaRepository introduction
11. JpaRepository methods for DB operations
12. Pagination Using Data JPA methods
13. Sorting Using Data JPA Methods
14. Query By Example Executor
15. Generators
16. Custom Generators in Spring Data
17. Embedded Database Introduction
18. Application Development using Embedded Database (H2)
19. Application Development Using MYSQL Database
20. Profiles in Spring BootSPRING WEB MVC
21. Spring Web MVC Introduction
22. Spring Web MVC Advantages
23. Spring MVC Architecture
24. Introduction to Front Controller
25. Controllers
26. Handler Mappers
27. View Resolvers
28. Web Application development using Spring Boot
29. Embedded HTTP Servers Introduction
a. Embedded Tomcat Server
b. Embedded Jetty Server
30. Making Jetty as Default server
31. Web Application Deployment in External Server
32. Sending Data From UI to Controller
a. Query Param
b. Path Param
33. Sending Data From Controller to UI
a. Model
b. ModelAndView
34. @RequestBody annotation
35. @ResponseBody annotation
36. Exception Handling in Spring Boot Web Application
41. Spring Boot Actuators
a. Health
b. Info
c. Heapdump
d. Theaddum
1. Web Development Overview
2. HTML Introduction
3. HTML Document Structure
4. Headings
5. Paragraphs
6. Typography
7. HTML Links
8. Images in HTML
9. Attributes
10. Lists
11. HTML Tables
12. Forms & Inputs
13. Block & Inline elements
14. Divs
15. Spans
16. Classes & Ids
17. Iframes
18. HTML 5 Semantics
19. CSS Introduction
20. Basic CSS Selectors
21. Dev Tools Introduction
22. Fonts
23. Colors
24. Backgrounds
25. Borders
26. Box Model
27. Margin & Padding
28. Display, Alignment & Positioning
29. Pseudo Selectors
30. Responsive Layouts
31. Introduction to FlexBox
32. Building Responsive Website
33. Bootstrap Introduction
34. Typography & Utility Classes
35. Buttons & Button Groups
36. NavBars & Navs
37. List Groups
38. Forms & Inputs
39. Input Groups
40. Tables
41. Pagination
42. Alerts
43. Spinners
44. Cards
45. Carousel Slider
46. Collapse
47. Accordion
48. Tooltips
49. Popovers
50. Models
51. Introduction to Java Script
52. Script Tags
53. Console Output
54. Variables
55. Data Types
56. Strings & Strings Methods
57. Arrays
58. Java Script Objects
59. JSON
60. Arrays
61. Loops
62. Array Helpers
63. Conditionals
64. Functions
65. Constructor Functions
66. ES6 Classes
67. Window Object & DOM
68. DOM Selection
69. DOM Manipulation
70. Events
71. Handling Forms
72. Building App with HTML & CSS
73. Building App with HTML, CSS & Bootstrap
74. Building App with HTML, CSS, Bootstap & Java Script
75. Resume Preparation For Frontend Development
76. Roles & Responsibilities of Frontend Developer
77. Front end Interview Questions & Answers
78. Interview Tips & Tricks
114) Maven
115) Log4J
116) Junit 5
117) Jenkins Deployment
118) Docker
119) POSTMAN
120) Swagger
Project doubts and questions for jobs