top 30 programming coding interview questions answers
U ovom smo uputstvu za vježbanje programiranja pružili najčešća pitanja i odgovore na pitanja o kodiranju s programskom logikom i kodom:
Svi smo svjesni da odgovaranje na najosnovnija pitanja u vezi s programiranjem ili programiranjem određuje kako ćemo se ponašati u intervjuu. Intervju može biti za Javu, C ++ ili zahtjev za Javascriptom, ali osnova ostaje ista, to jest koliko smo snažni u temeljima programske logike.
Također ako je naš pristup brz i suptilan u intervjuu, vjerojatnost odabira je veća. Stoga pročitajte kako razbijate pitanja o kodiranju intervjua.
Sjetite se proučiti i uvježbati ova pitanja za programski intervju prije nego što se suočite s intervjuom. To će vam ne samo povećati uvjerenje, već će biti korisno i brzo odgovoriti na njih. Pitanja će uglavnom obuhvaćati teme poput nizova, niza, povezanog popisa itd.
Navucite čarape!
Često postavljana pitanja o osnovnom programiranju / kodiranju
P # 1) Kako možete preokrenuti niz?
Odgovor: Niz je obrnut sa sljedećim algoritmom:
- Inicirati
- Deklarira se niz koji treba obrnuti.
- Dobijte duljinu niza.
- Pokrenite petlju, a zatim zamijenite položaj elemenata niza.
- Zadržite razmijenjene pozicije.
- Ispis obrnutog niza.
P # 2) Što je palindromski niz?
Odgovor: Nakon što se niz obrne, kao što je objašnjeno u Q # 1, trebamo postaviti sljedeći uvjet:
Isječak koda:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
Stoga je palindromski niz onaj koji na rikverc ostaje isti, na primjer, - ‘gospođa’ je palindromska žica.
P # 3) Kako dobiti odgovarajuće znakove u nizu?
Odgovor: Da biste dobili odgovarajuće znakove u nizu, slijede se sljedeći koraci:
- Uzima se struktura podataka Hash Map koja radi s parom ključ / vrijednost.
- Petljajte nizove, znak po znak, i provjerite postoji li taj znak niza na hash mapi ili ne.
- Ako je rezultat istinit, brojač znaka na hash mapi se povećava ili u suprotnom stavite broj 1.
- Kad se petlja završi, tada se prelazi Hash karta i ispisuje znakove s više od 1 broja.
Isječak koda:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
P # 4) Kako doći do nepodudarnih znakova u nizu?
Odgovor: Da biste dobili nepodudarajuće znakove u nizu, slijede se koraci u nastavku:
- Uzima se struktura podataka Hash Map koja radi s parom ključ / vrijednost.
- Petljajte niz, znak po znak, i provjerite postoji li taj znak niza na mapi heširanja ili ne.
- Ako je rezultat istinit, brojač znaka na hash mapi se povećava ili u suprotnom stavite broj 1.
- Kad se petlja završi, tada se prelazi Hash karta i ispisuje znakove s brojem jednakim 1.
Isječak koda:
HashMap mp = new HashMap (); for (int j = 0; j P # 5) Kako izračunati broj samoglasnika i suglasnika u nizu?
Odgovor: Da biste izračunali broj samoglasnika i suglasnika u nizu, slijede se koraci u nastavku:
- Nabavite niz na kojem treba izvršiti brojanje.
- Pokrenite petlju od 0 do duljine niza.
- Uzmite po jedan znak i provjerite jesu li dio skupine samoglasnika.
- Ako je rezultat istinit, povećajte broj samoglasnika ili povećajte broj suglasnika.
Isječak koda:
for (int k = 0; k P # 6) Kako dokazati da su dva niza anagrami?
Odgovor: Dva se niza nazivaju anagramima ako u različitom slijedu smještaju sličnu skupinu znakova.
Da biste provjerili jesu li dva niza anagrami, slijede se sljedeći koraci:
- Inicijalizirajte dva niza u dvije varijable.
- Provjerite je li duljina dviju žica slična, ako ne, žice nisu anagram.
- Ako je rezultat istinit, uzmite dva niza i spremite ih u niz znakova.
- Razvrstajte dva niza znakova, a zatim provjerite jesu li dva poredana niza slična.
- Ako je rezultat istinit, dvije su žice anagram ostalo, a ne anagram.
Isječak koda:
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'); } }
P # 7) Pronađite broj pojavljivanja određenog znaka u nizu.
Odgovor: Da bi se brojalo pojavljivanje određenog znaka u nizu, slijede se sljedeći koraci:
- Počnite s nizom i određenim znakom čija će se pojava računati.
- Pokrenite petlju od 0 do duljine niza.
- Usporedite je li određeni znak niza jednak liku koji se pretražuje.
- Ako je rezultat istinit, povećajte vrijednost brojača.
Isječak koda:
for (int l=0; l P # 8) Kako provjeriti jesu li dva niza međusobno okretanje?
Odgovor: Da biste provjerili jesu li dva niza međusobno rotacija, slijede se koraci u nastavku:
- Inicijalizirajte dva niza u dvije varijable.
- Provjerite je li duljina dva niza slična, ako ne vraća false.
- Pridružite niz sebi.
- Provjerite je li niz koji se rotira prisutan u pridruženom nizu.
- Ako je rezultat istinit, drugi niz je rotacija prvog niza.
Isječak koda:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
P # 9) Kako izračunati broj numeričkih znamenki u nizu?
Odgovor: Da biste izračunali broj znamenki u nizu, slijede se koraci u nastavku:
- Nabavite niz na kojem treba izvršiti brojanje
- Upotrijebite funkciju replaceAll koja zamjenjuje sve brojčane znamenke s ''.
- Dobijte duljinu niza bez znamenki.
Isječak koda:
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); } }
U ovom se rješenju koristi regularni izraz.
P # 10) Kako izračunati prvi znak niza koji se ne ponavlja?
Odgovor: Da bi se izračunao prvi znak niza koji se ne ponavlja, slijede se sljedeći koraci:
- Postavlja se struktura podataka za ponovljene znakove i popis za neponovljeni znak.
- Nakon razdvajanja ponovljenog i neponovljenog, na kraju iteracije, prvi element popisa ispisuje se u konzoli.
Isječak koda:
Set repeated = new HashSet(); List nonRepeated = new ArrayList(); for (int m = 0; m P # 11) Kako pretraživati broj koji nedostaje u nizu koji sadrži cijele brojeve od 1 do 100?
Odgovor: Da biste pretražili broj koji nedostaje u nizu koji sadrži cijele brojeve od 1 do 100, slijede se koraci u nastavku:
- Uzmite čitav niz s brojevima od 1 do 100.
- Izračunajte zbroj brojeva, zbroj će biti = l * (l + 1) / 2, gdje je l broj cijelih brojeva.
- Izvršite oduzimanje elementa koji nedostaje od ukupnog zbrajanja brojeva.
P # 12) Kako dobiti odgovarajuće elemente u cjelobrojnom nizu?
Odgovor: Da biste dobili podudarne elemente u čitavom nizu, slijede se koraci u nastavku:
kako pregledati xml datoteku -
- Izgradite dvije petlje.
- U prvoj petlji sakupljajte elemente jedan po jedan i zbrajajte broj primjeraka odabranog elementa.
Isječak koda:
for (m = 0; m P # 13) Kako izbrisati ponovljene elemente u cjelobrojnom nizu?
Odgovor: Da biste izbrisali ponovljene elemente u cijelom nizu, slijede se koraci u nastavku:
- Izgradite hashmapu koja će odabrati sve elemente koji su prije bili prisutni.
- Prelistajte niz i provjerite postoji li element već na hash mapi
- Ako je rezultat istinit, prelazak niza se nastavlja, u suprotnom, element se ispisuje u konzoli.
Isječak koda:
HashMap m = new HashMap(); for (int j = 0; j P # 14) Odredite najveći i najmanji element niza koji nije sortiran.
Odgovor: Da biste odredili najveći i najmanji element niza, potrebno je slijediti korake u nastavku:
- Pređite nizom i nadgledajte maksimalno pronađeni element do sada, sve dok nismo na granici niza, postignut je najveći element.
- Pređite nizom i nadgledajte do sada pronađeni minimalni element, sve dok se ne nađemo na granici niza, postigne se najmanji element.
P # 15) Objasnite algoritam sortiranja mjehurića.
Odgovor: Algoritam sortiranja mjehurića uključuje sljedeće korake:
- Počnite od prvog elementa, a zatim izvedite usporedbu sa sljedećim elementom u polju
- Ako je trenutni element veći od sljedećeg elementa niza, zamijenite njihove položaje.
- Ako je trenutni element manji od sljedećeg elementa niza, prijeđite na sljedeći element i ponovite korak 1.
Isječak koda:
for(k = 0; k P # 16) Primijenite algoritam sortiranja umetanja.
Odgovor: Provedba sortiranja umetanja.
Isječak koda:
for (m = 1; m 0 && arry(n - 1) > arry(n)) { k = arry(n); arry(n) = arry(n - 1); arry(n - 1) = k; n--; } }
P # 17) Odredite drugi najveći element niza.
Odgovor: Drugi najveći element niza može se izračunati sljedećim koracima:
- Navedite najveći element kao prvi element niza, a drugi najveći element kao drugi element niza.
- Prelistajte petlju za prelazak nizom.
- AKO je arry (i) veći od najvećeg elementa ONDA
Drugi element? najveći element
Najveći element? Arry (i)
AKO je drugi element manji od arry (i) THEN
Drugi element? Arry (i)
Isječak koda:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i P # 18) Objasnite preokret niza.
Odgovor: Preokret niza vrši se na sljedeće načine:
- Uzmi niz s elementima.
- Sada zamijenite položaj prvog elementa s završnim elementom, a slično drugom elementu s pretposljednjim elementom.
- To će se nastaviti sve dok se cijeli niz ne preokrene.
Isječak koda:
for (t = 0; t P # 19) Kako ukloniti posebne znakove iz niza koji je malim slovom?
Odgovor: Posebni znakovi u nizu mogu se ukloniti upotrebom funkcije replaceAll u Javi.
Isječak koda:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
U ovom se rješenju koristi regularni izraz.
P # 20) Kako izvesti zamjenu dva niza ne koristeći treću varijablu?
Odgovor: Dva niza mijenjaju se bez pomoći treće varijable u sljedećim koracima:
(i) Uzmite dva niza i, j i dodajte ih, a zatim spremite u prvi niz.
(ii) Pomoću metode podniza izvucite niz:
j = substring(0,i.length()-j.length())
(iii) Spremite niz j u niz i
i= subsrtirng(j.length)
Isječak koda:
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);
P # 21) Kako prijeći na sredinu povezanog popisa?
Odgovor: Da biste prešli na sredinu povezanog popisa, slijede se sljedeći koraci:
- Deklarirajte dva i prva pokazivača koji su inicijalizirani u povezanu glavu popisa.
- Povećajte prvi povezani popis za dva čvora, a drugi za jedan čvor u svakoj petlji.
- Dok prvi čvor doseže kraj popisa, drugi čvor usmjerava prema sredini.
Isječak koda:
first = second = head; while(first !=null) { first = first.next; if(first != null && first.next != null) { second = second.next; first = first.next; } } return second; }
P # 22) Provedite postupak preokretanja povezanog popisa.
Odgovor: Povezani popis može se preokrenuti sljedećim koracima:
- Izjavite tri čvora koja prethode, predstavljaju i slijede.
- Dok je u sadašnjem čvoru, prethodni će biti null.
- Neka sadašnji.sljedeći prethodi preokretanju popisa.
- U svakom se ponavljanju prisutni i prethodni uvećavaju za 1.
Isječak koda:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; }
P # 23) Koji je postupak brisanja podudarnih elemenata s povezanog popisa koji nije sortiran.
Odgovor: Da biste izbrisali podudarne elemente s povezanog popisa koji nije sortiran, slijede se sljedeći koraci:
- Putujte od glave do repa povezanog popisa.
- Za svaku vrijednost na povezanom popisu provjerite je li već prisutna u hash tablici.
- Ako je rezultat istinit, element se ne dodaje u tablicu raspršivanja.
Isječak koda:
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; } }
P # 24) Kako dobiti dužinu povezanog popisa?
Odgovor: Da biste dobili duljinu povezanog popisa, slijede se sljedeći koraci:
- Pokrenite brojač s vrijednosti 0 i predstavite čvor kao glavu.
- Dok trenutni čvor nije null, izvedite sljedeće:
- prisutan = prisutan -> sljedeći
- brojač = brojač + 1
- Vraća se vrijednost brojača.
Isječak koda:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; }
P # 25) Kako pretraživati određenu vrijednost na povezanom popisu?
Odgovor: Da biste pretražili određenu vrijednost na povezanom popisu, slijede se sljedeći koraci:
- Deklarirajte sadašnji čvor kao glavu.
- Dok trenutni čvor nije null, izvedite sljedeće:
- prisutan -> vrijednost jednaka je vrijednosti za koju se traži povratak true.
- prisutan = prisutan -> sljedeći.
- Ako se ne pronađe, vraća se false.
Isječak koda:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
P # 26) Kako provjeriti je li broj prost ili nije?
Odgovor: Da biste provjerili je li broj prost ili nije, slijede se sljedeći koraci:
- Pokrenite petlju od vrijednosti 2 (k) do (broj / 2)
- Ako je broj savršeno djeljiv s k, tada broj nije prost.
- Ako broj nije savršeno djeljiv, osim 1 i sam po sebi, tada je broj prost.
Isječak koda:
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');
P # 27) Kako doći do trećeg čvora povezanog popisa?
Odgovor: Da biste došli do trećeg čvora povezanog popisa, slijede se koraci u nastavku:
- Pokrenite brojač s vrijednosti 0.
- Prelistajte povezani popis i izvedite ove korake:
- Ako je vrijednost brojača 3, tada se vraća sadašnji čvor.
- Brojač se povećava za 1.
- Modificirajte sadašnjost tako da podrazumijeva sljedeću sadašnjost.
Isječak koda:
Node present = head; int c = 0; while (c != null) { if (c == 3) return present.val; c = c+1; present = present.next; }
P # 28) Izračunajte prvih pet Fibonaccijevih brojeva.
Odgovor: 0 i 1 su prva dva Fibonaccijeva broja, a svi brojevi nakon 0 i 1 zbrajanje su dva prethodna broja.
Isječak koda:
int num1=0, num2=1,t; for ( int k = 0; k<5,k++) { System.out.println(num1); t = num1 + num2; num1 = num2; num2 = t; }
P # 29) Kako obrnuti broj?
Odgovor: Obrtanje broja postiže se u sljedećim koracima:
- Izvadite desnu znamenku broja.
- Zbrojite znamenku s novim obrnutim brojem.
- Izvedite množenje sa 10.
- Podijelite broj s 10.
P # 30) Odredite čimbenike broja.
Odgovor: Faktori broja izraženi su sljedećim isječkom koda:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
Zaključak
Nadamo se da su razjašnjeni mnogi odgovori na vaše upite o osnovnim pitanjima iz razgovora o kodiranju.
Većina implementacije kodiranja o kojoj smo razgovarali nalazi se na Javi, međutim, čak i ako niste svjesni jezika, koraci ili detalji ovdje danih algoritama za većinu pitanja pomoći će vam da se pripremite za intervju.
Naporno radite na svojim osnovama programiranja, logike, strukturama podataka, budite mirni i uvježbavajte ova pitanja za programski intervju.
Sve najbolje za vaš predstojeći intervju !!
Preporučena literatura
- Intervjuirajte pitanja i odgovore
- Pitanja i odgovori za ispitivanje ETL-a
- Neka nezgodna ručna ispitivanja Pitanja i odgovori
- 30 najčešćih pitanja i odgovora u HTML intervjuu (POPIS 2021)
- Top 30+ popularnih pitanja i odgovora za intervju s krastavcima
- Top 30 pitanja i odgovora za intervjue sa SAS-a
- Top 30 pitanja i odgovori za razgovore s DBMS-om
- Top 30 pitanja i odgovora za ispitivanje sigurnosnih testova