Programming questions are an integral part of an interview for the developer’s position. No matter which programming language you master, familiarity with fundamental programming concepts is always expected from you.
Coding skills are always the deciding factor in any programming interview. This article will discuss the top 40 coding interview questions you should know to crack those interviews and get your dream job.
Watch the video below, which deals with real-time and corporate-level programming-based interview questions and answers.
To simplify your learning, the coding interview questions addressed in this article are grouped into 2 categories (as below).
Programming Interview Questions
The next set of coding interview questions focus tests the programming expertise of the candidates and dives deep into various related aspects.
The code screenshots given along with the below coding interview questions helps you provide the answer to the question, with clarity.
21. How do you reverse a string in Java?
- Declare a string.
- Take out the length of that string.
- Loop through the characters of the string.
- Add the characters in reverse order in the new string.
String str = "hello";
String reverse = "";
int length = str.length();
for (int i = 0; i < length; i++) {
reverse = str.charAt(i) + reverse;
}
System.out.println(reverse);
22. How do you determine if a string is a palindrome?
- A string is a palindrome when it stays the same on reversing the order of characters in that string.
- It can be achieved by reversing the original string first and then checking if the reversed string is equal to the original string.
if (str.equals(reverse)) {
System.out.println("Palindrome");
} else {
System.out.println("Not Palindrome");
}
23. Find the number of occurrences of a character in a String?
To find the number of occurrences, loop through the string and search for that character at every iteration; whenever it is found, it will update the count.
int count = 0;
char search = 'a';
for (int i = 0; i < length; i++) {
if (str.charAt(i) == search) {
count++;
}
}
System.out.println(count);
24. How to find out if the given two strings are anagrams or not?
Two strings are anagrams if they contain similar characters in a varied sequence.
- Declare a boolean variable that tells at the end of the two strings are anagrams or not.
- First, check if the length of both strings is the same, if not, they cannot be anagrams.
- Convert both the strings to character arrays and then sort them.
- Check if the sorted arrays are equal. If they are equal, print anagrams, otherwise not anagrams.
boolean anagrmstat = false;
if (str.length() != reverse.length()) {
System.out.println(str + " and " + reverse + " not anagrams string");
} else {
char[] anagram1 = str.toCharArray();
char[] anagram2 = reverse.toCharArray();
Arrays.sort(anagram1);
Arrays.sort(anagram2);
anagrmstat = Arrays.equals(anagram1, anagram2);
}
if (anagrmstat == true) {
System.out.println(" anagrams string");
} else {
System.out.println(" not anagrams string");
}
25. How do you calculate the number of vowels and consonants in a String?
- Loop through the string.
- Increase the vowel variable by one whenever the character is found to be a vowel, using the if condition. Otherwise, increment the consonant variable.
- Print the values of both the vowel and the consonant count.
int vowels = 0;
int consonants = 0;
for (int k = 0; k < str.length(); k++) {
char c = str.charAt(k);
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
vowels++;
else
consonants++;
}
System.out.println("Vowel count is " + vowels);
System.out.println("Consonant count is: " + consonants);
26. How do you get the matching elements in an integer array?
- Declare an array.
- Nest a couple of loops to compare the numbers with other numbers in the array.
- Print the matching elements if found.
int[] a = { 1, 2, 3, 4, 5, 1, 2, 6, 7 };
for (int m = 0; m < a.length; m++) {
for (int n = m + 1; n < a.length; n++) {
if (a[m] == a[n])
System.out.print(a[m]);
}
}
27. How would you implement the bubble sort algorithm?
- Declare an array.
- Nest a couple of loops to compare the numbers in the array.
- The array will be sorted in ascending order by replacing the elements if found in any other order.
int[] a = { 1, 2, 7, 6, 4, 9, 12 };
for (int k = 0; k < a.length; k++) {
for (int l = 0; l < a.length - l - 1; l++) {
if (a[l] > a[l + 1]) {
int t = a[l];
a[l] = a[l + 1];
a[l + 1] = t;
}
}
}
Learn the top skills in-demand including Angular, Spring Boot, JSPs, and SOA to build highly web scalable apps with the Full Stack Java Developer Masters Program. 🎯
28. How would you implement the insertion sort algorithm?
- We assume the first element in the array to be sorted. The second element is stored separately in the key. This sorts the first two elements. You can then compare the third element with the ones on its left. This process will continue until we sort the array.
int[] a = { 1, 2, 7, 6, 4, 9, 12 };
for (int m = 1; m < a.length; m++) {
int n = m;
while (n > 0 && a[n - 1] > a[n]) {
int k = a[n];
a[n] = a[n - 1];
a[n - 1] = k;
n--;
}
}
29. How do you reverse an array?
- Loop till the half-length of the array.
- Replace the numbers corresponding to the indexes from the start and the end.
int[] a = { 1, 2, 7, 6, 4, 9, 12 };
for (int t = 0; t < a.length / 2; t++) {
int tmp = a[t];
a[t] = a[a.length - t - 1];
a[a.length - t- 1] = tmp;
}
30. How would you swap two numbers without using a third variable?
- Declare two variables and initialize them with values.
- Make b the sum of both numbers.
- Then subtract the sum (b) from a, so a is now swapped.
- Lastly, subtract a from the sum (b), so b is also swapped.
int a = 10;
int b = 20;
b = b + a; // now b is sum of both the numbers
a = b – a; // b – a = (b + a) – a = b (a is swapped)
b = b – a; // (b + a) – b = a (b is swapped)
31. Print a Fibonacci series using recursion?
- The Fibonacci numbers are the numbers in the following integer sequence:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ……..
public static int fibonacci(int n)
{
if (n <= 1)
return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
public static void main(String args[]) {
int n = 10;
System.out.println(fibonacci(n));
}
32. How do you find the factorial of an integer?
- A factorial is a function that multiplies a number by every number below it. For example, 5!= 5*4*3*2*1=120.
- Recursive function multiples the numbers until it reaches 1.
public static long factorial(long n)
{
if (n == 1)
return 1;
else
return (n * factorial(n - 1));
}
33. How do you reverse a Linked List?
- Declare a linked list.
- Add elements to that linked list.
- Apply the descending iterator method to the linked list.
- This reverses the order of elements in the linked list.
LinkedList
ll.add(1);
ll.add(2);
ll.add(3);
System.out.println(ll);
LinkedList
ll.descendingIterator().forEachRemaining(ll1::add);
System.out.println(ll1);
34. How would you implement Binary Search?
- Binary search divides the array into half in every iteration step until it finds the element.
- It works on the sorted arrays since it compares the values of adjacent elements and then calculates the mid number.
- If the value of low becomes greater than high at any point, it means the element is not present in the list.
int mid = (low + high) / 2;
while (low <= high) {
if (arr[mid] < key) {
low = mid + 1;
} else if (arr[mid] == key) {
return mid;
} else {
high = mid - 1;
}
mid = (low + high) / 2;
}
if (low > high) {
return -1;
}
return -1;
35. How would you find the second largest number in an array?
- Loop through the array.
- If the value of i is greater than the highest, store the value of i in highest, and store the value of highest in the second-highest variable.
private static int findSecondHighest(int[] array) {
int highest = Integer.MIN_VALUE;
int secondHighest = Integer.MIN_VALUE;
for (int i : array) {
if (i > highest) {
secondHighest = highest;
highest = i;
} else if (i > secondHighest) {
secondHighest = i;
}
}
return secondHighest;
}
36. How do you remove all occurrences of a given character from the input string?
- Use the built-in string method “replace” to replace a character with any other character, including symbols and white spaces.
String str1 = “Australia”;
str1 = str1.replace(“a”, “”);
System.out.println(str1); // ustrli
37. Showcase Inheritance with the help of a program?
- The class Cat inherits the property color from the class Animal by extending the parent class (Animal).
- This way a class Cat can have more parent classes if it wishes to inherit their properties.
class Animal {
String color;
}
class Cat extends Animal {
void meow() {
System.out.println("Meow");
}
}
38. Explain overloading and overriding with the help of a program?
Overloading:
When a class has two or more methods with the same name, they are called overloaded methods.
class Foo {
void print(String s) {
System.out.println(s);
}
void print(String s, int count) {
while (count > 0) {
System.out.println(s);
count--;
}
}
}
Overriding:
When a superclass method is also implemented in the child class, it’s a case of overriding.
class Base {
void printName() {
System.out.println("Base Class");
}
}
class Child extends Base {
@Override
void printName() {
System.out.println("Child Class");
}
}
39. How do you check if the given number is prime?
- Use if statements to check for each condition separately:
- If the number is 0 or 1, it cannot be prime.
- If the number is 2, it is prime number.
- If the number is indivisible by other numbers, it is prime.
public static boolean isPrime(int n) {
if (n == 0 || n == 1) {
return false;
}
if (n == 2) {
return true;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
40. How do you sum all the elements in an array?
- Use for loop to iterate through the array and keep adding the elements in that array.
int[] array = { 1, 2, 3, 4, 5 };
int sum = 0;
for (int i : array)
sum += i;
System.out.println(sum);
As you prepare for your job interview, we hope these Coding Interview Questions have provided more insight into the types of questions you will likely encounter.
Source link