90 Coding Interview Questions Java
90 Coding Interview Questions Java
1. Reverse a String
java
Copy code
public class ReverseString {
public static void main(String[] args) {
String str = "hello";
String reversed = new
StringBuilder(str).reverse().toString();
[Link](reversed); // Output: "olleh"
}
}
java
Copy code
public class Factorial {
public static void main(String[] args) {
int number = 5;
int factorial = 1;
for (int i = 1; i <= number; i++) {
factorial *= i;
}
[Link](factorial); // Output: 120
}
}
java
Copy code
public class PrimeNumber {
public static void main(String[] args) {
int number = 29;
boolean isPrime = true;
for (int i = 2; i <= number / 2; i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
[Link](isPrime); // Output: true
}
}
java
Copy code
public class Fibonacci {
public static void main(String[] args) {
int n = 10;
int a = 0, b = 1;
[Link](a + " " + b);
for (int i = 2; i < n; i++) {
int next = a + b;
[Link](" " + next);
a = b;
b = next;
}
}
}
java
Copy code
public class LargestElement {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9};
int max = arr[0];
for (int i : arr) {
if (i > max) {
max = i;
}
}
[Link](max); // Output: 9
}
}
Java 8 Features
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link].*;
name = [Link]();
[Link]([Link]("Default Name")); // Output:
Default Name
}
}
Advanced Concepts
private Singleton() {}
java
Copy code
class Node {
int data;
Node next;
Node(int data) {
[Link] = data;
[Link] = null;
}
}
class LinkedList {
Node head;
void printList() {
Node current = head;
while (current != null) {
[Link]([Link] + " ");
current = [Link];
}
[Link]();
}
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
TreeNode(int item) {
value = item;
left = right = null;
}
}
class BinaryTree {
TreeNode root;
[Link]([Link]); // Output: 4 2 5 1 3
}
}
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link];
java
Copy code
import [Link];
java
Copy code
@FunctionalInterface
interface MyFunctionalInterface {
void execute(String message);
}
java
Copy code
import [Link].*;
import [Link].*;
Additional Questions
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
java
Copy code
public class LongestCommonPrefix {
public static void main(String[] args) {
String[] strs = {"flower", "flow", "flight"};
if (strs == null || [Link] == 0) return;
String prefix = strs[0];
for (int i = 1; i < [Link]; i++) {
while (strs[i].indexOf(prefix) != 0) {
prefix = [Link](0, [Link]() - 1);
if ([Link]()) return;
}
}
[Link](prefix); // Output: "fl"
}
}
24. Implement a Basic Queue
java
Copy code
import [Link];
java
Copy code
public class GCD {
public static void main(String[] args) {
int a = 56, b = 98;
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
[Link](a); // Output: 14
}
}
This list includes a variety of questions that should help you prepare for different aspects of a
Java interview. If you need more questions or specific topics, just let me know!
You said:
remaining 75
ChatGPT said:
ChatGPT
Sure! Here are 75 more coding questions with their answers using Java 8 or above:
Additional Java 8 Features and Functional Programming
java
Copy code
import [Link].*;
.collect([Link]());
[Link](mergedList); // Output: [a, b, c, d, e, f]
}
}
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
class Person {
String name;
int age;
Algorithms
java
Copy code
public class BinarySearch {
public static void main(String[] args) {
int[] array = {1, 3, 5, 7, 9};
int target = 7;
int result = binarySearch(array, target);
[Link](result); // Output: 3
}
java
Copy code
import [Link].*;
public class MergeSort {
public static void main(String[] args) {
int[] array = {38, 27, 43, 3, 9, 82, 10};
mergeSort(array, 0, [Link] - 1);
[Link]([Link](array)); // Output: [3, 9,
10, 27, 38, 43, 82]
}
public static void merge(int[] array, int left, int mid, int
right) {
int n1 = mid - left + 1;
int n2 = right - mid;
int i = 0, j = 0;
int k = left;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
array[k++] = L[i++];
} else {
array[k++] = R[j++];
}
}
java
Copy code
import [Link].*;
java
Copy code
public class LongestPalindromicSubstring {
public static void main(String[] args) {
String s = "babad";
String result = longestPalindrome(s);
[Link](result); // Output: "bab" or "aba"
}
java
Copy code
import [Link].*;
class Graph {
private final Map<Integer, List<Integer>> adjacencyList = new
HashMap<>();
[Link](1); // Output: 1 2 4 5 3 6 7
}
}
Object-Oriented Programming
java
Copy code
abstract class Animal {
abstract void makeSound();
void sleep() {
[Link]("Zzz");
}
}
java
Copy code
interface Drawable {
void draw();
}
java
Copy code
class Animal {
void eat() {
[Link]("This animal eats food");
}
}
java
Copy code
public class Person {
private String name;
private int age;
java
Copy code
class Book {
private String title;
private String author;
@Override
public String toString() {
return "Book [title=" + title + ", author=" + author + "]";
}
}
java
Copy code
public class RunnableExample {
public static void main(String[] args) {
Runnable task = () -> {
for (int i = 0; i < 5; i++) {
[Link]([Link]().getId() + "
Value: " + i);
}
};
java
Copy code
import [Link].*;
java
Copy code
public class SynchronizedExample {
private int counter = 0;
java
Copy code
import [Link].*;
new Thread(task1).start();
new Thread(task2).start();
[Link]();
[Link]("All tasks are completed");
}
}
java
Copy code
import [Link].*;
new Thread(task).start();
new Thread(task).start();
}
}
Miscellaneous
java
Copy code
import [Link].*;
import [Link];
try {
[Link](path, [Link]());
String readContent = new
String([Link](path));
[Link](readContent); // Output: Hello, World!
} catch (IOException e) {
[Link]();
}
}
}
java
Copy code
import [Link].*;
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
java
Copy code
import [Link];
double result;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
[Link]("Invalid operator");
return;
}
[Link]("Result: " + result);
}
}
java
Copy code
import [Link].*;
java
Copy code
import [Link].*;
import [Link].*;
public class DateConversion {
public static void main(String[] args) throws ParseException {
String dateString = "2024-09-09";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = [Link](dateString);
[Link](date); // Output: Mon Sep 09 [Link] EDT
2024
}
}
java
Copy code
public class Factorial {
public static void main(String[] args) {
int num = 5;
[Link](factorial(num)); // Output: 120
}
java
Copy code
import [Link].*;
59. Find the Greatest Common Divisor (GCD) of Two Numbers Using Euclid's
Algorithm
java
Copy code
public class GCD {
public static void main(String[] args) {
int a = 56;
int b = 98;
int gcd = findGCD(a, b);
[Link](gcd); // Output: 14
}
java
Copy code
import [Link];
More Algorithms
java
Copy code
import [Link];
java
Copy code
import [Link];
private static void merge(int[] array, int left, int mid, int
right) {
int n1 = mid - left + 1;
int n2 = right - mid;
int[] leftArray = new int[n1];
int[] rightArray = new int[n2];
int i = 0, j = 0;
int k = left;
while (i < n1 && j < n2) {
if (leftArray[i] <= rightArray[j]) {
array[k++] = leftArray[i++];
} else {
array[k++] = rightArray[j++];
}
}
while (i < n1) {
array[k++] = leftArray[i++];
}
while (j < n2) {
array[k++] = rightArray[j++];
}
}
}
java
Copy code
import [Link].*;
dijkstra(graph, 0);
}
[Link](dist, INF);
dist[src] = 0;
printSolution(dist);
}
java
Copy code
import [Link].*;
class Node {
int x, y;
int gCost, hCost;
Node parent;
Node(int x, int y) {
this.x = x;
this.y = y;
[Link] = Integer.MAX_VALUE;
[Link] = 0;
[Link] = null;
}
int fCost() {
return gCost + hCost;
}
}
if (isValid(newX, newY)) {
Node neighbor = grid[newX][newY];
if ([Link](neighbor)) continue;
int tentativeGCost = [Link] + 1;
if (tentativeGCost < [Link]) {
[Link] = tentativeGCost;
[Link] = heuristic(neighbor, goal);
[Link] = current;
if () {
[Link](neighbor);
}
}
}
}
}
}
java
Copy code
public class Knapsack {
public static void main(String[] args) {
int[] weights = {1, 2, 3};
int[] values = {60, 100, 120};
int capacity = 5;
int n = [Link];
int maxValue = knapsack(weights, values, n, capacity);
[Link]("Maximum value: " + maxValue); // Output:
220
}
This should give you a comprehensive overview of Java programming basics, algorithms, and
more advanced topics. Feel free to ask if you need more details on any specific topic!
You said:
ChatGPT
Got it! Here are some more Java coding questions specifically related to strings and arrays:
String-Related Questions
java
Copy code
public class ReverseString {
public static void main(String[] args) {
String str = "hello";
String reversed = new
StringBuilder(str).reverse().toString();
[Link](reversed); // Output: "olleh"
}
}
java
Copy code
public class Palindrome {
public static void main(String[] args) {
String str = "madam";
boolean isPalindrome = [Link](new
StringBuilder(str).reverse().toString());
[Link](isPalindrome); // Output: true
}
}
java
Copy code
import [Link].*;
java
Copy code
public class RemoveDuplicates {
public static void main(String[] args) {
String str = "aabbcc";
StringBuilder result = new StringBuilder();
Set<Character> seen = new HashSet<>();
for (char c : [Link]()) {
if ([Link](c)) {
[Link](c);
}
}
[Link]([Link]()); // Output: "abc"
}
}
java
Copy code
public class CountVowels {
public static void main(String[] args) {
String str = "hello world";
int count = countVowels(str);
[Link](count); // Output: 3
}
java
Copy code
import [Link].*;
java
Copy code
public class StringToInteger {
public static void main(String[] args) {
String str = "1234";
int number = [Link](str);
[Link](number); // Output: 1234
}
}
java
Copy code
import [Link].*;
Array-Related Questions
java
Copy code
public class MaxElement {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9};
int max = findMax(arr);
[Link](max); // Output: 9
}
java
Copy code
public class MinElement {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9};
int min = findMin(arr);
[Link](min); // Output: 1
}
java
Copy code
public class AverageArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
double average = findAverage(arr);
[Link](average); // Output: 3.0
}
java
Copy code
public class ContainsElement {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int target = 3;
boolean contains = containsElement(arr, target);
[Link](contains); // Output: true
}
java
Copy code
import [Link].*;
java
Copy code
import [Link];
css
Copy code
public static int[] mergeArrays(int[] arr1, int[] arr2) {
int[] merged = new int[[Link] + [Link]];
int i = 0, j = 0, k = 0;
while (i < [Link] && j < [Link]) {
if (arr1[i] < arr2[j]) {
merged[k++] = arr1[i++];
} else {
merged[k++] = arr2[j++];
}
}
while (i < [Link]) {
merged[k++] = arr1[i++];
}
while (j < [Link]) {
merged[k++] = arr2[j++];
}
return merged;
}
}
```
arduino
Copy code
public class RotateArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int k = 2;
rotateArray(arr, k);
[Link]([Link](arr)); // Output: [4, 5, 1, 2,
3]
}
arduino
Copy code
public class KthLargestElement {
public static void main(String[] args) {
int[] arr = {3, 2, 1, 5, 6, 4};
int k = 2;
int kthLargest = findKthLargest(arr, k);
[Link](kthLargest); // Output: 5
}
83. Find the Majority Element in an Array ```java import [Link]; import
[Link];
csharp
Copy code
public class MajorityElement {
public static void main(String[] args) {
int[] nums = {3, 2, 3};
int majority = findMajorityElement(nums);
[Link](majority); // Output: 3
}
84. Find the Missing Number in an Array ```java public class MissingNumber { public
static void main(String[] args) { int[] nums = {3, 0, 1}; int missingNumber =
findMissingNumber(nums); [Link](missingNumber); // Output: 2 }
arduino
Copy code
public static int findMissingNumber(int[] nums) {
int n = [Link];
int sum = (n * (n + 1)) / 2;
for (int num : nums) {
sum -= num;
}
return sum;
}
}
```
85. Find the Duplicates in an Array ```java import [Link]; import [Link];
csharp
Copy code
public class FindDuplicates {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 2, 3};
Set<Integer> duplicates = findDuplicates(nums);
[Link](duplicates); // Output: [2, 3]
}
86. Find the Longest Consecutive Sequence ```java import [Link]; import
[Link]; import [Link];
csharp
Copy code
public class LongestConsecutiveSequence {
public static void main(String[] args) {
int[] nums = {100, 4, 200, 1, 3, 2};
int longest = longestConsecutive(nums);
[Link](longest); // Output: 4
}
int longestStreak = 0;
for (int num : numSet) {
if () {
int currentNum = num;
int currentStreak = 1;
87. Find the Peak Element in an Array ```java public class PeakElement { public static
void main(String[] args) { int[] nums = {1, 2, 3, 1}; int peakIndex = findPeakElement(nums);
[Link](peakIndex); // Output: 2 }
css
Copy code
public static int findPeakElement(int[] nums) {
for (int i = 0; i < [Link]; i++) {
if ((i == 0 || nums[i] > nums[i - 1]) &&
(i == [Link] - 1 || nums[i] > nums[i + 1])) {
return i;
}
}
return -1; // Should not be reached
}
}
```
arduino
Copy code
public class MoveZeros {
public static void main(String[] args) {
int[] arr = {0, 1, 0, 3, 12};
moveZeroes(arr);
[Link]([Link](arr)); // Output: [1, 3, 12, 0,
0]
}
89. Find the Common Elements in Three Sorted Arrays ```java import [Link];
import [Link]; import [Link];
csharp
Copy code
public class CommonElementsInThreeArrays {
public static void main(String[] args) {
int[] arr1 = {1, 5, 10, 20, 40};
int[] arr2 = {6, 7, 20, 80, 100};
int[] arr3 = {3, 4, 15, 20, 30};
List<Integer> commonElements = findCommonElements(arr1, arr2,
arr3);
[Link](commonElements); // Output: [20]
}
90. Find the Smallest Subarray with Sum Greater than or Equal to a Given Value
```java public class SmallestSubarraySum { public static void main(String[] args) { int[] arr =
{1, 4, 4}; int s = 8; int minLength = findMinSubarrayLength(arr, s);
[Link](minLength); // Output: 3 }
sql
Copy code
public static int findMinSubarrayLength(int[] arr, int s) {
int minLength = Integer.MAX_VALUE;
int sum = 0, start = 0;
for (int end = 0; end < [Link]; end++) {
sum += arr[end];
while (sum >= s) {
minLength = [Link](minLength, end - start + 1);
sum -= arr[start++];
}
}
return minLength == Integer.MAX_VALUE ? 0 : minLength;
}
}
```
91. Find All Unique Triplets in an Array that Sum to Zero ```java import
[Link]; import [Link]; import [Link];
css
Copy code
public class ThreeSum {
public static void main(String[] args) {
int[] nums = {-1, 0, 1, 2, -1, -4};
List<List<Integer>> triplets = threeSum(nums);
[Link](triplets); // Output: [[-1, -1, 2], [-1, 0, 1]]
}
scss
Copy code
public class LongestIncreasingSubsequence {
public static void main(String[] args) {
int[] nums = {10, 9, 2, 5, 3, 7, 101, 18};
int length = lengthOfLIS(nums);
[Link](length); // Output: 4
}
93. Find the Sum of All Subarrays ```java public class SumOfSubarrays { public static void
main(String[] args) { int[] arr = {1, 2, 3}; int sum = findSumOfSubarrays(arr);
[Link](sum); // Output: 20 }
arduino
Copy code
public static int findSumOfSubarrays(int[] arr) {
int sum = 0;
int n = [Link];
for (int i = 0; i < n; i++) {
sum += arr[i] * (i + 1) * (n - i);
}
return sum;
}
}
```
94. Find the Largest Sum Contiguous Subarray ```java public class
MaximumSubarraySum { public static void main(String[] args) { int[] nums = {-2, 1, -3, 4, -
1, 2, 1, -5, 4}; int maxSum = maxSubArray(nums); [Link](maxSum); // Output: 6
}
arduino
Copy code
public static int maxSubArray(int[] nums) {
int maxSum = nums[0];
int currentSum = nums[0];
for (int i = 1; i < [Link]; i++) {
currentSum = [Link](nums[i], currentSum + nums[i]);
maxSum = [Link](maxSum, currentSum);
}
return maxSum;
}
}
```
95. Find the Kth Smallest Element in an Array ```java import [Link];
arduino
Copy code
public class KthSmallestElement {
public static void main(String[] args) {
int[] nums = {3, 2, 1, 5, 6, 4};
int k = 2;
int kthSmallest = findKthSmallest(nums, k);
[Link](kthSmallest); // Output: 2
}
96. Find the Union of Two Arrays ```java import [Link]; import [Link];
import [Link];
csharp
Copy code
public class UnionOfArrays {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4};
int[] arr2 = {3, 4, 5, 6};
int[] union = findUnion(arr1, arr2);
[Link]([Link](union)); // Output: [1, 2, 3, 4,
5, 6]
}
97. Find the Largest Product of Two Numbers in an Array ```java import [Link];
arduino
Copy code
public class LargestProduct {
public static void main(String[] args) {
int[] nums = {3, 6, 1, 9, 4};
int product = maxProduct(nums);
[Link](product); // Output: 54
}
98. Find the Missing and Repeating Numbers in an Array ```java import [Link];
css
Copy code
public class MissingAndRepeating {
public static void main(String[] args) {
int[] nums = {1, 2, 2, 4};
int[] result = findMissingAndRepeating(nums);
[Link]([Link](result)); // Output: [2, 3]
}
99. Find the Sum of Elements in a Subarray with a Given Length ```java public class
SumOfSubarray { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; int k = 3;
int sum = findSumOfSubarray(arr, k); [Link](sum); // Output: 12 }
arduino
Copy code
public static int findSumOfSubarray(int[] arr, int k) {
int maxSum = 0, windowSum = 0;
for (int i = 0; i < [Link]; i++) {
windowSum += arr[i];
if (i >= k - 1) {
maxSum = [Link](maxSum, windowSum);
windowSum -= arr[i - k + 1];
}
}
return maxSum;
}
}
```
sql
Copy code
public static String longestPalindrome(String s) {
if (s == null || [Link]() < 1) return "";
int start = 0, end = 0;
for (int i = 0; i < [Link](); i++) {
int len1 = expandAroundCenter(s, i, i);
int len2 = expandAroundCenter(s, i, i + 1);
int len = [Link](len1, len2);
if (len > end - start) {
start = i - (len - 1) / 2;
end = i + len / 2;
}
}
return [Link](start, end + 1);
}
These solutions cover a wide range of array-related problems and should give you a good
understanding of various algorithms and techniques. Let me know if you have any specific
questions or need further explanations!
O
ChatGPT can make mistakes. Check important info.