Spring Framework Interview Guide - 200+ Questions & Answers
- Life Time Access
- Certificate on Completion
- Access on Android and iOS App
Spring Framework is the most popular Java Framework ever. It continues to evolve with changing architectures. Spring Boot is one of the most popular Spring projects. Spring Boot is the most used Java framework to develop RESTful Services and Microservices.
Preparing for Spring Interview is tricky. There are wide variety of Spring Modules and Spring Projects you would need to recollect and be prepared to answer questions on.You would need to get a good understanding of the new features of Spring and have firm grasp of the concepts you implemented in your projects.
This course helps you prepare for Spring Interview with code examples covering 200+ Spring Interview Questions and Answers on Spring, Spring Boot, Spring MVC, Spring JDBC, JPA, AOP, RESTful Services and SOAP Web Services.
List of questions discussed about each topic is listed below.
- What is Loose Coupling?
- What is a Dependency?
- What is IOC (Inversion of Control)?
- What is Dependency Injection?
- Can you give few examples of Dependency Injection?
- What is Auto Wiring?
- What are the important roles of an IOC Container?
- What are Bean Factory and Application Context?
- Can you compare Bean Factory with Application Context?
- How do you create an application context with Spring?
- How does Spring know where to search for Components or Beans?
- What is a Component Scan?
- How do you define a component scan in XML and Java Configurations?
- How is it done with Spring Boot?
- What does @Component signify?
- What does @Autowired signify?
- What’s the difference Between @Controller, @Component, @Repository, and @Service Annotations in Spring?
- What is the default scope of a bean?
- Are Spring beans thread safe?
- What are the other scopes available?
- How is Spring’s singleton bean different from Gang of Four Singleton Pattern?
- What are the different types of dependency injections?
- What is setter injection?
- What is constructor injection?
- How do you choose between setter and constructor injections?
- What are the different options available to create Application Contexts for Spring?
- What is the difference between XML and Java Configurations for Spring?
- How do you choose between XML and Java Configurations for Spring?
- How does Spring do Autowiring?
- What are the different kinds of matching used by Spring for Autowiring?
- How do you debug problems with Spring Framework?
- How do you solve NoUniqueBeanDefinitionException?
- How do you solve NoSuchBeanDefinitionException?
- What is @Primary?
- What is @Qualifier?
- What is CDI (Contexts and Dependency Injection)?
- Does Spring Support CDI?
- Would you recommed to use CDI or Spring Annotations?
- What are the major features in different versions of Spring?
- What are new features in Spring Framework 4.0?
- What are new features in Spring Framework 5.0?
- What are important Spring Modules?
- What are important Spring Projects?
- What is the simplest way of ensuring that we are using single version of all Spring related dependencies?
- Name some of the design patterns used in Spring Framework?
- What do you think about Spring Framework?
- Why is Spring Popular?
- Can you give a big picture of the Spring Framework?
- What is Model 1 architecture?
- What is Model 2 architecture?
- What is Model 2 Front Controller architecture?
- Can you show an example controller method in Spring MVC?
- Can you explain a simple flow in Spring MVC?
- What is a ViewResolver?
- What is Model?
- What is ModelAndView?
- What is a RequestMapping?
- What is Dispatcher Servlet?
- How do you set up Dispatcher Servlet?
- What is a form backing object?
- How is validation done using Spring MVC?
- What is BindingResult?
- How do you map validation results to your view?
- What are Spring Form Tags?
- What is a Path Variable?
- What is a Model Attribute?
- What is a Session Attribute?
- What is a init binder?
- How do you set default date format with Spring?
- Why is Spring MVC so popular?
- What is Spring Boot?
- What are the important Goals of Spring Boot?
- What are the important Features of Spring Boot?
- Compare Spring Boot vs Spring?
- Compare Spring Boot vs Spring MVC?
- What is the importance of @SpringBootApplication?
- What is Auto Configuration?
- How can we find more information about Auto Configuration?
- What is an embedded server? Why is it important?
- What is the default embedded server with Spring Boot?
- What are the other embedded servers supported by Spring Boot?
- What are Starter Projects?
- Can you give examples of important starter projects?
- What is Starter Parent?
- What are the different things that are defined in Starter Parent?
- How does Spring Boot enforce common dependency management for all its Starter projects?
- What is Spring Initializr?
- What is application.properties?
- What are some of the important things that can customized in application.properties?
- How do you externalize configuration using Spring Boot?
- How can you add custom application properties using Spring Boot?
- What is @ConfigurationProperties?
- What is a profile?
- How do you define beans for a specific profile?
- How do you create application configuration for a specific profile?
- How do you have different configuration for different environments?
- What is Spring Boot Actuator?
- How do you monitor web services using Spring Boot Actuator?
- How do you find more information about your application envrionment using Spring Boot?
- What is a CommandLineRunner?
Database Connectivity - JDBC, Spring JDBC & JPA
- What is Spring JDBC? How is different from JDBC?
- What is a JdbcTemplate?
- What is a RowMapper?
- What is JPA?
- What is Hibernate?
- How do you define an entity in JPA?
- What is an Entity Manager?
- What is a Persistence Context?
- How do you map relationships in JPA?
- What are the different types of relationships in JPA?
- How do you define One to One Mapping in JPA?
- How do you define One to Many Mapping in JPA?
- How do you define Many to Many Mapping in JPA?
- How do you define a datasource in a Spring Context?
- What is the use of persistence.xml
- How do you configure Entity Manager Factory and Transaction Manager?
- How do you define transaction management for Spring – Hibernate integration?
- What is Spring Data?
- What is the need for Spring Data?
- What is Spring Data JPA?
- What is a CrudRepository?
- What is a PagingAndSortingRepository?
- How does Spring Framework Make Unit Testing Easy?
- What is Mockito?
- What is your favorite mocking framework?
- How do you do mock data with Mockito?
- What are the different mocking annotations that you worked with?
- What is MockMvc?
- What is @WebMvcTest?
- What is @MockBean?
- How do you write a unit test with MockMVC?
- What is JSONAssert?
- How do you write an integration test with Spring Boot?
- What is @SpringBootTest?
- What is @LocalServerPort?
- What is TestRestTemplate?
- What are cross cutting concerns?
- How do you implement cross cutting concerns in a web application?
- If you would want to log every request to a web application, what are the options you can think of?
- If you would want to track performance of every request, what options can you think of?
- What is an Aspect and Pointcut in AOP?
- What are the different types of AOP advices?
- What is weaving?
- Compare Spring AOP vs AspectJ?
SOAP Web Services
- What is a Web Service?
- What is SOAP Web Service?
- What is SOAP?
- Waht is a SOAP Envelope?
- What is SOAP Header and SOAP Body?
- Can you give an example of SOAP Request and SOAP Response?
- What is a SOAP Header? What kind of information is sent in a SOAP Header?
- Can you give an example of a SOAP Header with Authentication information?
- What is WSDL (Web Service Definition Language)?
- What are the different parts of a WSDL?
- What is Contract First Approach?
- What is an XSD?
- Can you give an example of an XSD?
- What is JAXB?
- How do you configure a JAXB Plugin?
- What is an Endpoint?
- Can you show an example endpoint written with Spring Web Services?
- What is a MessageDispatcherServlet?
- How do you configure a MessageDispatcherServlet?
- How do you generate a WSDL using Spring Web Services?
- How do you implement error handling for SOAP Web Services?
- What is a SOAP Fault?
RESTful Web Services
- What is REST?
- What are the key concepts in designing RESTful API?
- What are the Best Practices of RESTful Services?
- Can you show the code for an example Get Resource method with Spring REST?
- What happens when we return a bean from a Request Mapping Method?
- What is GetMapping and what are the related methods available in Spring MVC?
- Can you show the code for an example Post Resource method with Spring REST?
- What is the appropriate HTTP Response Status for successful execution of a Resource Creation?
- Why do we use ResponseEntity in a RESTful Service?
- What is HATEOAS?
- Can you give an Example Response for HATEOAS?
- How do we implement it using Spring?
- How do you document RESTful web services?
- Can you give a brief idea about Swagger Documentation?
- How do you automate generation of Swagger Documentation from RESTful Web Services?
- How do you add custom information to Swagger Documentation generated from RESTful Web Services?
- What is Swagger-UI?
- What is "Representation" of a Resource?
- What is Content Negotiation?
- Which HTTP Header is used for Content Negotiation?
- How do we implement it using Spring Boot?
- How do you add XML support to your RESTful Services built with Spring Boot?
- How do you implement Exception Handling for RESTFul Web Services?
- What are the best practices related to Exception Handling with respect to RESTful Web Services?
- What are the different error status that you would return in RESTful Web Services?
- How would you implement them using Spring Boot?
- What HTTP Response Status do you return for validation errors?
- How do you handle Validation Errors with RESTful Web Services?
- Why do we need Versioning for RESTful Web Services?
- What are the versioning options that are available?
- How do you implement Versioning for RESTful Web Services?
Who is the target audience?
- You are learning Java
- You are learning Spring
- You want to attend Java & Spring Interviews
- You want to add more depth to your Spring Knowledge
- We use Eclipse as the IDE to demonstrate code examples
- You should have programming experience with Java and Spring
- You will learn to answer 200 interview questions on Spring, Spring Boot and Spring MVC
- You will learn to answer questions on basics of JPA, Spring Data, Spring Data JPA, Spring AOP
- You will learn to answer questions on RESTful Web Services and SOAP Web Services with Spring & Spring Boot
- You will learn to answer questions on basics of Spring Framework - IOC, Application Context, Dependency Injection, Scope and Component Scan
- You will learn about Spring Annotations - @Component, @Service, @Repository, @Controller, @Autowired, @Primary, @Qualifier, @Configuration
- You will understand basic features of Spring Boot - Starters, Auto Configuration, Actuator and Externalized Configuration
- You will be introduced to the Best Practices in using Spring and Spring Boot
- You will be introduced to the approaches to handle validation errors with Spring MVC and Spring REST
- You will be introduced to the approaches for Versioning, Content Negotiation with RESTful Services
- You will understand the best practices in documenting your RESTful Services with Swagger
001-Preview To Spring Interview Guide
One Thing You Should Do
002-Introduction To Our Github Repository
003-Setting up the Course Presentation
004-Overview of Spring Interview Guide
101-Basics of Spring Framework
102-Spring Application Context and IOC Container
103-Spring - Component Scan
104-@Controller, @Component, @Repository, and @Service Annotations
105-Scope of a Bean
106-Setter and Constructor Injection
107-Spring Application Contexts - XML and Java Configuration
108-Spring and Autowiring
109-Debugging with Spring Framework. @Primary and @Qualifier
110-CDI(Contexts and Dependency Injection) and Spring
111-Spring Major Versions and New Features
114-Spring Design Patterns, BOM and Annotations
115-Big Picture of Spring Framework
201-Web Application Architectures - Model 1, Model 2 and Front Controller
202-Spring MVC High Level Flow
203-Dispatcher Servlet and Configuration
204-Form Backing Object, Form Tags, Validation and Binding Result
205-Path Variable, Model and Session Attributes
206-Date Format Binding
207-Exception Handling and Controller Advice
208-Why is Spring MVC Popular?
301-Spring Boot - Goals and Features
302-Spring Boot vs Spring vs Spring MVC
304-Introduction to Auto Configuration
305-Embedded Servers - Tomcat, Jetty and Undertow
306-Introduction to Starter Projects
307-Starter Parent and Dependency Management
308-Creating Spring Projects with Spring Initializr
309-Configuration with Application Properties
310-Custom Application Configuration with @ConfigurationProperties
311-Spring Boot Profiles
312-Monitoring your application with Spring Boot Actuator
313-Do things at application startup with CommandLineRunner
401-Spring JDBC - JdbcTemplate and RowMapper
402-JPA, Hibernate - Entity and Entity Manager
403-JPA Relationships - One to One, One to Many, Many to Many
404-JPA Configuration - Data Source, persistence.xml and Entity Manager Factory
405-Spring Data - Need, Overview and Repository
501-Unit Testing with Mockito
502-Unit Testing Controllers with Mock MVC Framework
503-Integration Testing with Spring Boot
601-Introduction to Spring AOP
602-AOP Basics - Aspect, Pointcut, Advice and Weaving
701-What is a Web Service?
702-SOAP Web Service - SOAP Envelope, Header and Body
703-SOAP Request Examples - SOAP Header
704-WSDL - an overview
705-Contract First Approach and XSD
706-JAXB and Configuration with Spring Web Services
707-Writing an Endpoint with Spring Web Services
708-MessageDispatcherServlet and configuration
709-Generating a WSDL with Spring Web Services
710-Error Handling for SOAP Web Services
801-What is REST?
802-Best Practices of RESTful Services
803-GET Resource method with Spring REST
804-POST Resource method with Spring REST and ResponseEntity
805-Implementing HATEOAS for RESTful Web Services
806-Documenting RESTful web services with Swagger
807-Content Negotiation and Representation of a Resource
808-Exception Handling and Validation for RESTFul Web Services
809-Versioning for RESTful Web Services
901-Conclusion To Spring Interview Guide
Bonus Lecture : Our Best Selling Courses