IoC and dependency injection
How the Spring container creates and wires beans - BeanFactory vs ApplicationContext, constructor injection, resolving ambiguity, circular dependencies, ObjectProvider, FactoryBean and bean post-processors.
Bean lifecycle and scopes
The exact order of Spring bean initialisation and destruction callbacks, bean scopes including prototype and request, the prototype-in-singleton problem, scoped proxies and SmartLifecycle.
AOP and proxies
How Spring AOP works with JDK and CGLIB proxies, writing @Around aspects and pointcut expressions, ordering, self-invocation and final-method limitations, and how @Transactional, @Cacheable and @Async are built on it.
Configuration, profiles, conditions
Java configuration with @Configuration and @Bean, proxyBeanMethods, profiles, custom @Conditional logic, @Import, property sources and Environment, plus bean overriding and organisation guidelines.
Application events
Publish and handle events with ApplicationEventPublisher and @EventListener, ordering, conditions, async listeners, @TransactionalEventListener phases, built-in lifecycle events, and when to use messaging instead.