EPAM | Sr. SDE | DSA | Java | Offer accepted
Anonymous User
899

Note: Questions are slightly modified due to NDA

I received an offer from EPAM as a Senior Software Engineer for a DSA Java role. Here are the details of the interview process:

  1. Coding Round:
    Create a simple voting system for N candidates with unique IDs ranging from 0 to n-1. Each voter casts 3 votes, with the first vote having 3x weight, the second 2x, and the third 1x. For example, if a voter votes for candidates A, B, and C, the votes for A, B, and C are incremented by 3, 2, and 1 respectively.

  2. Systems Design:

    • Design a screen broadcast system where ads/videos can be played, replayed, changed, or scheduled for future broadcasts across multiple screens. It's a small-scale system.
    • Microservice architecture patterns such as API Gateway, BFF, Circuit Breaker, Database per Service, Event-Driven, and Saga pattern.
    • Richardson Maturity Model (RMM) and REST API grading.
    • Differences between SOAP and REST.
  3. Hiring Manager Round:

    • Started with a system design for a train ticket booking app. Focus was on high-level design, particularly Back-of-the-Envelope estimation and database design to efficiently find available trains and seats between a source and destination.
    • 12-factor principles of microservices.
    • Asked about any design patterns I know or have worked on.
    • Brief discussion on project locations and types.

Preparation

For preparation, I’ve shared more details in my Google interview preparation blog.

Comments (1)