top 30 programming coding interview questions answers
У овом упутству смо вам пружили најчешћа питања и одговоре на питања о кодирању са програмском логиком и примерима кода за вежбање програмирања:
Сви смо свесни да одговарање на најосновнија питања у вези са програмирањем или програмирањем одређује како ћемо се понашати у интервјуу. Интервју може бити за Јава, Ц ++ или захтев за Јавасцрипт, али основа остаје иста, толико смо јаки у основама програмске логике.
Такође ако је наш приступ брз и суптилан у интервјуу, вероватноћа избора је већа. Зато прочитајте за разбијање питања о кодирању интервјуа.
Не заборавите да проучите и вежбате ова питања за програмски интервју пре него што се суочите са интервјуом. Ово ће вам не само повећати уверење, већ ће бити корисно и да брзо одговорите на њих. Питања ће углавном покривати теме попут низова, низа, повезане листе итд.
Навуците чарапе, момци !!
Често постављана питања о основном програмирању / кодирању
К # 1) Како можете преокренути низ?
Одговор: Низ је обрнут са следећим алгоритмом:
- Иницирати
- Декларише се низ који треба обрнути.
- Добити дужину низа.
- Покрените петљу, а затим замените положај елемената низа.
- Задржите размењене позиције.
- Одштампајте обрнути низ.
П # 2) Шта је палиндромска жица?
Одговор: Након што се низ обрне, као што је објашњено у К # 1, треба да поставимо следећи услов:
Фрагмент кода:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
Тако је палиндромска жица она која при вожњи уназад остаје иста, на пример, - ’госпођа’ је палиндромска жица.
П # 3) Како добити одговарајуће знакове у низу?
Одговор: Да бисте добили одговарајуће знакове у низу, следе се следећи кораци:
- Узима се структура података Хасх Мап која ради са паром кључ / вредност.
- Петље низите, знак по знак, и проверите да ли тај знак низа постоји на хеш мапи или не.
- Ако је резултат тачан, бројач знака на хеш мапи се повећава или у супротном ставите бројање као 1.
- Када се петља заврши, тада се прелази Хасх мапа и исписује знакове са више од 1 бројања.
Фрагмент кода:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
К # 4) Како добити неподударне знакове у низу?
Одговор: Да бисте добили неподударајуће знакове у низу, следе се следећи кораци:
- Узима се структура података Хасх Мап која ради са паром кључ / вредност.
- Петљајте низ, знак по знак, и проверите да ли тај знак низа постоји на хеш мапи или не.
- Ако је резултат тачан, бројач знака на хеш мапи се повећава или у супротном ставите бројање као 1.
- Када се петља заврши, тада се прелази Хасх карта и исписује знакове са бројем једнаким 1.
Фрагмент кода:
HashMap mp = new HashMap (); for (int j = 0; j П # 5) Како израчунати број самогласника и сугласника у низу?
Одговор: Да бисте израчунали број самогласника и сугласника у низу, следе се следећи кораци:
- Набавите низ на коме треба извршити бројање.
- Покрените петљу од 0 до дужине низа.
- Узмите по један знак и проверите да ли су део групе самогласника.
- Ако је резултат тачан, повећајте број самогласника или повећајте број сугласника.
Фрагмент кода:
for (int k = 0; k П # 6) Како доказујете да су два низа анаграми?
Одговор: Две жице се називају анаграмима ако у разноврсном низу садрже сличну групу знакова.
Да бисте проверили да ли су два низа анаграми, следе се следећи кораци:
- Иницијализујте два низа у две променљиве.
- Проверите да ли је дужина две жице слична, ако не, жице нису анаграм.
- Ако је резултат тачан, узмите две низове и спремите их у низ знакова.
- Сортирајте два низа знакова, а затим проверите да ли су два сортирана низа слична.
- Ако је резултат тачан, две струне су анаграм елсе, а не анаграм.
Фрагмент кода:
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) Како проверити да ли се две жице међусобно окрећу?
Одговор: Да би се верификовало да ли се два низа међусобно окрећу, следе се следећи кораци:
- Иницијализујте два низа у две променљиве.
- Проверите да ли је дужина два низа слична, ако не враћа фалсе.
- Придружите низ себи.
- Проверите да ли је низ који се ротира присутан у придруженом низу.
- Ако је резултат тачан, други низ је ротација првог низа.
Фрагмент кода:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
П # 9) Како израчунати број нумеричких цифара у низу?
Одговор: Да бисте израчунали број цифара у низу, следе се следећи кораци:
- Набавите низ на коме треба извршити бројање
- Користите функцију реплацеАлл која замењује све нумеричке цифре са “”.
- Добијте дужину низа без цифара.
Фрагмент кода:
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.
- Израчунајте збир бројева, збрајање ће бити = л * (л + 1) / 2, где је л број целих бројева.
- Извршите одузимање елемента који недостаје од укупног сабирања бројева.
П # 12) Како добити одговарајуће елементе у целобројном низу?
Одговор: Да бисте добили одговарајуће елементе у целобројном низу, следе се следећи кораци:
- Изградите две петље.
- У првој петљи сакупљајте елементе један по један и збрајајте број инстанци изабраног елемента.
Фрагмент кода:
for (m = 0; m П # 13) Како избрисати поновљене елементе у целобројном низу?
Одговор: Да бисте избрисали поновљене елементе у целобројном низу, следе се следећи кораци:
како уклонити елемент низа у јави
- Направите хеш-мапу која ће одабрати све елементе који су раније били присутни.
- Прелистајте низ и проверите да ли елемент већ постоји на хеш мапи
- Ако је резултат истинит, прелазак низа се наставља, у супротном, елемент се исписује у конзоли.
Фрагмент кода:
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) Одредити други највећи елемент низа.
Одговор: Други највећи елемент низа може се израчунати следећим корацима:
- Наведите највећи елемент као први елемент низа, а други највећи елемент као други елемент низа.
- Прелистајте петљу за прелазак низа.
- АКО је арри (и) већи од највећег елемента ОНДА
Други елемент? највећи елемент
Највећи елемент? Арри (и)
АКО је други елемент мањи од арри (и) ТХЕН
Други елемент? Арри (и)
Фрагмент кода:
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) Како уклонити посебне знакове из низа који је малим словом?
Одговор: Посебни знакови из низа могу се уклонити употребом функције реплацеАлл у Јави.
Фрагмент кода:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
У овом решењу се користи регуларни израз.
П # 20) Како извршити замену два низа не користећи трећу променљиву?
Одговор: Два низа се замењују без помоћи треће променљиве у следећим корацима:
(и) Узмите две жице и, ј и додајте их, а затим сачувајте у првом низу.
(ии) Помоћу методе подниза извуците низ:
j = substring(0,i.length()-j.length())
(иии) Спремите низ ј у низ и
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) Спроведите поступак преокретања повезане листе.
Одговор: Повезану листу можете преокренути следећим корацима:
- Изјавите три чвора која претходе, представљају и следе.
- Док је у садашњем чвору, претходни ће бити нула.
- Нека пређе пресент.нект да преокрене листу.
- У сваком понављању, садашњи и претходни увећавају се за 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) Како претраживати одређену вредност на повезаној листи?
Одговор: Да бисте претражили одређену вредност на повезаној листи, следе се следећи кораци:
- Декларирајте садашњи чвор као главу.
- Док тренутни чвор није нулл, изводите следеће:
- присутан -> вредност је једнака вредности за коју се тражи повратак труе.
- присутан = присутан -> следећи.
- Ако није пронађено, враћа се фалсе.
Фрагмент кода:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
П # 26) Како проверити да ли је број прост или није?
Одговор: Да бисте проверили да ли је број прост или не, следе следећи кораци:
- Покрените петљу од вредности 2 (к) до (број / 2)
- Ако је број савршено дељив са к, онда број није прост.
- Ако број није савршено дељив, осим за 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.
П # 30) Одредити факторе броја.
Одговор: Фактори броја изражени су следећим исечком кода:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
Закључак
Надамо се да су разјашњени многи одговори на ваша питања о основним питањима за кодирање.
Већина имплементације кодирања о којој смо разговарали је на Јави, међутим, чак и ако не знате језик, кораци или детаљи алгоритма који су овде дати за већину питања помоћи ће вам да се припремите за интервју.
шта је најбоље средство за чишћење рачунара
Вредно радите на својим основама програмирања, логици, структурама података, будите мирни и вежбајте ова питања за програмски интервју.
Све најбоље за ваш предстојећи интервју !!
Препоручено читање
- Питања и одговори за интервјуе
- Питања и одговори за испитивање ЕТЛ-а
- Нека незгодна ручна тестирања питања и одговори
- 30 најважнијих ХТМЛ питања и одговора у интервјуима (ЛИСТА 2021)
- Топ 30+ популарних питања и одговора за интервју са краставцима
- Топ 30 питања и одговора за интервјуе са САС-а
- Топ 30 питања и одговори за интервјуе ДБМС-а
- 30 водећих питања и одговора за испитивање безбедности