Publicis Sapient | L2 Plateform
Summary
I applied for an L2 Plateform role through a referral and underwent a two-hour technical interview. The round covered a broad range of topics including core Java, data structures, concurrency, distributed systems, databases, Spring Boot, API design, and security, along with a coding challenge and a design pattern identification question.
Full Experience
I've applied through referral in June 2025. Total rounds : 2 Technical and 1 Managarial
Technical Round 1: 2 hrs
- As a non-functional requirement, how would you secure the personal data of your user within your database?
- End-to-end testing approach
- abstract class and interface?
- Immutable class and deep copy and What are the trade-offs of immutability?
- serialization and serialVersionUID
- HashMap internal working
- equal & hash code contract
- What is the difference between fail fast and fail safe
- TREEMAP internal working?
- Coding: find the common elements (intersection) between two lists in Java
- What’s wrong with this code: A code where you’ve to find correct design pattern
- ThreadPool and types
- Callable vs Future
- Synchronised v/s ReentrantLock
- Pub-sub model?
- Kafka vs RabitMQ
- For distributed system which one is best - Kafka , SQS and RabitMQ
- Distributed systems: delivery guarantees types?
- Correlation ID
- Error handling in Kafka
- Full outer join
- JPA : n+1 problem
- How to improve performance for aggregate queries
- Types of indexes
- JVM: Memory management
- JVM parameters like XMS and XMS
- Garbage collector algorithms
- Profiling tools
- Try with resources.
- OpenAPI specification
- API Versioning
- Error handling,
- 401 vs 403 error
- Spring boot features
- Spring Reactive
- Synchronous and Asynchronous interaction
- Working of Circuit Breaker?
- Local transaction in microservices
- Saga pattern
- Server-side caching
- Caching strategies
- GraphQL
- Securing API
- Access token and the refresh token
- Spring security
- API Gateway, how to do it from the scratch
2nd round will be an onsite round
Interview Questions (46)
Database Personal Data Security
As a non-functional requirement, how would you secure the personal data of your user within your database?
End-to-End Testing Approach
Describe your approach to end-to-end testing.
Abstract Class vs. Interface
Explain the differences between an abstract class and an interface.
Immutable Class, Deep Copy, and Trade-offs of Immutability
Discuss immutable classes, deep copy, and the trade-offs associated with immutability.
Serialization and serialVersionUID
Explain serialization and the purpose of serialVersionUID.
HashMap Internal Working
Explain the internal working mechanism of a HashMap.
equals() and hashCode() Contract
Describe the contract between the equals() and hashCode() methods in Java.
Fail-Fast vs. Fail-Safe Iterators
What is the difference between fail-fast and fail-safe iterators?
TreeMap Internal Working
Explain the internal working mechanism of a TreeMap.
Find Common Elements in Two Lists (Java)
Write code to find the common elements (intersection) between two lists in Java.
Identify Design Pattern in Code
Given a piece of code, identify what's wrong with it and suggest the correct design pattern.
ThreadPool and Types
Explain ThreadPools and their different types.
Callable vs. Future
Discuss the differences between Callable and Future in Java concurrency.
Synchronized vs. ReentrantLock
Compare and contrast the synchronized keyword with ReentrantLock.
Pub-Sub Model
Explain the Publish-Subscribe (Pub-Sub) model.
Kafka vs. RabbitMQ
Compare Kafka and RabbitMQ.
Best Distributed System Messaging: Kafka, SQS, RabbitMQ
For a distributed system, which messaging queue is best among Kafka, SQS, and RabbitMQ?
Distributed Systems: Delivery Guarantees
What are the different types of delivery guarantees in distributed systems?
Correlation ID
Explain what a Correlation ID is and its use in distributed systems.
Error Handling in Kafka
Describe strategies for error handling in Kafka.
Full Outer Join
Explain what a full outer join is in SQL.
JPA N+1 Problem
Explain the N+1 problem in JPA and how to mitigate it.
Improve Aggregate Query Performance
How would you improve the performance of aggregate queries in a database?
Types of Indexes
Describe different types of database indexes.
JVM Memory Management
Explain JVM memory management.
JVM Parameters (XMS, XMX)
Explain JVM parameters like XMS and XMX.
Garbage Collector Algorithms
Describe different garbage collector algorithms in the JVM.
Profiling Tools
What profiling tools are you familiar with and how do you use them?
Try-with-resources
Explain the 'try-with-resources' statement in Java.
OpenAPI Specification
What is the OpenAPI specification and how is it used?
API Versioning
Discuss different strategies for API versioning.
API Error Handling
Discuss general strategies for API error handling.
401 vs. 403 Error
Explain the difference between 401 Unauthorized and 403 Forbidden HTTP status codes.
Spring Boot Features
Describe key features of Spring Boot.
Spring Reactive
Explain Spring Reactive and its principles.
Synchronous and Asynchronous Interaction
Explain synchronous and asynchronous interaction in distributed systems.
Working of Circuit Breaker
Explain how a Circuit Breaker pattern works.
Local Transaction in Microservices
How are local transactions handled in a microservices architecture?
Saga Pattern
Explain the Saga pattern for distributed transactions.
Server-Side Caching
Discuss server-side caching mechanisms.
Caching Strategies
Describe different caching strategies.
GraphQL
Explain what GraphQL is and its advantages.
Securing API
Discuss general principles and methods for securing an API.
Access Token and Refresh Token
Explain the concepts of access tokens and refresh tokens in authentication.
Spring Security
Discuss the features and working of Spring Security.
API Gateway Implementation from Scratch
How would you implement an API Gateway from scratch?