top 30 programming coding interview questions answers
V tej vadnici smo za vadbo programiranja ponudili najpogostejša vprašanja in odgovore za kodiranje z intervjuji s primeri programske logike in kode:
Vsi se zavedamo, da odgovarjanje na najosnovnejša vprašanja glede kodiranja ali programiranja določa, kako bomo v intervjuju. Intervju je lahko za Java, C ++ ali zahtevo za Javascript, vendar osnova ostaja enaka, torej kako močni smo v temeljih programske logike.
Tudi če je naš pristop hiter in prefinjen v intervjuju, je verjetnost izbire večja. Torej, preberite, kako razbijate vprašanja o kodiranju.
Ne pozabite proučiti in vaditi teh vprašanj za programski intervju, preden se soočite z intervjujem. To vam ne bo samo povečalo prepričanja, ampak vam bo pomagalo tudi hitro odgovoriti. Vprašanja bodo zajemala predvsem teme, kot so nizi, nizi, povezani seznami itd.
Povlecite nogavice!
Pogosto zastavljena osnovna vprašanja o programiranju / kodiranju
Q # 1) Kako lahko obrnete niz?
Odgovor: Niz je obrnjen z naslednjim algoritmom:
- Začni
- Označi se niz, ki ga je treba obrniti.
- Dobite dolžino vrvice.
- Zaženite zanko in nato zamenjajte položaj elementov matrike.
- Ohranite izmenjane položaje.
- Natisnite obrnjeni niz.
V # 2) Kaj je palindromski niz?
Odgovor: Ko je niz obrnjen, kot je razloženo v Q # 1, postaviti moramo naslednji pogoj:
Delček kode:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; } Tako je palindromski niz tisti, ki pri vzvratni vožnji ostane enak, na primer, - 'gospa' je palindromski niz.
V # 3) Kako dobiti ustrezne znake v nizu?
Odgovor: Če želite dobiti ustrezne znake v nizu, sledite spodnjim korakom:
- Vzeta je struktura podatkov zemljevida razprševanja, ki deluje s parom ključ-vrednost.
- Zavijte nize, znak za znakom, in preverite, ali ta znak niza obstaja na zemljevidu razprševanja ali ne.
- Če je rezultat resničen, se poveča števec znaka na zemljevidu razprševanja ali pa se šteje kot 1.
- Ko se zanka konča, se premakne zemljevid Hash in natisne znake z več kot 1 štetjem.
Delček kode:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } } Q # 4) Kako dobiti neenake znake v nizu?
Odgovor: Če želite dobiti neenake znake v nizu, sledite spodnjim korakom:
- Vzeta je struktura podatkov zemljevida razprševanja, ki deluje s parom ključ-vrednost.
- Zavijte niz, znak za znakom, in preverite, ali ta znak niza obstaja na zemljevidu razprševanja ali ne.
- Če je rezultat resničen, se poveča števec znaka na zemljevidu razprševanja ali pa se šteje kot 1.
- Ko se zanka konča, se prečka zemljevid Hash in natisne znake s številom, enakim 1.
Delček kode:
HashMap mp = new HashMap (); for (int j = 0; j V # 5) Kako izračunati število samoglasnikov in soglasnikov v nizu?
Odgovor: Za izračun števila samoglasnikov in soglasnikov v nizu sledimo spodnjim korakom:
- Pridobite niz, na katerem je treba izvesti štetje.
- Zaženite zanko od 0 do dolžine niza.
- Vzemite en sam znak naenkrat in preverite, ali so del skupine samoglasnikov.
- Če je rezultat resničen, povečajte število samoglasnikov ali pa povečajte število soglasnikov.
Delček kode:
for (int k = 0; k V # 6) Kako dokažete, da sta oba niza anagrama?
Odgovor: Dva niza se imenujeta anagrama, če sprejemata podobno skupino znakov v različnem zaporedju.
Če želite preveriti, ali sta dva niza anagrama, sledite spodnjim korakom:
- Inicializirajte dva niza v dveh spremenljivkah.
- Preverite, ali je dolžina obeh nizov podobna, če ne, pa strune niso anagram.
- Če je rezultat resničen, vzemite dva niza in ju shranite v niz znakov.
- Razvrstite dva znakovna polja in nato preverite, ali sta si razvrščena polja podobna.
- Če je rezultat resničen, sta niza anagram sicer, ne anagram.
Delček kode:
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'); } } V # 7) Poiščite število pojavitev določenega znaka v nizu.
Odgovor: Če želite šteti pojav določenega znaka v nizu, sledite spodnjim korakom:
- Začnite z nizom in določenim znakom, katerega pojav se šteje.
- Zaženite zanko od 0 do dolžine niza.
- Primerjaj, če je določen znak niza enak znaku, ki ga iščeš.
- Če je rezultat resničen, povečajte vrednost števca.
Delček kode:
for (int l=0; l V # 8) Kako preveriti, ali sta dva niza medsebojno vrteča?
Odgovor: Če želite preveriti, ali se dva niza medsebojno vrtijo, sledite spodnjim korakom:
- Inicializirajte dva niza v dveh spremenljivkah.
- Preverite, ali je dolžina dveh nizov podobna, če ne vrne false.
- Pridružite niz samemu sebi.
- Preverite, ali je niz, ki je zasukan, prisoten v združenem nizu.
- Če je rezultat resničen, je drugi niz vrtenje prvega niza.
Delček kode:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; } V # 9) Kako izračunati število številskih števk v nizu?
Odgovor: Za izračun števila števk v nizu sledimo spodnjim korakom:
- Pridobite niz, na katerem je treba izvesti štetje
- Uporabite funkcijo replaceAll, ki nadomesti vse številske številke z “”.
- Dobite dolžino niza brez številk.
Delček kode:
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); } }V tej rešitvi je uporabljen regularni izraz.
V # 10) Kako izračunati prvi znak niza, ki se ne ponovi?
Odgovor: Za izračun prvega znaka niza, ki se ne ponovi, sledimo spodnjim korakom:
- Nastavi se podatkovna struktura za ponavljajoče se znake in seznam neponovljenih znakov.
- Po ločitvi ponovljenega in neponovljenega se na koncu ponovitve v konzoli natisne prvi element seznama.
Delček kode:
Set repeated = new HashSet(); List nonRepeated = new ArrayList(); for (int m = 0; m V # 11) Kako iskati manjkajoče število v matriki, ki vsebuje cela števila od 1 do 100?
Odgovor: Če želite poiskati manjkajoče število v matriki, ki vsebuje cela števila od 1 do 100, sledite spodnjim korakom:
- Vzemite celoštevilsko matriko s številkami od 1 do 100.
- Izračunajte vsoto števil, vsota mora biti = l * (l + 1) / 2, kjer je l število celih števil.
- Opravite odštevanje manjkajočega elementa od skupnega seštevanja števil.
V # 12) Kako dobiti ujemajoče se elemente v celoštevilski matriki?
Odgovor: Če želite dobiti ujemajoče se elemente v celoštevilski matriki, sledite spodnjim korakom:
- Zgradite dve zanki.
- V prvi zanki zberite elemente enega za drugim in seštejte število primerkov izbranega elementa.
Delček kode:
for (m = 0; m V # 13) Kako izbrisati ponavljajoče se elemente v celoštevilski matriki?
Odgovor: Če želite izbrisati ponavljajoče se elemente v celoštevilski matriki, sledite spodnjim korakom:
- Zgradite hashmap, ki bo izbral vse elemente, ki so bili prej prisotni.
- Preglejte matriko in preverite, ali element že obstaja na zemljevidu razprševanja
- Če je rezultat resničen, se prehod matrike nadaljuje, sicer se element izpiše v konzoli.
Delček kode:
HashMap m = new HashMap(); for (int j = 0; j V # 14) Določite največji in najmanjši element polja, ki ni razvrščeno.
Odgovor: Za določitev največjega in najmanjšega elementa matrike je treba slediti spodnjim korakom:
- Prehodite matriko in spremljajte največ doslej najdenih elementov, dokler ne pridemo do meje matrike, dosežemo največji element.
- Prehodite matriko in spremljajte najmanjši doslej najdeni element, dokler nismo na meji polja, dosežemo najmanjši element.
V # 15) Pojasnite algoritem za razvrščanje mehurčkov.
Odgovor: Algoritem razvrščanja mehurčkov vključuje naslednje korake:
- Začnite s prvim elementom, nato izvedite primerjavo z naslednjim elementom v matriki
- Če je sedanji element večji od naslednjega elementa polja, zamenjajte njihova položaja.
- Če je sedanji element manjši od naslednjega elementa polja, se pomaknite na naslednjega elementa in ponovite 1. korak.
Delček kode:
for(k = 0; k V # 16) Izvedite algoritem za razvrščanje vstavljanja.
Odgovor: Izvajanje sortiranja vstavljanja.
Delček kode:
for (m = 1; m 0 && arry(n - 1) > arry(n)) { k = arry(n); arry(n) = arry(n - 1); arry(n - 1) = k; n--; } } V # 17) Določite drugi največji element polja.
Odgovor: Drugi največji element matrike lahko izračunamo z naslednjimi koraki:
- Največji element navedite kot prvi element polja, drugi največji element pa kot drugi element polja.
- Ponavljajte skozi zanko za prehod skozi polje.
- ČE je arry (i) večji od največjega elementa THEN
Drugi element? največji element
Največji element? Arry (i)
ČE je drugi element manjši od arry (i) THEN
Drugi element? Arry (i)
Delček kode:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i V # 18) Pojasnite obrat niza.
Odgovor: Preoblikovanje matrike se izvede na naslednje načine:
- Vzemi matriko z elementi.
- Zdaj zamenjajte položaj prvega elementa s končnim elementom in podobno drugega elementa s predzadnjim elementom.
- To se bo nadaljevalo, dokler se celotna matrica ne obrne.
Delček kode:
for (t = 0; t V # 19) Kako odstraniti posebne znake v nizu, ki je napisan z malimi črkami?
Odgovor: Posebne znake v nizu lahko odstranite s funkcijo replaceAll v Javi.
Delček kode:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””) V tej rešitvi je uporabljen regularni izraz.
V # 20) Kako izvesti zamenjavo dveh nizov, če ne uporabimo tretje spremenljivke?
Odgovor: Dva niza se zamenjata brez pomoči tretje spremenljivke z naslednjimi koraki:
(jaz) Vzemite dva niza i, j in jih dodajte, nato shranite v prvi niz.
(ii) Z uporabo metode podniza izvlecite niz:
j = substring(0,i.length()-j.length()) (iii) Shrani niz j v niz i
i= subsrtirng(j.length) Delček kode:
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); V # 21) Kako se pomakniti na sredino povezanega seznama?
Odgovor: Za prehod na sredino povezanega seznama sledite spodnjim korakom:
- Prvi in drugi prijavite dva kazalca, ki sta inicializirana na glavo povezane liste.
- Prvi povezani seznam povečajte za dva vozlišča, drugega pa za eno vozlišče v vsaki zanki.
- Medtem ko prvo vozlišče doseže konec seznama, drugo vozlišče kaže na sredino.
Delček kode:
first = second = head; while(first !=null) { first = first.next; if(first != null && first.next != null) { second = second.next; first = first.next; } } return second; } V # 22) Izvedite postopek razveljavitve povezanega seznama.
Odgovor: Povezani seznam je mogoče obrniti s spodnjimi koraki:
- Navedite tri vozlišča pred, sedanjostjo in naslednjo.
- Medtem ko je v sedanjem vozlišču, bo prejšnje nič.
- Naj bo pred sedanjostjo., Če želite obrniti seznam.
- V vsaki zanki se sedanjik in predhodnik povečata za 1.
Delček kode:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; } V # 23) Kakšen je postopek brisanja ujemajočih se elementov s povezanega seznama, ki ni razvrščen.
Odgovor: Če želite povezane elemente izbrisati s povezanega seznama, ki ni razvrščen, sledite spodnjim korakom:
najboljši DVD ripper za Windows 10
- Potujte od glave do repa povezanega seznama.
- Za vsako vrednost na povezanem seznamu preverite, ali je že prisotna v razpršeni tabeli.
- Če je rezultat resničen, se element ne doda v razpršilno tabelo.
Delček kode:
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; } } V # 24) Kako dobiti dolžino povezanega seznama?
Odgovor: Če želite dobiti dolžino povezanega seznama, sledite spodnjim korakom:
- Zaženite števec z vrednostjo 0 in predstavite vozlišče kot glavo.
- Dokler trenutno vozlišče ni nič, izvedite naslednje:
- prisoten = prisoten -> naslednji
- števec = števec + 1
- Vrnjena je vrednost števca.
Delček kode:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; } V # 25) Kako iskati določeno vrednost na povezanem seznamu?
Odgovor: Za iskanje določene vrednosti na povezanem seznamu sledite spodnjim korakom:
- Razglasite trenutno vozlišče kot glavo.
- Dokler trenutno vozlišče ni nič, izvedite naslednje:
- prisoten -> vrednost je enaka vrednosti, za katero se išče vrnitev true.
- prisoten = prisoten -> naslednji.
- Če ni najden, se vrne false.
Delček kode:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; } V # 26) Kako preveriti, ali je število prosto ali ne?
Odgovor: Če želite preveriti, ali je število prosto ali ne, sledite spodnjim korakom:
- Zaženite zanko od vrednosti 2 (k) do (število / 2)
- Če je število popolnoma deljivo s k, potem je število neštevilčno.
- Če število ni popolnoma deljivo, razen za 1 in samo po sebi, je število prosto.
Delček kode:
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'); V # 27) Kako dobiti tretje vozlišče povezanega seznama?
Odgovor: Če želite priti do tretjega vozlišča povezanega seznama, sledite spodnjim korakom:
- Zaženite števec z vrednostjo 0.
- Prelistajte povezani seznam in izvedite te korake:
- Če je vrednost števca 3, se vrne sedanje vozlišče.
- Števec se poveča za 1.
- Spremenite sedanjost tako, da implicira na naslednjo sedanjost.
Delček kode:
Node present = head; int c = 0; while (c != null) { if (c == 3) return present.val; c = c+1; present = present.next; } V # 28) Izračunajte prvih pet Fibonaccijevih števil.
Odgovor: 0 in 1 sta prvi dve Fibonaccijevi številki in vsi številki po 0 in 1 sta seštevek prejšnjih števil.
Delček kode:
int num1=0, num2=1,t; for ( int k = 0; k<5,k++) { System.out.println(num1); t = num1 + num2; num1 = num2; num2 = t; } V # 29) Kako obrniti številko?
Odgovor: Obrnitev številke se doseže v naslednjih korakih:
- Izvlecite skrajno desno številko števila.
- Seštejte številko z novo obrnjeno številko.
- Izvedite množenje z 10.
- Število delite z 10.
V # 30) Določite faktorje števila.
Odgovor: Faktorji števila so izraženi z naslednjim delčkom kode:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }Zaključek
Upamo, da so bili pojasnjeni številni odgovori na vaša vprašanja glede osnovnih vprašanj o kodiranju.
Večina izvedbe kodiranja, o kateri smo razpravljali, je v Javi, vendar tudi če ne poznate jezika, vam bodo koraki ali podrobnosti algoritma, podanega tukaj za večino vprašanj, pomagali pri pripravi na razgovor.
Trdo delajte na svojih osnovah programiranja, logike, podatkovnih struktur, bodite mirni in vadite ta vprašanja za programski intervju.
Vse najboljše za vaš prihajajoči intervju !!
Priporočeno branje
- Vprašanja in odgovori za intervjuje
- Vprašanja in odgovori za preizkušanje ETL
- Nekaj zapletenih ročnih preizkusov Vprašanja in odgovori
- 30 najboljših vprašanj in odgovorov za intervjuje v HTML (SEZNAM 2021)
- 30 najbolj priljubljenih vprašanj in odgovorov za intervju s kumaricami
- Top 30 vprašanj in odgovorov za intervju s SAS
- 30 najboljših vprašanj in odgovorov za DBMS
- Top 30 vprašanj in odgovorov za preskušanje varnosti