Publicis Sapient | Senior Associate Platform L1
Summary
I went through an interview process for a Senior Associate Platform L1 role at Publicis Sapient, which included a Hackerrank test followed by a technical round covering various Java, multithreading, OOP, and system design topics.
Full Experience
I interviewed for the Senior Associate Platform L1 position at Publicis Sapient. The process began with a Hackerrank test, which I found to be quite easy, although I don't recall the exact problems.
The second round was a comprehensive technical discussion covering a wide array of topics. I was asked several coding problems, including finding the nearest number in a sorted array and designing a multithreaded program to print numbers in a specific sequence. Additionally, there were numerous conceptual questions on Java serialization, creating immutable classes, Functional Interfaces, CompletableFuture vs. Future, different ways to create thread pools with ExecutorService, CachedThreadPool vs. FixedThreadPool, Stream API, fail-fast vs. fail-safe mechanisms, Kubernetes Helm charts, Factory design pattern, AWS services, and API Gateway.
Interview Questions (14)
Find Nearest Number in Sorted Array
Multithreaded Printing with Specific Sequence
Design a program where three threads (t1, t2, t3) print numbers in a specific interleaved sequence: t1 -> 1, t2 -> 2, t3 -> 3, t1 -> 4, t2 -> 5, and so on.
Java Serialization Concepts
Discuss concepts and aspects related to Java serialization.
Make Class Immutable
Given the following Java class, explain and demonstrate how to convert it into an immutable class:
class Employee {
private String name;
private Integer age;
private Address address;
}Functional Interfaces Concepts
Discuss concepts and usage of Functional Interfaces in Java.
CompletableFuture vs. Future
Explain the differences between Java's CompletableFuture and Future interfaces.
ExecutorService Thread Pool Creation
Describe the different ways to create a thread pool using ExecutorService in Java.
CachedThreadPool vs. FixedThreadPool
Explain the differences between CachedThreadPool and FixedThreadPool in Java's ExecutorService.
Java Stream API Concepts
Discuss concepts and usage of Java Stream API.
Fail-Fast vs. Fail-Safe Iterators
Explain the concepts of fail-fast and fail-safe iterators in Java collections.
Kubernetes Helm Charts Concepts
Discuss concepts and usage of Kubernetes Helm charts.
Implement Factory Design Pattern
Demonstrate or explain the implementation of the Factory design pattern.
AWS Services Concepts
Discuss various AWS services and their use cases.
API Gateway Concepts
Discuss concepts and functionalities of an API Gateway.