EPAM Senior Backend Developer | Java | Microservices | 5+ YOE
Anonymous User
2481

1st Round (DSA + Technical): 1.5 hours

**Theory: **

  • Java 11 new features , Java 8 new features
  • Functional interfaces - ones introduced in Java 8
  • Lambda functions : uses, examples
  • How generics work under the hood
  • Exception hierarchy in java
  • Hashmap internal working
  • HashSet vs HashMap
  • Polymorphism in java : types and how they work
  • Streams - uses
  • Method overloading vs overriding
  • Transaction management in Spring/Hibernate
  • REST api - good practices

Coding:

  • Given an array of strings, group the anagrams together Input: strs = ["eat","tea","tan","ate","nat","bat"] Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
  • Given a string array of sentences use stream api to return distinct list of words that start with #
    • String[] sentences = {
      "Here is a #sample sentence.",
      "This is another #example of a sentence.",
      "#Java streams are powerful.",
      "Find words that start with #."
      };

Note: Coding has to be done in an online editor provided by interviewer. Do-not expect auto-indentation or syntax-suggestions. Even run/execute button is disabled (Only interviewer can execute)

2nd Round (DSA + Technical) : 1.5 hours

  • Introduce yourself : skills, tech-stack, projects
  • Features introduced in Java 8 , Use of Streams, functional interfaces
    • Stream related basic Java program
  • CAP theorem
  • SAGA pattern
  • Spring boot annotations : @Qualifier , @Primary
  • Normalization in DB: why to normalize, types of normalization
  • Design a Popularity counter class with methods,
    • incCounter(String uid);
    • decCounter(String uid);
    • getMostPopularContent();
  • https://leetcode.com/problems/task-scheduler/description/

3rd round (Techno-managerial) : 1 hr

  • Introduce yourself : skills, tech-stack, projects
  • Explain architecture in detail of current project that you’re working on. Draw using draw.io
  • Explain each component of the micro-services architecture:
    • Service registry -how it works, what is heartbeat message ? where is it configured and what parameters.
    • API gateway : Deep dive into internal working and configuration, how it routes request to an instance of a service
    • Config server : what configurations are stored and how it is fetched by services
    • Explain the steps/configuration changes needed if you have to introduce a new micro-service to the current application — (IN DEPTH)
    • How microservice communication is handled - synchronous vs asynchronous (RESTTemplate , FeignClient)
    • Microservice patterns : 2PC, Saga, CQRS (Questions related to practical implementation) ,drawbacks of Saga
    • How monitoring is done in current project
    • How logging is implemented : In depth steps/algo how log aggregation (like ELK ) works internally
    • CI/CD used in current project (Jenkins) : How CI/CD pipeline works for a Java application via Jenkins (In depth)
  • Mention 2 challenging/critical features you have implemented or fixed
Comments (2)