Barclays Interview Questions
British multinational bank with a large technology and operations centre in Pune. Backend interviews cover Java, Spring Boot, SQL (complex queries and optimisation), and microservices. Risk, compliance, and data security themes appear in system design rounds.
#1Explain the SOLID principles.
#2How does HashMap work internally?
#3What is the difference between HashMap and ConcurrentHashMap?
#4Explain Java Memory Model: Heap, Stack, and Metaspace.
#5What is the volatile keyword in Java?
#6What is the difference between synchronized and ReentrantLock?
#7What is a deadlock and how do you prevent it?
#8Explain the Stream API and intermediate vs terminal operations.
#9What is garbage collection? How does G1 differ from ZGC?
#10What is the Java ClassLoader hierarchy?
#11What are Java records (Java 16+)?
#12What is the Executor framework and when would you use it over raw Threads?
#13What is the difference between composition and inheritance?
#14What is a marker interface? Give examples.
#15What are the design patterns most commonly asked in Java interviews?
#16How do you implement a Singleton in Java correctly?
#17What is the contract between equals() and hashCode()?
#18What is the difference between fail-fast and fail-safe iterators?
#19What is CopyOnWriteArrayList and when should you use it?
#20How does PriorityQueue work and when would you use it?
#21What is the happens-before relationship in Java Memory Model?
#22What is the difference between sleep(), wait(), and yield()?
#23What are atomic classes (AtomicInteger, AtomicReference)? How do they work?
#24What is a CountDownLatch vs CyclicBarrier?
#25What is a ThreadLocal and what are its dangers?
#26What is a CompletableFuture and how does it improve async programming?
#27What are virtual threads (Project Loom, Java 21)?
#28How does the JIT (Just-In-Time) compiler work?
#29What is the difference between minor GC, major GC, and full GC?
#30What tools do you use to diagnose JVM memory issues?
#31What is the String pool and how does string interning work?
#32What is type erasure in Java generics?
#33What is the difference between <? extends T> and <? super T>?
#34What are sealed classes (Java 17)?
#35What is pattern matching for instanceof (Java 16)?
#36What is the difference between map() and flatMap() in streams?
#37What is the difference between Comparable and Comparator?
#38What is Stream.collect() and what are common Collectors?
#39What is try-with-resources and how does it work?
#40What is exception chaining and why is it important?
#41What is the difference between Java IO and NIO?
#42What is Java Serialization and what are its pitfalls?
#43What is reflection in Java and when is it used?
#44What is the difference between deep copy and shallow copy?
#45What is autoboxing and unboxing? What are the performance implications?
#46What are enums in Java and what advanced features do they support?
#47What is the difference between static and instance initializer blocks?
#48What are Java modules (Java 9 — JPMS)?
#49What is the difference between an inner class, static nested class, and anonymous class?
#50What are the new switch expressions (Java 14)?
#51What is the difference between Runnable, Callable, and Future?
#52How do you handle NullPointerException in Java?
#53What is the difference between Deque and Queue?
#54What is a WeakHashMap and when would you use it?
#55What is the difference between checked and unchecked exceptions — best practices for APIs?
#56What is the difference between interface default methods and abstract class methods?
#57What are the best practices for writing clean Java code?
#58What is a race condition and how do you prevent it?
#59What is the difference between HashMap.computeIfAbsent() and getOrDefault()?
#60What is the purpose of the transient keyword?
#61What is method hiding in Java?
#62What are the Java 8 Date/Time APIs and why were they introduced?
#63What is the difference between HashMap.put() and HashMap.putIfAbsent()?
#64What is an immutable class and how do you create one?
#65What is the covariant return type in Java?
#66What is the difference between Predicate.and(), Predicate.or(), and Predicate.negate()?
#67What is the Observer pattern and how is it implemented in Java?
#68What is the Strategy pattern in Java?
#69What is String.intern() and when should you use it?
#70What are the key differences between Java 8, 11, 17, and 21?
#71What is auto-configuration in Spring Boot?
#72Explain @Transactional and its propagation levels.
#73How does Spring Boot handle exceptions globally?
#74What is the difference between @Bean and @Component?
#75Explain Spring Bean scopes.
#76What is Spring AOP and where is it used?
#77What is circular dependency and how do you fix it?
#78How does Spring Security authentication work?
#79What is @Async in Spring Boot and how does it work?
#80What is Spring Data JPA and how does it simplify data access?
#81How does Spring Boot externalized configuration work?
#82What is Spring Cache Abstraction and how do you use it?
#83How do you write integration tests in Spring Boot?
#84What is the Spring ApplicationContext and how does it differ from BeanFactory?
#85What is a BeanPostProcessor and when would you use it?
#86What is the @PostConstruct and @PreDestroy lifecycle?
#87What is @Qualifier and when do you need it?
#88How does Spring Boot auto-configuration work under the hood?
#89What is @ConfigurationProperties and how does it differ from @Value?
#90What is Spring Boot's embedded server and how do you switch from Tomcat to Undertow?
#91What is Spring's @EventListener and ApplicationEvent?
#92What is @Conditional and how do you create custom conditions?
#93How do you implement request validation in Spring Boot?
#94What is ResponseEntity and when should you use it?
#95What is content negotiation in Spring MVC?
#96How do you implement pagination and sorting in Spring Boot?
#97What is HATEOAS and does Spring Boot support it?
#98How do you version a REST API in Spring Boot?
#99What is the difference between findById() and getById() in Spring Data JPA?
#100What are JPA entity states (Transient, Managed, Detached, Removed)?
#101What is the difference between @OneToMany with fetch LAZY vs EAGER?
#102What is Hibernate first-level cache and second-level cache?
#103What is the Open Session in View (OSIV) pattern and why is it controversial?
#104What is a Spring Data JPA Specification and when would you use it?
#105What is CSRF and how does Spring Security handle it?
#106How do you implement JWT authentication in Spring Boot?
#107What is the difference between @Secured, @PreAuthorize, and @RolesAllowed?
#108What is CORS and how do you configure it in Spring Boot?
#109What is OAuth2 and how does Spring Security support it?
#110What is MockMvc and how do you use it?
#111What is @MockBean vs @Mock in Spring Boot tests?
#112What is @DataJpaTest and how does it differ from @SpringBootTest?
#113What is Testcontainers and how does it improve Spring Boot tests?
#114What is Micrometer and how does it integrate with Spring Boot Actuator?
#115How do you implement custom health indicators in Spring Boot?
#116How do you implement distributed tracing in Spring Boot?
#117What is graceful shutdown in Spring Boot and how do you configure it?
#118What is a Filter vs HandlerInterceptor in Spring Boot?
#119What is @ControllerAdvice and how does it work?
#120What is Spring WebFlux and how does it differ from Spring MVC?
#121What is Spring's @Scheduled and how do you configure it?
#122What happens during Spring Boot startup?
#123What is Spring Boot's fat JAR and how is it structured?
#124What is Spring Retry and how do you use it?
#125What is Spring Integration vs Spring Batch?
#126What is @Transactional readOnly = true and what does it optimize?
#127What is the difference between Spring @Repository exception translation and JDBC exceptions?
#128How do you handle file uploads in Spring Boot?
#129What is Spring Cloud and its key components?
#130What is the difference between @Transactional on a class vs a method?
#131What is Spring Boot's connection pool? How do you tune HikariCP?
#132What is Spring Boot's auto-configuration for messaging (RabbitMQ / Kafka)?
#133What is Spring's @Lookup annotation?
#134What is Spring Security's method security and how is it different from URL security?
#135How does Spring Boot handle environment-specific properties?
#136What is the purpose of @EnableJpaAuditing?
#137How do you implement rate limiting in Spring Boot?
#138What is the difference between eager and lazy initialization in Spring Boot?
#139What is Spring Boot's support for caching with Redis?
#140What is Spring Boot's support for MongoDB?
#141What is @Transactional self-invocation problem and how do you fix it?
#142What is the difference between @Valid and @Validated in Spring?
#143What is Spring Boot's support for scheduled tasks with Quartz?
#144What is Spring Data REST and how does it differ from Spring MVC?
#145What is Flyway and how does it integrate with Spring Boot?
#146What is Spring Boot's support for WebSockets?
#147How do you implement a multi-tenant application in Spring Boot?
#148What are Spring Boot's management endpoints and how do you secure them?
#149What is Spring Boot's support for R2DBC (reactive database access)?
#150How do you implement idempotency in Spring Boot APIs?
#151What is Spring Boot's support for virtual threads (Java 21)?
#152What is Spring Boot's Docker image building support?
#153What is GraalVM native image and Spring Boot AOT support?
#154What is the difference between @SpringBootTest(webEnvironment) options?
#155What is Spring Boot's support for SSE (Server-Sent Events)?
#156What is Resilience4j and how does it integrate with Spring Boot?
#157What are best practices for Spring Boot application performance tuning?
#158How does indexing work in MySQL (InnoDB)?
#159What is a covering index?
#160What are MySQL transaction isolation levels?
#161What is MVCC (Multi-Version Concurrency Control) in InnoDB?
#162How do you use EXPLAIN to analyze a query?
#163What are window functions in SQL?
#164What are CTEs (Common Table Expressions) and when should you use them?
#165What is the N+1 query problem and how do you fix it?
#166What is a deadlock in MySQL and how does it occur?
#167How do you optimize a slow MySQL query?
#168What is database normalization?
#169What is MySQL replication and how does it work?
#170What is partitioning in MySQL?
#171What is a stored procedure and when should you use it?
#172How does the InnoDB storage engine handle locking?
#173How do you design a schema for a multi-tenant SaaS application?
#174What is the difference between a clustered and a non-clustered index?
#175What are covering indexes and how do they improve performance?
#176What is the EXPLAIN output and how do you read it?
#177What are database triggers and when should you avoid them?
#178What is a foreign key constraint and what are its performance implications?
#179How do you implement full-text search in MySQL?
#180How does MySQL replication work and what are its modes?
#181What is a deadlock in MySQL and how does InnoDB handle it?
#182What are MySQL stored procedures and when should you use them?
#183How do you perform a slow query analysis in MySQL?
#184What is InnoDB buffer pool and how do you size it?
#185What is MySQL's query cache and why was it removed?
#186How do you back up a MySQL database without downtime?
#187What is the difference between optimistic and pessimistic locking in MySQL?
#188What are MySQL partitioning types and when do you use them?
#189How do you handle large data migrations in production?
#190What is the difference between IN, EXISTS, and JOIN for subqueries?
#191What is the InnoDB redo log and undo log?
#192How do you implement pagination in MySQL efficiently?
#193What is group replication and InnoDB Cluster?
#194What is the difference between a view and a materialized view?
#195How does MySQL's optimizer choose an execution plan?
#196What are common MySQL performance anti-patterns?
#197What is a generated column in MySQL?
#198What are the best practices for MySQL schema design?
#199How do you use MySQL's JSON column type?
#200What is the difference between transaction isolation levels in MySQL?
#201How do you handle hierarchical data in MySQL?
#202What is ProxySQL and how is it used?
#203What is MVCC and how does InnoDB implement it?
#204How do you detect and fix index fragmentation in MySQL?
#205What are the MySQL 8.0 improvements over MySQL 5.7?
#206How do you design a schema for audit logging?
#207What is binlog and how is it used for CDC?
#208How do you use MySQL's performance_schema?
#209What is a composite index and how should you order columns?
#210How do you implement soft delete in MySQL?
#211How does MySQL handle concurrent writes to the same row?
#212What is the difference between schema-on-write and schema-on-read?
#213How do you handle time zones in MySQL?
#214How do you monitor MySQL in production?
#215What are window functions and how do you use them?
#216How do you implement row-level security in MySQL?
#217How do you use MySQL's event scheduler?
#218What is the EXPLAIN ANALYZE command?
#219How do you handle database connection failures in application code?
#220What is the MySQL query execution order?
#221How do you scale MySQL reads?
#222What is the difference between row-based and statement-based replication?
#223How do you use CTEs (Common Table Expressions) effectively?
#224How do you implement optimistic locking with versioning in MySQL?
#225What is the purpose of the information_schema?
#226What is innodb_flush_log_at_trx_commit and how does it affect durability?
#227How do you implement full-table search across millions of rows efficiently?
#228What is the max_connections parameter and how do you tune it?
#229What is a spatial index in MySQL and how is it used?
#230What is the difference between ROLLUP and CUBE in SQL?
#231How do you handle NULL values in MySQL queries?
#232What is the difference between a read and a write transaction?
#233How do you implement a queue in MySQL?
#234What is the mysql.user table and how does MySQL authentication work?
#235What is index merge optimization?
#236How do you detect and resolve replication lag?
#237What is the difference between MyISAM and InnoDB row format?
#238How do you implement rate limiting at the database level?
#239What is the difference between REPEATABLE READ and READ COMMITTED in practice?
#240What are MySQL's data types for storing money?
#241How do you handle schema evolution in a microservices environment?
#242Explain the CAP theorem.
#243What is consistent hashing and why is it used?
#244What is database sharding and how does it work?
#245Explain cache invalidation strategies.
#246How would you design a URL shortener (like bit.ly)?
#247What is the Saga pattern in microservices?
#248What is CQRS and when should you use it?
#249What are rate limiting algorithms?
#250What is the Circuit Breaker pattern?
#251How do you design for high availability?
#252What is eventual consistency?
#253What is a message queue and when should you use one?
#254What is the difference between SQL and NoSQL databases?
#255How do you handle distributed transactions without 2PC?
#256How would you design a notification system (push, email, SMS)?
#257What is the difference between REST and gRPC?
#258What is the Outbox Pattern?
#259How do you design a distributed cache layer?
#260What is the difference between synchronous and asynchronous communication in microservices?
#261How do you design a notification system that sends 100M notifications per day?
#262What are the different types of database indexes and when do you use each?
#263How would you design a URL shortener like bit.ly?
#264What is eventual consistency and how do you handle it in practice?
#265How do you design a search system at scale?
#266What is the difference between optimistic and pessimistic locking?
#267How would you design a real-time leaderboard?
#268What is a write-ahead log (WAL) and how is it used?
#269How do you handle distributed transactions across microservices?
#270How do you design a chat application like WhatsApp?
#271What is a service mesh and when should you use one?
#272How would you design a video streaming platform like YouTube?
#273What is the difference between a load balancer and an API gateway?
#274How do you prevent and handle cascading failures in distributed systems?
#275What is the difference between a message queue and a message broker?
#276How do you design a rate limiter for an API?
#277What is the difference between replication and partitioning in databases?
#278How would you design Twitter's news feed?
#279What is observability and what are its three pillars?
#280How do you implement idempotency in APIs?
#281How would you design a distributed job scheduler?
#282What is the Saga pattern vs 2PC for distributed transactions?
#283How do you design a file storage system like Dropbox?
#284What are the trade-offs of microservices vs monolithic architecture?
#285How does DNS work and how is it used in load balancing?
#286What is the strangler fig pattern?
#287How do you design an e-commerce inventory system that handles flash sales?
#288What is the difference between push and pull architectures for data?
#289How do you design a fraud detection system?
#290What is event sourcing and how does it differ from CRUD?
#291How would you design a geospatial service like Uber's nearby driver system?
#292What is API versioning and what are the different strategies?
#293What is a Bloom filter and where is it used in system design?
#294How do you implement zero-downtime deployments?
#295What is the two-generals problem and what does it tell us about distributed systems?
#296How do you design a payment processing system?
#297How would you design an autocomplete system?
#298What is backpressure and how do you handle it?
#299What is a time-series database and when should you use one?
#300What is a circuit breaker and how do you implement it?
#301How do you handle database migrations safely in production?
#302What is the CQRS pattern?
#303How do you secure an API at the architecture level?
#304What is the difference between synchronous replication and asynchronous replication?
#305How do you design a system for billions of events per day (analytics pipeline)?
#306What is chaos engineering and how do you implement it?
#307What is the database connection pool and how do you tune it?
#308How do you design an access control system?
#309How would you design an online code execution system like LeetCode?
#310How does the request flow work in a typical microservices architecture?
#311What is a hot partition problem and how do you solve it?
#312How do you design a multi-tenant SaaS architecture?
#313What is tail latency and why does it matter?
#314How do you design a global, low-latency key-value store?
#315What is the N+1 query problem and how do you fix it?
#316How would you design a booking system like Airbnb?
#317How do you design a recommendation system?
#318What is the read-your-own-writes consistency guarantee?
#319How do you design a search-as-you-type / typeahead feature?
#320What is the difference between gRPC unary, server streaming, client streaming, and bidirectional streaming?
#321How do you handle large file uploads efficiently?
#322What are the key considerations when designing for high write throughput?
#323What is the difference between monolithic and microservices deployment strategies?
#324How do you design for disaster recovery?
#325What is the thundering herd problem?
#326What is a vector clock and how does it work?
#327What is the difference between a monorepo and polyrepo?
#328How do you ensure data consistency across microservices?
#329What is the difference between a batch job and a stream processing job?
#330How do you design an API for mobile clients vs web clients?
#331What is the role of a message broker in event-driven architecture?
#332How do you approach capacity planning for a new system?