50 найпопулярніших запитань і відповідей на інтерв’ю (2025)
Ось питання та відповіді на співбесіду Array для новачків, а також для досвідчених кандидатів, щоб отримати роботу своєї мрії. Масиви є невід’ємною частиною програмування, і різні мови програмування, такі як C, C++, Python, Java і Perl, використовують масиви.
1) Що ви маєте на увазі під масивом?
- Масив — це набір даних подібного типу.
- Об’єкти масиву зберігають кілька змінних одного типу.
- Він може містити примітивні типи та посилання на об’єкти.
- Масиви завжди фіксовані
Безкоштовне завантаження у форматі PDF: масив запитань і відповідей на інтерв’ю
2) Як створити масив?
Масив оголошується так само, як оголошується змінна, але вам потрібно додати [] після типу. приклад: int[] intArray; Ми можемо оголосити масив Java як поле, статичне поле, локальну змінну або параметр, як і будь-яку іншу змінну. Масив — це набір змінних цього типу. Ось ще кілька прикладів оголошення масивів Java:
String [] stringArray;
MyClass [] myClassArray;
Те ж саме стосується інших мов програмування.
3) Переваги та недоліки Array?
переваги:
- Ми можемо розмістити інші структури даних, такі як стеки, черги, пов’язані списки, дерева, графіки тощо в Array.
- Масиви можуть сортувати декілька елементів одночасно.
- Ми можемо отримати доступ до елемента Array за допомогою індексу.
Недоліки:
- Ми повинні заздалегідь оголосити розмір масиву. Однак ми можемо не знати, який розмір нам потрібен під час оголошення масиву.
- Масив має статичну структуру. Це означає, що розмір масиву завжди фіксований, тому ми не можемо збільшити або зменшити виділення пам’яті.
4) Чи можемо ми змінити розмір масиву під час виконання?
Ні, ми не можемо змінити розмір масиву. Хоча доступні подібні типи даних, які дозволяють змінювати розмір.

