Job title: Java Microservices Kafka
Job location: Dublin, Ireland
Job mode: Onsite
Job type: Full time
JD:
The focus will be on Java microservices (6+ years), Kafka (3+ years), private cloud, and hands-on implementation skills.
⸻
🧩 1. Core Java & Advanced Concepts
Be prepared for implementation-based and scenario-driven questions.
Strings & Immutability
• Difference between String, StringBuilder, and StringBuffer.
• Why is String immutable in Java?
• How to create a custom immutable class (implement step by step).
• Memory allocation for Strings (String Pool vs Heap).
Serialization
• What is serialization and deserialization?
• How to make a class serializable?
• transient and serialVersionUID usage.
• How serialization impacts performance and when to avoid it.
Concurrency & Multithreading
• Explain synchronized, volatile, and ReentrantLock.
• What is the Lock interface and how it differs from synchronized.
• Difference between BlockingQueue, ConcurrentHashMap, and traditional collections.
• What is a deadlock and how to prevent or detect it (practical scenario).
• Thread pool and ExecutorService usage in microservices.
• Callable vs Runnable.
⸻
☁️ 2. Microservices Architecture
• Explain what microservices are and where you have implemented them.
• Describe real project(s) where microservices were used (especially in Mastercard-like environments).
• How microservices communicate (REST, gRPC, message queues).
• How to manage configuration, scaling, and deployment on a private cloud.
• Explain how you handle inter-service communication, fault tolerance, and circuit breakers (Hystrix, Resilience4j).
• API Gateway and service registry (Eureka, Consul, etc.).
• Authentication & Authorization in microservices (OAuth2, JWT, Spring Security).
⸻
🔄 3. Kafka (3+ Years Expected)
• Explain how you used Kafka in your projects (data pipelines, async communication, event sourcing, etc.).
• Kafka Producer–Consumer model.
• Partitions, offsets, and consumer groups.
• How you ensure exactly-once delivery or handle duplicates.
• Kafka Streams and message ordering.
• Integration of Kafka with Spring Boot microservices (Spring Kafka).
• Performance tuning and troubleshooting Kafka lag.
⸻
⚙️ 4. Frameworks & Tools
Spring Framework (Core + Boot)
• Spring Boot annotations (@RestController, @Configuration, @Component, @Service, etc.).
• Dependency Injection & Inversion of Control.
• RESTful APIs and exception handling.
• Spring Data JPA & transaction management.
• Spring Security (Authentication & Authorization).
• Profiles and property management for different environments (private cloud setups).
Executive Framework (if referring to frameworks like ExecutorService or Spring Task Executor)
• Thread management via Executor framework.
• Asynchronous task execution.
⸻
💡 5. Design Patterns & Architecture
• Common patterns used in your implementation:
• Singleton, Factory, Builder, Prototype, Strategy, Observer, etc.
• Microservice-related: Circuit Breaker, Gateway Aggregation, Saga, CQRS.
• When and why you used each.
• Have you implemented any custom design pattern or reusable utility component?
⸻
🧠 6. Problem-Solving / Scenario-Based Questions
• How would you search or filter based on multiple criteria (e.g., search customers by ID, name, location)?
• How to optimize search (indexes, pagination, caching).
• How you handle failed transactions or partial updates.
• How to debug microservice issues in distributed systems.
⸻
👥 7. Agile & Team Collaboration
• Are you following Agile Scrum? Describe sprint cycles, ceremonies (daily stand-up, retrospective, grooming).
• How do you understand user stories and break them into technical tasks?
• How do you estimate tasks and manage backlog?
• How do you handle technical debt and backlog cleanup?
⸻
🧰 8. Project & Work Environment
• Describe day-to-day activities (development, review, deployment, production support).
• Team size and roles.
• Tools used: Git, Jenkins, JIRA, SonarQube, etc.
• CI/CD pipeline experience.
• Monitoring & logging (ELK, Splunk, Prometheus, Grafana).
⸻
🔐 9. Security
• Difference between authentication and authorization.
• How to secure REST APIs (OAuth2, JWT).
• How to manage secrets/configurations in private cloud (Vault, KMS, config server).
• HTTPS/SSL setup in Spring Boot.
⸻
🧭 10. Personal & Role-Fit
• This role is for a sound technical person who can work independently → Be ready with examples showing ownership.
• How you handle ongoing projects, backlog work, and production issues.
• How you contribute to team improvement (code reviews, mentoring, refactoring).