InputStreamReader — Java Technical Interview Questions & Answers

InputStreamReader

InputStreamReader

  • InputStreamReader is modern Java (5/8 toolkit). Lambdas are short functions: (n) -> print. They implement a functional interface (one abstract method). Streams let you filter/map/collect a list without a manual loop.
  • For InputStreamReader: generics keep types safe: List<String>. Autoboxing turns int into Integer when needed. varargs is String... args. Optional avoids some null checks — don’t overuse it.
  • Keep InputStreamReader small. Don’t dump business logic inside forEach. Know one tiny example you can write from memory.
  • Let's take this on the board with one tiny Main class — no extra files. InputStreamReader — output: [4, 16]. 1..5 → keep evens 2,4 → square → 4 and 16. Start from main, go line by line, and stop at each print. That output is the proof for InputStreamReader.

Technical Interview Tip: Explain map/filter/collect as a 3-step stream story.

Code Examples for InputStreamReader

Example

import java.util.*;
import java.util.stream.*;
public class Main {
  public static void main(String[] args) {
    List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);
    List<Integer> evenSq = nums.stream()
      .filter(n -> n % 2 == 0)
      .map(n -> n * n)
      .collect(Collectors.toList());
    System.out.println(evenSq); // [4, 16]
  }
}

InputStreamReader — output: [4, 16]. 1..5 → keep evens 2,4 → square → 4 and 16.

How to Explain InputStreamReader to an Interviewer

What is InputStreamReader?

InputStreamReader is part of modern Java (generics / Java 8 style). InputStreamReader — lambda = (args) -> body on a functional interface. InputStreamReader — streams filter/map/collect. Generics = List<String>.

Why do we use InputStreamReader in Java?

Makes the program clearer or safer InputStreamReader is part of modern Java (generics / Java 8 style).

Write one small example of InputStreamReader.

Show syntax Say what prints

What mistake do beginners make with InputStreamReader?

Only the name, no example InputStreamReader — huge logic inside lambdas, or forgetting generics.

Where is InputStreamReader used in a real program?

Day-to-day Java code