5) Чи можна оголосити масив без призначення розміру масиву?
Ні, ми не можемо оголосити масив без призначення розміру. Якщо ми оголосимо масив без розміру, це призведе до помилки під час компіляції. приклад: marks = new int []; //ПОМИЛКА КОМПІЛЯТОРА
6) Яке значення за замовчуванням масиву?
Будь-який новий масив завжди ініціалізується значенням за замовчуванням, як описано нижче
- Для byte, short, int, long – значення за умовчанням нуль (0).
- Для float, double – значення за умовчанням 0.0.
- Для Boolean – значення за умовчанням false.
- Для об’єкта – значення за замовчуванням нульове.
7) Як надрукувати елемент масиву?
Ось код для друку елемента масиву.
int schoolmarks [] = {25, 30, 50, 10, 5 };
System.out.println (Arrays.toString (schoolmarks));
Вихід: [25, 30, 50, 10, 5]
8) Як порівняти два масиви?
Якщо 2 масиви мають однаковий розмір і тип даних, порівняння можна виконати за допомогою «Arrays.equal ()»
int [] num1 = { 1, 2, 3 };
int[] num2 = { 4, 5, 6 };
System.out.println (Arrays. Equals (num1, num2)); //false
Int [] num3 = {1, 2, 3};
System.out.println (Arrays.equals (num1, num3)); //true
9) Як відсортувати масив?
Це можливо за допомогою вбудованого статичного методу, тобто масивів. сортувати ().
Int Marks [] = {12, 5, 7, 9};
Arrays.sort(Marks);
System.out.println(Arrays.toString(Marks));//[5, 7, 9, 12]
10) Чи можемо ми оголосити розмір масиву як від’ємне число?
Ні. Ми не можемо оголосити від'ємне ціле число як розмір масиву. Якщо ми це оголосимо, помилки під час компіляції не буде. Однак, під час виконання ми отримаємо виняток NegativeArraySizeException.
11) Коли ми отримаємо ArrayStoreException?
Це виняток під час виконання. Наприклад, ми можемо зберігати лише рядкові елементи в рядковому масиві. Якщо хтось спробує вставити цілочисельний елемент у цей рядковий масив, ми отримаємо ArrayStoreException під час виконання.
12) Чи можемо ми додати або видалити елемент після призначення масиву?
Ні це неможливо.
13) Що означає анонімний масив? Поясніть на прикладі?
Анонімний масив означає масив без жодного посилання. Приклад:-
//Creating anonymous arrays
System.out.println(new int[]{11, 12, 13, 14, 15}.length); //Output : 5
System.out.println(new int[]{31, 94, 75, 64, 41}[1]); //Output : 94 }}
14) Чи є різниця між int[] a та int a[]?
Без різниці обидва правової Заява
15) Існує 2 типи даних типу int array. Один містить 50 елементів, а інший містить 30 елементів. Чи можемо ми призначити масив з 50 елементів масиву з 30 елементів?
Так, ми можемо призначити, якщо вони повинні бути одного типу. Компілятор перевірятиме лише тип масиву, а не розмір.
int[] ab = new int[30]; int[] cd = new int[50]; a = b; //Compiler checks only type, not the size
16) int a[] = new int[3]{1, 2, 3} – це правильний спосіб оголошення масивів у java?
Ні. Ми не повинні згадувати розмір масиву, коли ми надаємо елементи масиву.
17) Як скопіювати масив в інший масив?
Для копіювання масиву в Java доступні чотири прийоми.
- Використання циклу For
- Використання методу “Arrays.copyOf()”.
- Використання методу “System.arraycopy()”.
- Використання методу “clone()”.
18) Що таке «зубчасті» масиви в java?
Зубчасті масиви – це масиви, які містять масиви різної довжини. Зубчасті масиви також відомі як багатовимірні масиви.
19) Коли виникає виключення ArrayIndexOutOfBoundsException?
Це виняток під час виконання. Він виникає, коли програма намагається отримати доступ до недійсного індексу масиву. Індекс перевищує розмір масиву або від'ємний індекс.
20) Чи можете ви пояснити різні етапи оголошення багатовимірних масивів у Java?
//2D Arrays int[][] twoArray1; int twoArray2[][]; int[] twoArray3[]; //3D Arrays int[][][] threeArray1; int threeArray2[][][]; int[] threeArray3[][]; int[][] threeArray4[]; //4D Arrays int[][][][] fourArray1; int fourArray2[][][][]; int[] fourArray3[][][]; int[][] fourArray4[][]; int[][][] fourArray5[];
21) Як ми шукаємо певний елемент у масиві?
Ми можемо використовувати метод Arrays.binarySearch(). Цей метод використовує бінарний алгоритм пошуку.
22) Якщо ви не ініціалізуєте масив, що станеться?
Масив матиме значення за замовчуванням.
23) Як ми знаходимо повторювані елементи в масиві?
Використання методу грубої сили: У цьому методі ми порівнюємо кожен елемент масиву з іншими елементами. Якщо будь-які два елементи виявляються рівними або однаковими, ми оголошуємо їх як дублікати. Нижче наведено код для цього ж елемента.
public class DuplicatesInArray {
public static void main(String[] args) {
String[] strArray1 = {"abc1", "def1", "mno1", "xyz1", "pqr1", "xyz1", "def1"};
for (int i = 0; i < strArray1.length-1; i++) {
for (int j = i+1; j < strArray1.length; j++) {
if( (strArray1[i].equals(strArray1[j])) && (i != j) ) {
System.out.println("Duplicates : "+strArray1[j]);
}}}} }
Вивід: Дублікат елемента: def1 Дублікат елемента: xyz1
24) Чи можемо ми використовувати Generics з масивом?
Ні, ми не можемо використовувати Generic з масивом.
25) Як виконати ітерацію масиву в java?
1) Використання нормального циклу for
public class MainClass1
{
public static void main(String[] args)
{
int[] a1 = new int[]{45, 12, 78, 34, 89, 21};
//Iterating over an array using normal for loop
for (int i = 0; i < a1.length; i++)
{
System.out.println(a1[i]);
}}}
2) Використання розширеного нового циклу for
public class MainClass1
{
public static void main(String[] args)
{
int[] a2 = new int[]{45, 12, 78, 34, 89, 21};
//Iterating over an array using extended for loop
for (int i: a2){
System.out.println(i);
}}}
26) Де в Java виділяється пам'ять для масивів?
У Java пам’ять для масивів завжди виділяється в купі, оскільки масиви в Java є об’єктами.
27) Чи можете ви сказати мені назву класу масиву в Java?
Масив - це об'єкт. Щоб повернути назву класу, ми можемо використати метод getClass().getName() для об’єкта.
28) “int a[] = new int[3]{1, 2, 3}” – це законний спосіб визначення масивів?
Ні. Ми не повинні оголошувати розмір масиву, коли ми надаємо елементи масиву.
29) Що таке двовимірний масив?
Масив масиву в Java. Ми можемо оголосити їх такими
int[][] p = new int[3][3]
яка є матрицею 3×3.
30) Чи є у нас тривимірні масиви в Java?
Так, Java підтримує N-вимірний масив. Багатовимірний масив у Java — це не що інше, як масив масивів. Приклад: 2-вимірний масив — це масив одновимірного масиву.
31) Чи можемо ми зробити масив непостійним у Java?
Так, ми можемо зробити масив мінливим у Java, але ми робимо мінливим лише змінну, яка вказує на масив.
32) Що буде результатом наведеного нижче коду?
int myArr[] = new int [7]; System.out.print(myArr);
Відповідь: Вивід буде сміттєвим значенням. myArr – це змінна масиву, myArr вказує на масив, якщо він є цілими числами. Вивід myArr виведе сміттєве значення. Це не те саме, що вивід myArr[0].
33) Який крок для доступу до елементів масиву в Java?
Ми можемо отримати доступ за допомогою «index». Індекс починається з нуля (0), тому перший елемент зберігається в нульовій позиції, а останнім елементом буде Array.length – 1. Приклад:- Рядок strArr[] = новий рядок []{“A”, “B”, “C”, “D”, “E”}; strArr[0] означає “A”, а strArr[2] означає “C”.
34) Чи можете ви сказати мені про різницю між Array і ArrayList?
| масив | ArrayList |
|---|---|
| Масив є статичним із фіксованим розміром, який не можна змінити після затримки. | ArrayList має не статичний, а динамічний розмір. Коли елементи додаються до ArrayList, його ємність або розмір автоматично зростає. |
| Він містить як примітивні типи даних, так і об'єкти класу. | ArrayList не містить примітивних типів даних, але містить записи об’єктів. |
| У масиві немає функції Generics. | ArrayList має функцію узагальнень (generics). |
35) Ми знаємо, що масиви є об’єктами, то чому ми не можемо написати strArray.length()?
Масиви — це посилання на об’єкти, як класи в Java. Ми можемо використовувати такі методи Object, як toString () і ще один hashCode () проти Array. Довжина є елементом даних масиву, тому це не метод. Ось чому ми використовуємо strArray.length.
36) Як знайти відсутній елемент у масиві цілих чисел від 1 до 7?
Рішення для вирішення цієї проблеми полягає в тому, щоб обчислити суму всіх чисел у масиві та порівняти з очікуваною сумою, різниця буде відсутнім числом.
int ar [] = new int[]{1,2,3,5,6,7};
- Отримати суму чисел
- всього = n*(n+1)/2
- Відніміть усі числа від суми і
- ви отримаєте пропущене число.
- Відповідно до наведеної нижче логіки sumOfNnumberss дорівнює 7*(7+1)/2=28
sumOfElements = 1+2+3+5+6+7=24 відсутній елемент = 28-24=4
int n = ar.length+1;
int total = n*(n+1)/2;
for(int i =0;i<ar.length;i++){
total -=ar[i];}
System.out.println(total);
37) Як знайти дублікат у масиві?
String str = "HI RAHUL I AM FINE RAHUL"; // String with a duplicate word.
String[] words = str.split(" "); // Splitting and converting to Array .
for(int i = 0; i < words.length; i++){ //iterating array inside for loop
for(int j = i+1; j < words.length; j++){ //iterating same array inside another for loop
if (words[i].equals(words[j])){ // Using equal method i am verifying which word is repeating . System.out.println( words[i]); // here it will print duplicate .
}}}
38) Як перевірити, чи містить масив значення чи ні?
Ось String[] зі значеннями
public static final String[] myNames = new String[] {"B","A","K","C"};
Якщо myNames містить це значення, то повертається true, інакше false. Ось два методи isExists() та contains(), обидва методи повертають true, якщо значення доступне, інакше false. Перший метод Він перетворює масив на ArrayList. Після цього він перевіряє, чи містить масив якесь значення, тоді повертає true, інакше false.
public static <T> boolean isExists(final T[] array, final T object) {
return Arrays.asList(array).contains(object); }
Другий спосіб Цей метод перебирає масив і використовує метод equal() для пошуку елемента. Фактично це виконує лінійний пошук по масиву в Java. Він поверне значення true, якщо масив містить значення.
public static <T> boolean contains(final T[] array, final T v) {
for (final T e : array) { if (e == v || v != null && v.equals(e)) {
return true;
} }
return false;
} }
39) Як отримати найбільше та найменше число в масиві?
Відповідь: Логіка цієї проблеми:
- Ми використовуємо дві змінні для зберігання найбільшого та найменшого чисел.
- Спочатку ми ініціалізуємо найбільше Integer.MIN_VALUE і
- Далі ми ініціалізуємо найменший за допомогою Integer.MAX_VALUE.
- У кожній ітерації циклу for ми будемо порівнювати поточне число з найбільшим і найменшим числом і оновлюватимемо
- Якщо число більше за найбільше, то воно не може бути меншим за найменше. Це означає, що не потрібно перевіряти, чи справджується перша умова,
- Ми будемо використовувати блок коду if-else, де ще частина виконуватиметься, лише якщо перша умова false означає невірне.
import java.util.Arrays;
public class MaximumMinimumArrayExample{
public static void largestAndSmallest(int[] numbers) {
int largest = Integer.MIN_VALUE;
int smallest = Integer.MAX_VALUE;
for (int number : numbers) {
if (number > largest) {
largest = number;
}
else if (number < smallest) {
smallest = number;
} }
System.out.println("Largest is : " + largest);
System.out.println("Smallest is : " + smallest); } }
40) Як зробити перетин двох відсортованих масивів?
Відповідь: Логіка: надрукувати елемент, якщо елемент присутній або доступний в обох масивах.
- Використовуйте дві індексні змінні i та j, після цього початкові значення i = 0, j = 0
- Якщо arr01 [i] менше, ніж arr02 [j], тоді збільште i.
- Якщо arr01 [i] більше, ніж arr02 [j], тоді збільшується j.
- Якщо обидва однакові, виведіть будь-яке з них і збільште i та j.
public static void getIntersection(int arr01[], int arr02[], int m, int n){
int i = 0, j = 0;
while (i < m && j < n){
if (arr01[i] < arr02[j])
i++;
else if (arr02[j] < arr01[i])
j++;
else{
System.out.print(arr02[j++]+" ");
i++;
}
}
}
public static void main(String args[]){
int arr01[] = {1, 2, 4, 5, 6};
int arr02[] = {2, 3, 5, 7};
int m = arr01.length;
int n = arr02.length;
getIntersection(arr01, arr02, m, n);
}
41) Як отримати два верхніх числа з масиву?
Відповідь: Логіка:
- Ми призначимо першій змінній max01 Integer.MIN_VALUE
Крім того, друга змінна max02 має те саме значення, що й max01, тобто Integer.MIN_VALUE.
- Ми повторимо цей масив і порівняємо кожне число з max01 і max02,
- Якщо поточне число більше за max1, тоді призначте max01 = число та max02 = max1.
- Інакше, якщо воно більше за max02, ми оновимо лише поточне число max02.
- Наприкінці ітерації max01 і max02 вказують на два перших числа з заданого масиву.
import java.util.Arrays;
public class TopTwoMaximumNumbers{
public static void main(String args[]) {
topTwoNumbers(new int[]{20, 34, 21, 87, 92, Integer.MAX_VALUE});
topTwoNumbers(new int[]{0, Integer.MIN_VALUE, -2});
topTwoNumbers(new int[]{Integer.MAX_VALUE, 0, Integer.MAX_VALUE});
topTwoNumbers(new int[]{1, 1, 0}); }
public static void topTwoNumbers(int[] numbers) {
int max01 = Integer.MIN_VALUE;
int max02 = Integer.MIN_VALUE; for (int number : numbers) {
if (number > max01) { max02 = max01; max01 = number; }
else if (number > max02) { max02 = number; } }
System.out.println("First largest number is : " + max01);
System.out.println("Second largest number is : " + max02); } }
42) Як вирізати або видалити елемент з масиву?
Відповідь: Логіка така: ми можемо видалити або вирізати елемент за допомогою Apache Commons ArrayUtils на основі індексу. ArrayUtils має кілька перевантажених методів remove().
import java.util.Arrays;
import org.apache.commons.lang.ArrayUtils;
public class RemoveFromArray{
public static void main(String args[]) {
//let's create an array for demonstration purpose
int[] testArr = new int[] { 10, 102, 13, 14, 105};
System.out.println("Array size : " + testArr.length );
System.out.println("Find Contents : " + Arrays.toString(testArr));
//let's remove or delete an element from Array using Apache Commons ArrayUtils
testArr = ArrayUtils.remove(testArr, 2); //removing element at index 2
//Size of array must be 1 less than original array after deleting an element
System.out.println("Size of array after removing : " + testArr.length);
System.out.println("Content of Array : "+ Arrays.toString(testArr));
} }
43) Яка логіка перевернути масив?
Відповідь: Логіка: надрукувати елемент у зворотному порядку.
- Заявіть a
String Array String[] s = new String[]{"My","Leg","is","cut"};
- Ітерація за допомогою циклу for, отримання всіх елементів у зворотному порядку означає кінцеву точку до початкової точки.
public static void main(String[] args)
{String[] s = new String[]{"My","Leg","is","cut"};
for(int i=s.length-1; i>=0; i--){
System.out.println("reverse "+s[i]);}}
44) Як знайти другий за величиною елемент у масиві цілих чисел?
Відповідь: Логіка:
- Ітерація заданого масиву за допомогою циклу for.
- (спочатку якщо умова arr[i] > найбільший):
- Якщо поточне значення масиву більше за найбільше значення, тоді
- Перемістити найбільше значення до secondLargest і зробити поточне значення найбільшим
- (друга умова if arr[i] > secondLargest )
- Якщо поточне значення менше найбільшого і
більше, ніж secondLargest, тоді стає поточне значення
public static void main(String[] args) {
int myArr[] = { 14, 46, 47, 86, 92, 52, 48, 36, 66, 85 };
int largest = myArr[0];
int secondLargest = myArr[0];
System.out.println("The given array is:" );
for (int i = 0; i < myArr.length; i++) {
System.out.print(myArr[i]+"\t");
}
for (int i = 0; i < myArr.length; i++) {
if (myArr[i] > largest) {
secondLargest = largest;
largest = myArr[i];
} else if (myArr[i] > secondLargest) {secondLargest = myArr[i];
}}
System.out.println("\nSecond largest number is:" + secondLargest);
}
45) Напишіть програму для підсумовування значень заданого масиву.
Відповідь: Логіка:
- Оголошіть і призначте int змінну, яка є sum =0.
- Ітерація заданого масиву за допомогою циклу for.
- Додайте всі елементи масиву та збережіть у цій змінній суму.
Public static void main(String[] args) {
int my_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0;
for (int i: my_array)
sum += i;
System.out.println("The sum is " + sum);
}
46) Як відокремити нулі від ненулів у масиві?
Відповідь: Логіка:
- Ініціалізація лічильника до 0
- Обхід inputArray зліва направо
- Якщо inputArray[i] відмінний від нуля
- Призначення inputArray[i] до inputArray[лічильник]
- Збільшення лічильника на 1
- Присвоєння нуля іншим елементам
Public class SeparateZerosFromNonZeros
{ static void moveZerosToEnd(int inputArray[]) { int counter = 0;
for (int i = 0; i < inputArray.length; i++)
{
if(inputArray[i] != 0) {
inputArray[counter] = inputArray[i];
counter++;
} }
while (counter < inputArray.length) {
inputArray[counter] = 0;
counter++; }
System.out.println(Arrays.toString(inputArray));
}
public static void main(String[] args) {
moveZerosToEnd(new int[] {12, 0, 7, 0, 8, 0, 3});
moveZerosToEnd(new int[] {1, -5, 0, 0, 8, 0, 1});
moveZerosToEnd(new int[] {0, 1, 0, 1, -5, 0, 4});
moveZerosToEnd(new int[] {-4, 1, 0, 0, 2, 21, 4});
} }
47) Напишіть програму для вставки елемента в певну позицію в масиві?
Відповідь: Логіка:
- Вставити елемент у 3-ю позицію масиву (індекс->2, значення->5)
- Повторіть заданий масив у зворотному порядку, використовуючи цикл for.
- Тепер вставте задану позицію та значення після циклу for.
Public static void main(String[] args) {
int[] my_array = {25, 14, 56, 15, 36, 56, 77, 18, 29, 49};
int Index_position = 2;
int newValue = 5;
System.out.println("Original Array : "+Arrays.toString(my_array));
for(int i=my_array.length-1; i > Index_position; i--){
my_array[i] = my_array[i-1];
}my_array[Index_position] = newValue;
System.out.println("New Array: "+Arrays.toString(my_array));
}
48) Як отримати індекс елемента масиву?
Відповідь: Логіка:
- На кожному кроці він перевіряє значення вхідного ключа зі значенням середнього елемента масиву.
- Якщо ключі збігаються, він повертає позицію. В іншому випадку, якщо ключ менший за ключ середнього елемента,
- Потім він повторить цикл while. Якщо в масиві, що залишився, виконано пошук і він зменшений до нуля, він поверне -1, що означає не знайдено
public static int findIndex (int[] my_array, int t) {
int startPoint = 0;
int endPoint = my_array.length - 1;
while (startPoint <= endPoint) {
int mid = (startPoint + end) / 2;
if (key == my_array[mid]) {
return mid;
}
if (key < my_array[mid]) {
endPoint = mid - 1;
} else {
startPoint = mid + 1;
}
}
return -1;
}
Public static void main(String[] args) {
int[] arr = {2, 4, 6, 8, 10, 12, 14, 16};
System.out.println("Key 14's position: "findIndex(arr, 14));
int[] arr1 = {6,34,78,123,432,900};
System.out.println("Key 432's position: "+findIndex(arr1, 432));
}
49) Чи можна розширити масив після ініціалізації?
Відповідь: Логіка така: ми можемо розширити масив після ініціалізації, додавши новий масив. Приклад наведено нижче.
Public static void main(String[] args) {
String [] names = new String[] { "A", "B", "C" };
String [] extended = new String[5];
extended [3] = "D";
extended [4] = "E";
System.arraycopy(names, 0, extended, 0, names.length);
//here we are extending with new array extended[3] and extended[4].
for (String str: extended){
System.out.println(str);
}
}
виведення A, B, C, D, E.
50) Як заповнити елемент (відразу ініціалізувати) в масиві?
Відповідь: У цьому прикладі виконується заповнення (ініціалізація всіх елементів масиву одним коротким кроком) масиву за допомогою методу Array.fill(ім'я масиву, значення) та методу Array.fill(ім'я масиву, початковий індекс, кінцевий індекс, значення) класу Java Util.
import java.util.*;
public class FillTest {
public static void main(String args[]) {
int array[] = new int[6];
Arrays.fill(array, 100);
for (int i = 0, n = array.length; i < n; i++) {
System.out.println(array[i]);
}
System.out.println();
Arrays.fill(array, 3, 6, 50);
for (int i = 0, n = array.length; i< n; i++) {
System.out.println(array[i]);}}}
вихід є
100,100,100,100,100,100 100,100,100,50,50,50


![Запитання та відповіді на технічній співбесіді ([рік]) Запитання та відповіді на технічній співбесіді](https://career.guru99.com/wp-content/uploads/2024/12/technical-interview-questions-answers-150x150.png)
![103 найпопулярніших питань та відповідей на інтерв’ю Tableau ([рік]) Таблиця запитань на інтерв'ю](https://career.guru99.com/wp-content/uploads/2015/11/tableau_interview_questions.png)
![Топ-53 запитання та відповіді на інтерв’ю Ruby on Rails ([рік]) Запитання для співбесіди Ruby on Rails](https://career.guru99.com/wp-content/uploads/2015/01/080110ruby_300_3691.jpg)
Що щодо передачі масиву як параметрів функціям
Q14 різниця між a[] і []a
Після першого оголошення типу ви не можете створити інший масив (того самого типу даних).
Але ви можете після оголошення другого типу, тобто.
Int []a, b, c= новий int[розмір]