Files
java-interview-lab/fresher-qa/README.md
T

33 lines
1.4 KiB
Markdown

# fresher-qa
Runnable companion for the ankurm.com article
[Top 50 Java Interview Questions for Freshers (2026) with Simple Answers](https://ankurm.com/top-50-java-interview-questions-for-freshers/).
One small demo per question, grouped in six classes. Tests assert what each demo prints and write the
transcripts the article quotes. There is no `docs/` folder on purpose: the explanations live in the article.
| Component | Version | Verified against |
|---|---|---|
| JDK | 25.0.5+8 (Temurin, LTS) | `java -version` |
| JUnit | 6.1.3 | `maven-metadata.xml` on Maven Central |
| Maven | 3.9.11 | `mvn -version` |
```bash
export JAVA_HOME=/path/to/jdk-25 && export PATH="$JAVA_HOME/bin:$PATH"
cd fresher-qa
mvn test # 6 tests; rewrites output/01-06
./scripts/run-all.sh # also regenerates output/07 (javac's own error messages for src/broken/)
```
| Class | Questions | Transcript |
|---|---|---|
| `BasicsQa` | 1-9 | `output/01-basics.txt` |
| `OopQa` | 10-20 | `output/02-oop.txt` |
| `StringsQa` | 21-27 | `output/03-strings.txt` |
| `CollectionsQa` | 28-38 | `output/04-collections.txt` |
| `ExceptionsQa` | 39-43 | `output/05-exceptions.txt` |
| `ModernJavaQa` | 44-50 | `output/06-modern-java.txt` |
`src/broken/` holds five files that must NOT compile (one of them only fails below Java 25); `scripts/compile-errors.sh` runs `javac` on each and
commits the real message to `output/07-compile-errors.txt`. They are excluded from the Maven build.