Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pauloportugal/java-interviews

A collection of pair programming interview problems
https://github.com/pauloportugal/java-interviews

interview-questions java java-17 tdd tdd-java

Last synced: 1 day ago
JSON representation

A collection of pair programming interview problems

Awesome Lists containing this project

README

        

# Java Programming Interview Problems

[![Build Status](https://github.com/PauloPortugal/java-interviews/actions/workflows/pr-checks.yml/badge.svg?branch=main)](https://github.com/PauloPortugal/java-interviews/actions/workflows/pr-checks.yml?query=branch%3Amain)
[![codecov](https://codecov.io/gh/PauloPortugal/java-interviews/branch/main/graph/badge.svg)](https://codecov.io/gh/PauloPortugal/java-interviews)

A collection of pair programming interview problems, using idiomatic Java and avoid as much as possible third-party libraries.

The solutions express just an approach to a problem.
There may be some more elegant and performant solutions.

### Dependencies
* [Java 17](https://www.oracle.com/java/technologies/javase/17-relnote-issues.html)
* [jUnit 5](https://junit.org/junit5/)
* [Sonatype OSS Index](https://sonatype.github.io/ossindex-maven/maven-plugin/)

### Java Problems
* Factorial
* Fibonacci Sequence
* Largest Prime Factor
* Palindrome
* Pascal's Triangle
* Prime Number Check
* Real FizzBuzz
* Reverse Generic Array

### Java features ordered by releases

Not an extensive list, but mainly the most practical features.

| **Feature** | **Version** |
|-------------------------------------------------------|---------------|
| Lambda Expressions | Java 8 |
| Interface Extension Method ('default' concrete) | Java 8 |
| Interface private methods | Java 9 |
| Autoboxing/Unboxing | Java 9 |
| anonymous array | Java 9 |
| @summary for APIS doc | Java 10 |
| Optional.orElseThrow() | Java 10 |
| var keyword for Type inference | Java 10 |
| Enhanced Switch statement | Java 12 |
| Switch yield return value | Java 12/13 |
| Text Block | Java 13/14/15 |
| Java record | Java 14/16 |
| Pattern Matching for the 'instanceof' Operator | Java 16 |
| Sealed Classes | Java 16/17 |
| Pattern Matching for switch | Java 17 |
| UTF-8 by default | Java 18 |
| Code snippets in API documentation | Java 18 |
| Record Pattern Matching for the 'instanceof' Operator | Java 19 |
| Virtual threads | Java 19 |