Explain Java follow-ups after solving coding problem

Read the full interview experience this question came from →

Quick Overview

This question evaluates proficiency in Java programming and software engineering fundamentals, covering competencies such as refactoring for changing requirements, input validation, performance analysis for large datasets, selection of Java collections, generics, exception design, and unit testing.

Explain Java follow-ups after solving coding problem

Company: Deutsche Bank

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: hard

Interview Round: Onsite

After you implement an algorithmic solution in **Java**, the interviewers ask follow-up questions and request modifications. Answer/discuss (and, where relevant, describe how you would change code): 1. **Change request / refactor:** A new requirement arrives (e.g., different input format, extra validation, new edge case, different return type). How do you adjust the code while keeping it readable and testable? 2. **Large data handling:** If input size grows significantly, how do you reason about **time complexity**, **memory usage**, and potential bottlenecks in Java? What changes might you make? 3. **Collections choice:** Which Java collections would you choose (e.g., `ArrayList`, `LinkedList`, `HashMap`, `TreeMap`, `Deque`/`Stack`) and why? What are common pitfalls? 4. **Generics:** Explain how Java generics work, trade-offs, and common issues (e.g., type erasure, wildcards). 5. **Exceptions:** Discuss checked vs unchecked exceptions, best practices for throwing/catching, and how you would design error handling for invalid input. 6. **Testing:** What unit tests would you write (e.g., with JUnit)? How do you cover boundary cases and regression for the new requirement?

Overview: This question evaluates proficiency in Java programming and software engineering fundamentals, covering competencies such as refactoring for changing requirements, input validation, performance analysis for large datasets, selection of Java collections, generics, exception design, and unit testing.

Read the full Deutsche Bank Software Engineer interview experience this question came from

|Home/Software Engineering Fundamentals/Deutsche Bank
Deutsche Bank logo
Deutsche Bank
Aug 25, 2025
hardSoftware EngineerOnsiteSoftware Engineering Fundamentals
13
0

After you implement an algorithmic solution in Java, the interviewers ask follow-up questions and request modifications. Answer/discuss (and, where relevant, describe how you would change code):

  1. Change request / refactor: A new requirement arrives (e.g., different input format, extra validation, new edge case, different return type). How do you adjust the code while keeping it readable and testable?
  2. Large data handling: If input size grows significantly, how do you reason about time complexity , memory usage , and potential bottlenecks in Java? What changes might you make?
  3. Collections choice: Which Java collections would you choose (e.g., ArrayList , LinkedList , HashMap , TreeMap , Deque / Stack ) and why? What are common pitfalls?
  4. Generics: Explain how Java generics work, trade-offs, and common issues (e.g., type erasure, wildcards).
  5. Exceptions: Discuss checked vs unchecked exceptions, best practices for throwing/catching, and how you would design error handling for invalid input.
  6. Testing: What unit tests would you write (e.g., with JUnit)? How do you cover boundary cases and regression for the new requirement?
Loading comments...