EPAM | Senior Software Engineer | Bangalore | Feb 2025
Anonymous User
1681

I am currently working as a Senior Software Engineer in a fintech company with a total of 5.5 years of experience. Below is my interview experience with EPAM.

Round 1

This round involved Java-based coding tasks and conceptual questions related to Java 8 features and collections.

Coding Questions:
Use Streams to implement below:

  1. Print the list of all employees
list.forEach(e -> System.out.println(e.getId() + " " + e.getName() + " " + e.getDesignation()));
  1. Collect a list of employee IDs divisible by 2
List<Integer> result = list.stream()
    .filter(e -> e.getId() % 2 == 0)
    .map(Employee::getId)
    .collect(Collectors.toList());
  1. Sort the employee list in ascending and descending order of ID
Collections.sort(list, (a, b) -> Integer.compare(a.getId(), b.getId()));

More in depth questions were asked from below topics.

  • Functional Interface
  • Collectors & Optional
  • map vs flatMap
  • Method references
  • System.out.println() vs System.out::println
  • Object::printVal
  • Reentrant Locks
  • Blocking vs Non-blocking calls
  • CompletableFuture Object
  • Marker Interface (Serializable, Cloneable)
  • equals() and hashCode() contract
  • TreeSet vs TreeMap
  • Comparable vs Comparator
  • Deep Cloning vs Shallow Cloning
  • Heap, Stack, Metaspace
  • Classpath
  • Checked vs Unchecked Exceptions
  • SQLException Handling
  • FileHandler
  • String Comparison in Java:
String a = new String("Vijai");
String b = new String("Vijai");
String c = "Vijai";
String d = "Vijai";

System.out.println(a == b); // false
System.out.println(a.equals(b)); // true
  • Coding Question: Find the longest Substring Without Repeating Characters

Example Input & Output:

Input: "abcadcbb"Output: 4 (Substring: "bcad")

Input: "pwwkew"Output: 3 (Substring: "wke")

Optimized solution: O(n) time complexity.

Round 2

This round covered dependency injection, Spring Boot, transaction management, and system design.

Topics Covered:

  • Spring Boot Starter Dependencies
  • Spring Actuator (Health Check, Logging, Tomcat)
  • Dependency Injection in Plain Java (without Spring)
  • @Primary vs @Qualifier
  • @Transactional
  • SOLID Principles
  • Dependency Inversion Principle
  • Liskov Substitution Principle
  • Spring Annotations
  • @ControllerAdvice
  • AOP (@Before, @After)
  • Singleton Pattern & Thread Safety
  • Factory Pattern & Use Cases
  • Strategy Pattern in Java
  • Observer Pattern
  • Mockito & Unit Testing Best Practices
  • Custom Exception Handling in Spring
  • Handling Service Failures in Distributed Systems
  • Microservices Communication Strategies
  • Multithreading and Concurrency
  • Reentrant Locks vs Synchronized Blocks
  • Database Transactions & ACID Properties
  • Event-Driven Architecture
  • LLD design (Don't remember the exact question)

Verdict: Ghosted after round 2. Was told Round 3 will be held later as feedback of Round 2 was neither positive, not negative.

Comments (1)