top 30 programming coding interview questions answers
В този урок предоставихме най-често срещаните въпроси и отговори за интервю за кодиране с програмна логика и примери за кодове, за да практикувате програмиране:
Всички сме наясно, че отговорът на най-основните въпроси за кодиране или програмиране на интервю определя начина, по който ще се представим на интервю. Интервюто може да е за Java, C ++ или изискване за Javascript, но основата остава същата, това е колко силни сме в основите на програмната логика.
Също така, ако нашият подход е бърз и фин в интервю, вероятността за избор е по-висока. Така че прочетете за пробиване на въпросите за интервю за кодиране.
Не забравяйте да изучите и практикувате тези въпроси за интервю за програмиране, преди да се изправите пред интервю. Това не само ще повиши убеждението ви, но и ще бъде полезно да отговорите бързо на тях. Въпросите ще обхващат предимно теми като масиви, низове, свързан списък и т.н.
Издърпайте чорапите си момчета !!
Често задавани въпроси за основно интервю за програмиране / кодиране
Q # 1) Как можете да обърнете низ?
Отговор: Низът е обърнат със следния алгоритъм:
- Инициирайте
- Декларира се низът, който трябва да се обърне.
- Вземете дължината на низа.
- Стартирайте цикъл и след това разменете позицията на елементите на масива.
- Запазете разменените позиции.
- Отпечатайте обърнатия низ.
В # 2) Какво е палиндромен низ?
Отговор: След като низът е обърнат, както е обсъдено в Q # 1, трябва да поставим следното условие:
Кодов фрагмент:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
По този начин палиндромният низ е този, който при обръщане остава същият, например, - „мадам“ е палиндромен низ.
В # 3) Как да получите съвпадащите символи в низ?
Отговор: За да получите съответстващите символи в низ, се изпълняват следните стъпки:
- Взема се структура от данни на Hash Map, която работи с двойката ключ-стойност.
- Циклирайте низовете, символ по знак, и проверете дали този символ на низа съществува в хеш картата или не.
- Ако резултатът е истина, броячът за символа в хеш картата се увеличава, или в противен случай поставете брой като 1.
- След като цикълът завърши, картата на хеш се обхожда и отпечатва знаците с повече от 1 брой.
Кодов фрагмент:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
Q # 4) Как да получа несъвпадащите символи в низ?
Отговор: За да получите несъвпадащите символи в низ, се изпълняват следните стъпки:
- Взема се структура от данни на Hash Map, която работи с двойката ключ-стойност.
- Завъртете низа, символ по знак, и проверете дали този символ на низа съществува в хеш картата или не.
- Ако резултатът е истина, броячът за символа в хеш картата се увеличава, или в противен случай поставете брой като 1.
- След като цикълът завърши, след това се променя картата на хеш и се отпечатва символите с брой, равен на 1.
Кодов фрагмент:
HashMap mp = new HashMap (); for (int j = 0; j В # 5) Как да изчислим броя гласни и съгласни в низ?
Отговор: За да се изчисли броят на гласните и съгласните в низ, се следват следните стъпки:
- Вземете низа, върху който трябва да се извърши броенето.
- Изпълнете цикъл от 0 до дължината на низа.
- Вземете един символ в даден момент и проверете дали те са част от групата на гласните.
- Ако резултатът е верен, увеличете броя на гласните или увеличете броя на съгласните.
Кодов фрагмент:
for (int k = 0; k В # 6) Как да докажете, че двата низа са анаграми?
Отговор: Две низове се наричат анаграми, ако побират подобна група символи в различна последователност.
За да проверите дали два низ са анаграми, се следват следните стъпки:
- Инициализирайте два низа в две променливи.
- Проверете дали дължината на двата струни е подобна, ако не, тогава струните не са анаграма.
- Ако резултатът е верен, вземете двата низа и ги съхранявайте в символен масив.
- Сортирайте двата масива от символи, след което проверете дали двата сортирани масива си приличат.
- Ако резултатът е верен, двата низа са anagram else, а не anagram.
Кодов фрагмент:
if (str1.length() != str2.length()) { System.out.println(str1 + ' and ' +str2 + ' not anagrams string'); }else{ char() anagram1 = str1.toCharArray(); char() anagram2 = str2.toCharArray(); Arrays.sort(anagram1); Arrays.sort(anagram2); anagrmstat = Arrays.equals(anagram1, anagram2); } if (anagrmstat == true) { System.out.println(str1 + ' and ' +str2 + ' anagrams string'); }else{ System.out.println(str1 + ' and ' +str2 + ' not anagrams string'); } }
В # 7) Намерете броя на появата на определен символ в низ.
къде да намеря ключ за мрежова сигурност на рутера
Отговор: За да преброите появата на определен символ в низ, се изпълняват следните стъпки:
- Започнете с низ и определен символ, чието появяване ще бъде отчетено.
- Започнете цикъл от 0 до дължината на низа.
- Сравнете дали определен символ от низа е равен на знака, който се търси.
- Ако резултатът е истина, увеличете стойността на брояча.
Кодов фрагмент:
for (int l=0; l В # 8) Как да проверите дали два струни са взаимно въртене?
Отговор: За да проверите дали два низа са взаимно въртене, се следват следните стъпки:
- Инициализирайте двата низа в две променливи.
- Проверете дали дължината на два низа е подобна, ако не връща false.
- Присъединете низа към себе си.
- Проверете дали низът, който се завърта, присъства в съединения низ.
- Ако резултатът е истина, вторият низ е ротация на първия низ.
Кодов фрагмент:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
В # 9) Как да изчислим броя на цифровите цифри в низ?
Отговор: За да се изчисли броят на цифрите в низ, се следват следните стъпки:
- Вземете низа, върху който трябва да се извърши броенето
- Използвайте функцията replaceAll, която заменя всички цифрови цифри с “”.
- Вземете дължината на низа без цифри.
Кодов фрагмент:
package introduction; public class GG { public static void main(String() args) { // TODO Auto-generated method stub String str = 'TESTu45'; str=str.replaceAll('\d', ''); int l = str.length(); System.out.println('The length of the string without digit is:' + l); } }
В това решение се използва регулярен израз.
В # 10) Как да изчислим първия символ на низ, който не се повтаря?
Отговор: За да се изчисли първият символ на низ, който не се повтаря, се следват следните стъпки:
- Взема се структура от данни за повтарящите се символи и се взема списък за неповтарящия се знак.
- След разделяне на повтореното и неповтореното, в края на итерацията, първият елемент от списъка се отпечатва в конзолата.
Кодов фрагмент:
Set repeated = new HashSet(); List nonRepeated = new ArrayList(); for (int m = 0; m В # 11) Как да търсите липсващо число в масив, който съдържа цели числа от 1 до 100?
Отговор: За да търсите липсващо число в масив, който съдържа цели числа от 1 до 100, се изпълняват следните стъпки:
- Вземете цял масив с числата от 1 до 100.
- Изчислете сумата от числата, сумирането трябва да бъде = l * (l + 1) / 2, където l е броят на целите числа.
- Извършете изваждане на липсващия елемент от общото събиране на числа.
В # 12) Как да получите съвпадащите елементи в масив от цяло число?
Отговор: За да получите съответстващите елементи в масив от цяло число, са изпълнени следните стъпки:
- Изградете две бримки.
- В първия цикъл събирайте елементи един по един и събирайте броя на копията на избрания елемент.
Кодов фрагмент:
for (m = 0; m В # 13) Как да изтрия повтарящите се елементи в масив от цяло число?
Отговор: За да изтриете повтарящите се елементи в цял масив, се изпълняват следните стъпки:
най-добрият редактор на python mac os x
- Изградете хеш-карта, която ще избере всички елементи, които присъстват преди.
- Прегледайте масива и проверете дали елементът вече съществува в хеш картата
- Ако резултатът е истина, обхождането на масива продължава, в противен случай елементът се отпечатва в конзолата.
Кодов фрагмент:
HashMap m = new HashMap(); for (int j = 0; j В # 14) Определете най-големия и най-малкия елемент от масив, който не е сортиран.
Отговор: За да се определи най-големият и най-малкият елемент от масив, трябва да се изпълнят следните стъпки:
- Прекосете масива и наблюдавайте максималния елемент, намерен досега, докато стигнем границата на масива, се постига най-големият елемент.
- Прекосете масива и наблюдавайте минималния елемент, намерен до момента, докато стигнем границата на масива, се постига най-малкият елемент.
Въпрос # 15) Обяснете алгоритъма за сортиране на балончета.
Отговор: Алгоритъмът за сортиране на балончета включва следните стъпки:
- Започнете от първия елемент, след което извършете сравнение със следния елемент в масива
- Ако настоящият елемент е по-голям от следващия елемент на масива, тогава разменете позициите им.
- Ако настоящият елемент е по-малък от следващия елемент на масива, преминете към следващия елемент и отново повторете стъпка 1.
Кодов фрагмент:
for(k = 0; k В # 16) Прилагане на алгоритъма за сортиране на вмъкване.
Отговор: Прилагане на сортиране на вмъкване.
Кодов фрагмент:
for (m = 1; m 0 && arry(n - 1) > arry(n)) { k = arry(n); arry(n) = arry(n - 1); arry(n - 1) = k; n--; } }
В # 17) Определете втория по големина елемент от масив.
Отговор: Вторият по големина елемент от масив може да се изчисли чрез следните стъпки:
- Посочете най-големия елемент като първия елемент на масива, а вторият по големина елемент като втория елемент на масива.
- Повтаряйте през цикъла за обхождане на масива.
- АКО arry (i) е по-голям от най-големия елемент ТОГАВА
Втори елемент? най-големият елемент
Най-големият елемент? Arry (i)
АКО вторият елемент е по-малък от arry (i) THEN
Втори елемент? Arry (i)
Кодов фрагмент:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i Въпрос # 18) Обяснете обръщането на масив.
Отговор: Обръщането на масива се извършва по следните начини:
- Вземете масив с елементи.
- Сега разменете позицията на първия елемент с крайния елемент и по подобен начин втория елемент с предпоследния елемент.
- Това ще продължи, докато целият масив не бъде обърнат.
Кодов фрагмент:
for (t = 0; t В # 19) Как да премахнете специални символи в низ, който е с малки букви?
Отговор: Специалните знаци в низ могат да бъдат премахнати с помощта на функцията replaceAll в Java.
Кодов фрагмент:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
В това решение се използва регулярен израз.
В # 20) Как да извършим размяна на два низа, като не използваме трета променлива?
Отговор: Два низа се разменят без помощта на третата променлива чрез следните стъпки:
(i) Вземете два низа i, j и ги добавете, след което съхранявайте в първия низ.
(ii) Използвайки метода на подниза, извлечете низа:
j = substring(0,i.length()-j.length())
(iii) Съхранява низа j в низ i
i= subsrtirng(j.length)
Кодов фрагмент:
string i = “abc”, j =”def”; i = i+j; j = i. substring(0,i.length()-j.length()); i = i.substring(j.length()) System.out.println(i +””+j);
В # 21) Как да преминете към средата на свързан списък?
Отговор: За да преминете към средата на свързан списък, се изпълняват следните стъпки:
- Декларирайте два указателя първи и втори, които са инициализирани към свързаната глава на списъка.
- Увеличете първия свързан списък с два възела и втори с един възел във всеки цикъл.
- Докато първият възел достига до края на списъка, вторият възел ще сочи към средата.
Кодов фрагмент:
first = second = head; while(first !=null) { first = first.next; if(first != null && first.next != null) { second = second.next; first = first.next; } } return second; }
Въпрос # 22) Приложете процеса на обръщане на свързан списък.
Отговор: Свързаният списък може да бъде обърнат чрез стъпките по-долу:
- Декларирайте три възела, предхождащи, настоящи и следващи.
- Докато е в настоящия възел, предходното ще бъде null.
- Нека present.next да бъде предхождащ, за да обърне списъка.
- Във всеки цикъл, настоящият и предходният се увеличават с 1.
Кодов фрагмент:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; }
В # 23) Какъв е процесът на изтриване на съвпадащи елементи от свързан списък, който не е сортиран.
Отговор: За да изтриете съвпадащи елементи от свързан списък, който не е сортиран, се изпълняват следните стъпки:
- Пътувайте от главата до опашката на свързания списък.
- За всяка стойност в свързания списък проверете дали тя вече присъства в хеш таблицата.
- Ако резултатът е истина, елементът не се добавя към хеш таблицата.
Кодов фрагмент:
HashSet h = new HashSet(); node present = head; node preceding = null; while (present != null) { int presentval = present.value; if (h.contains(presentval)) { preceding.next = present.next; } else { h.add(presentval); preceding = present; } present = present.next; } }
В # 24) Как да получите дължината на свързания списък?
Отговор: За да получите дължината на свързания списък, се изпълняват следните стъпки:
- Стартирайте брояч със стойност 0 и представете възела като глава.
- Докато настоящият възел не е нулев, изпълнете следните:
- настояще = настояще -> следващо
- брояч = брояч + 1
- Връща се стойността на брояча.
Кодов фрагмент:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; }
В # 25) Как да търсите конкретна стойност в свързан списък?
Отговор: За да търсите конкретна стойност в свързан списък, се изпълняват следните стъпки:
- Декларирайте настоящия възел като глава.
- Докато настоящият възел не е нулев, изпълнете следните:
- настояще -> стойност е равна на стойността, която се търси за връщане true.
- настояще = настояще -> следващо.
- Ако не бъде намерен, се връща false.
Кодов фрагмент:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
В # 26) Как да проверите дали числото е просто или не?
Отговор: За да проверите дали числото е просто или не, се следват следните стъпки:
- Стартиране на цикъл от стойност 2 (k) до (число / 2)
- Ако числото е идеално делимо на k, тогава числото не е просто.
- Ако числото не е идеално делимо с изключение на 1 и само по себе си, тогава числото е просто.
Кодов фрагмент:
for(k = 2; k <= number / 2; k++) { if(number % k == 0) { stat = false; break; } } if (stat) System.out.println('Prime'; else System.out.println('Not prime');
В # 27) Как да получите третия възел на свързан списък?
Отговор: За да стигнете до третия възел на свързания списък, се изпълняват следните стъпки:
- Стартирайте брояч със стойност 0.
- Прегледайте свързания списък и изпълнете следните стъпки:
- Ако стойността на брояча е 3, тогава се връща настоящият възел.
- Броячът се увеличава с 1.
- Модифицирайте настоящето така, че да се подразбира към следващото от настоящето.
Кодов фрагмент:
Node present = head; int c = 0; while (c != null) { if (c == 3) return present.val; c = c+1; present = present.next; }
В # 28) Изчислете първите пет числа на Фибоначи.
сайтове за аниме, на които да гледате аниме
Отговор: 0 и 1 са първите две числа на Фибоначи и всички числа след 0 и 1 са добавяне на двете предишни числа.
Кодов фрагмент:
int num1=0, num2=1,t; for ( int k = 0; k<5,k++) { System.out.println(num1); t = num1 + num2; num1 = num2; num2 = t; }
В # 29) Как да обърнете число назад?
Отговор: Обръщане на число се постига в следните стъпки:
- Извадете най-дясната цифра от числото.
- Обобщете цифрата с новото обърнато число.
- Извършете умножение по 10.
- Разделете числото на 10.
Q # 30) Определете факторите на числото.
Отговор: Факторите на число се изразяват от следния кодов фрагмент:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
Заключение
Надяваме се, че много от отговорите на вашите запитвания по основните въпроси за интервю за кодиране са изяснени.
По-голямата част от изпълнението на кодирането, което обсъдихме, е в Java, но дори и да не знаете езика, стъпките или подробностите на алгоритъма, дадени тук за повечето въпроси, ще ви помогнат да се подготвите за интервю.
Работете усилено върху вашите основи на програмиране, логика, структури от данни, запазете спокойствие и практикувайте тези въпроси за интервю за програмиране.
Всичко най-добро за предстоящото ви интервю !!
Препоръчително четене
- Интервюирайте въпроси и отговори
- Въпроси и отговори за интервю за ETL тестване
- Някои сложни ръчни тестови въпроси и отговори
- 30 водещи въпроса и отговори за интервю за HTML (СПИСЪК 2021)
- Топ 30+ популярни въпроси и отговори за интервю за краставици
- Топ 30 SAS интервюта въпроси и отговори
- Топ 30 въпроси и отговори за интервюта на СУБД
- Топ 30 Въпроси и отговори за тестване на сигурността