| What is Spring Batch? |
| What are the key components of Spring Batch? |
| What is the difference between a Job and a Step? |
| What is chunk-oriented processing in Spring Batch? |
| What is the purpose of ItemReader, ItemProcessor, and ItemWriter? |
| What is the JobRepository in Spring Batch? |
| What is the role of JobLauncher? |
| How do you execute a Spring Batch job programmatically? |
| What are JobInstance and JobExecution? |
| What is the difference between Tasklet and Step? |
| What is the role of JobParameters? |
| What happens if you execute a Spring Batch job with the same JobParameters? |
| How do you configure a Spring Batch job to be restartable? |
| How can you skip a record during processing? |
| What is the difference between Retry and Skip in Spring Batch? |
| What are the default tables created by Spring Batch? |
| How do you use listeners in Spring Batch? |
| How do you enable fault-tolerance in a step? |
| What is a StepExecutionListener vs a JobExecutionListener? |
| How is transaction management handled in Spring Batch? |
| What is partitioning in Spring Batch? |
| How does remote partitioning differ from local partitioning? |
| How do you implement multi-threaded steps? |
| How do you use Spring Batch with Spring Boot? |
| How do you manage large datasets in Spring Batch? |
| What is the purpose of JobExplorer and JobOperator? |
| What is a CompositeItemProcessor? |
| How do you test a Spring Batch job? |
| How do you handle job scheduling in Spring Batch? |
| What strategies can you use to improve batch job performance? |
| What is FlatFileItemReader and how does it work? |
| What is JdbcCursorItemReader? |
| What is the difference between JdbcCursorItemReader and JpaPagingItemReader? |
| How do you configure a CSV file reader in Spring Batch? |
| How do you write batch output to a database? |
| How would you design a job that reads from a file and writes to a DB? |
| What if your job fails halfway through processing a million records? |
| How would you monitor and restart failed jobs in production? |
| How do you avoid duplicate job executions? |
| How do you version and maintain large batch jobs? |
| What is the default behavior when a job fails in Spring Batch? |
| What is the role of JobBuilderFactory and StepBuilderFactory? |
| How do you configure a job in JavaConfig (without XML)? |
| How do you make a job non-restartable? |
| What is ExecutionContext in Spring Batch? |
| How is ExecutionContext useful between steps? |
| Can a step be executed multiple times in the same job run? |
| What is the difference between Job Scope and Step Scope? |
| Why is @StepScope important for item readers/writers? |
| What happens when a step is marked allowStartIfComplete=true? |
| What are different types of listeners in Spring Batch? |
| How does ItemReadListener help in error logging? |
| When would you use a ChunkListener? |
| How to log job start and end time using listeners? |
| What is the order of listener execution? |
| When would you choose a Tasklet over a chunk-oriented step? |
| How do you configure a Tasklet? |
| What is RepeatStatus.FINISHED in a Tasklet? |
| Can a Tasklet step be made fault-tolerant? |
| What is the use of RepeatTemplate? |
| What is rollback behavior in a chunk? |
| How do you configure skip limit and retry limit? |
| What happens if skip and retry thresholds are exceeded? |
| How do you configure a custom SkipPolicy? |
| How to configure transactional boundaries at step level? |
| How do you achieve parallel processing in Spring Batch? |
| What is the difference between partitioning and multithreading? |
| How does the master-slave architecture work in remote partitioning? |
| What is the role of Partitioner interface? |
| How do you divide data into partitions using a custom partitioner? |
| What are the different types of ItemReaders provided by Spring Batch? |
| How to read data from an Excel file in Spring Batch? |
| How do you use StaxEventItemReader for XML files? |
| What are the built-in ItemWriter implementations? |
| What is CompositeItemWriter used for? |
| How do you pass parameters to a job at runtime? |
| What is JobParametersIncrementer? |
| How can you control step transitions? |
| What is JobExecutionDecider? |
| How do you conditionally skip a step? |
| How does Spring Batch support job restarts? |
| How do you ensure idempotency in batch jobs? |
| What is the role of JobRepository in restartability? |
| How does checkpointing work in chunk-based steps? |
| What is the impact of setting startLimit? |
| What metadata tables are used by Spring Batch? |
| What is stored in BATCH_JOB_EXECUTION table? |
| How do you clean metadata tables periodically? |
| Can you use a non-relational DB for Spring Batch metadata? |
| What happens if metadata tables are deleted accidentally? |
| How do you unit test an ItemProcessor? |
| What is JobLauncherTestUtils used for? |
| How do you write integration tests for a complete job? |
| What is @SpringBatchTest? |
| How do you mock an ItemReader? |
| How does Spring Boot simplify Spring Batch configuration? |
| What are key Spring Boot properties for batch jobs? |
| What happens when spring.batch.job.enabled=false? |
| How do you prevent automatic job execution in Spring Boot? |
| How do you schedule batch jobs using Spring Boot? |
| How would you migrate a legacy batch system to Spring Batch? |
| How do you handle back-pressure in Spring Batch processing? |
| How would you monitor thousands of batch jobs in production? |
| How would you batch-process streaming data? |
| How to avoid duplicate processing in distributed systems? |
|
|
|