top 30 programming coding interview questions answers
I den här handledningen har vi tillhandahållit de vanligaste kodningsintervjufrågorna och svaren med programlogik och kodexempel för att du ska kunna öva programmering:
Vi är alla medvetna om att svaret på de mest grundläggande frågorna för kodning eller programmering av intervjuer avgör hur vi presterar i en intervju. Intervjun kan vara för Java, C ++ eller ett Javascript-krav, men grunden förblir densamma, det är hur stark vi är i grunden för programmeringslogik.
Även om vår inställning är snabb och subtil i en intervju är sannolikheten för urval högre. Så läs vidare för att knäcka frågorna om kodningsintervju.
Kom ihåg att studera och öva dessa frågor om programmeringsintervjuer innan du möter en intervju. Detta kommer inte bara att öka din övertygelse utan också vara till hjälp för att svara på dem snabbt. Frågorna kommer huvudsakligen att täcka ämnen som matriser, strängar, länkad lista och så vidare.
Dra upp dina strumpor killar !!
Vanliga frågor om grundläggande programmering / kodning av intervjufrågor
F # 1) Hur kan du vända en sträng?
Svar: Strängen är omvänd med följande algoritm:
- Inleda
- Strängen som ska vändas deklareras.
- Få längden på strängen.
- Starta en slinga och byt sedan placeringen av arrayelementen.
- Behåll de utbytta positionerna.
- Skriv ut den omvända strängen.
F # 2) Vad är en palindromsträng?
Svar: Efter att strängen är omvänd som diskuterad i Q # 1, vi måste ställa följande villkor:
Kodavsnitt:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
Således är palindromsträngen den som vid reversering förblir densamma, till exempel, - 'Madam' är en palindrom sträng.
F # 3) Hur får man matchande karaktärer i en sträng?
Svar: För att få matchande tecken i en sträng följs stegen nedan:
- Hashstrukturdatastruktur tas som fungerar med nyckel-värdeparet.
- Loop strängarna, tecken för karaktär, och kontrollera om den karaktären i strängen finns i hash-kartan eller inte.
- Om resultatet är sant ökas räknaren för tecknet i hashkartan eller sätter du räkningen som 1.
- När slingan slutar passeras Hash-kartan och skriv ut tecknen med mer än 1 räkning.
Kodavsnitt:
hur man kör en jar-fil
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
F # 4) Hur får man de icke-matchande tecknen i en sträng?
Svar: För att få de icke-matchande tecknen i en sträng följer du stegen nedan:
- Hashstrukturdatastruktur tas som fungerar med nyckel-värdeparet.
- Loop strängen, karaktär för karaktär, och verifiera om den karaktären av strängen finns i hash-kartan eller inte.
- Om resultatet är sant ökas räknaren för tecknet i hashkartan eller sätter du räkningen som 1.
- När slingan slutar passeras Hash-kartan och skriv ut tecknen med ett antal lika med 1.
Kodavsnitt:
HashMap mp = new HashMap (); for (int j = 0; j F # 5) Hur beräknar jag antalet vokaler och konsonanter i en sträng?
Svar: För att beräkna antalet vokaler och konsonanter i en sträng följs stegen nedan:
- Hämta strängen som räkningen måste utföras på.
- Kör en slinga från 0 till strängens längd.
- Ta en enda karaktär åt gången och kontrollera om de är en del av gruppen vokaler.
- Om resultatet är sant, öka antalet vokaler eller öka antalet konsonanter.
Kodavsnitt:
for (int k = 0; k F # 6) Hur bevisar du att de två strängarna är anagram?
Svar: Två strängar kallas anagram om de rymmer en liknande grupp tecken i en varierad sekvens.
För att kontrollera om två strängar är anagram följer du stegen nedan:
- Initiera två strängar i två variabler.
- Kontrollera om längden på de två strängarna är lika, om inte är strängarna inte ett anagram.
- Om resultatet är sant, ta de två strängarna och lagra dem i ett teckenarray.
- Sortera de två teckenarrayerna och kontrollera sedan om de två sorterade matriserna är lika.
- Om resultatet är sant är de två strängarna anagram annat, inte anagram.
Kodavsnitt:
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'); } }
F # 7) Hitta räkningen för förekomsten av ett visst tecken i en sträng.
Svar: För att räkna förekomsten av ett visst tecken i en sträng följer du stegen nedan:
- Börja med en sträng och en viss karaktär vars förekomst ska räknas.
- Starta en slinga från 0 till strängens längd.
- Jämför om ett visst tecken i strängen är lika med det tecken som söks.
- Om resultatet är sant, öka värdet på räknaren.
Kodavsnitt:
for (int l=0; l F # 8) Hur kan jag verifiera om två strängar är en ömsesidig rotation?
Svar: För att verifiera om två strängar är en ömsesidig rotation följer du stegen nedan:
- Initiera de två strängarna i två variabler.
- Kontrollera om längden på två strängar är lika, om inte returnera falsk.
- Gå med i strängen till sig själv.
- Kontrollera om strängen som roteras finns i den sammanfogade strängen.
- Om resultatet är sant är den andra strängen en rotation av den första strängen.
Kodavsnitt:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
F # 9) Hur beräknar jag antalet numeriska siffror i en sträng?
Svar: För att beräkna antalet siffror i en sträng följer du stegen nedan:
- Hämta strängen som räkningen måste utföras på
- Använd ersättningsfunktionen, som ersätter alla siffror med “”.
- Få strängens längd utan siffror.
Kodavsnitt:
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); } }
I denna lösning används ett reguljärt uttryck.
F # 10) Hur beräknar jag det första tecknet i en sträng som inte upprepas?
Svar: För att beräkna det första tecknet i en sträng som inte upprepas följer du stegen nedan:
- En inställd datastruktur för de upprepade tecknen och en lista för det icke-upprepade tecknet tas.
- Efter att ha segregerat det upprepade och icke-upprepade, i slutet av iterationen, skrivs det första elementet i listan ut i konsolen.
Kodavsnitt:
Set repeated = new HashSet(); List nonRepeated = new ArrayList(); for (int m = 0; m F # 11) Hur söker jag efter ett saknat nummer i en matris som innehåller heltal från 1 till 100?
Svar: För att söka efter ett saknat nummer i en matris som innehåller heltal från 1 till 100 följs stegen nedan:
- Ta ett heltalarray med siffrorna 1 till 100.
- Beräkna summan av siffrorna, summeringen ska vara = l * (l + 1) / 2, där l är antalet heltal.
- Utför subtraktion av det saknade elementet från det totala antalet siffror.
F # 12) Hur får man matchande element i ett heltal?
Svar: Följ stegen nedan för att få matchande element i ett heltal:
- Bygg två öglor.
- I den första slingan samlar du in element en i taget och lägger till antalet instanser av det valda elementet.
Kodavsnitt:
for (m = 0; m F # 13) Hur tar man bort de upprepade elementen i ett heltal?
Svar: För att radera de upprepade elementen i en heltalarray följs stegen nedan:
vilka program som kan öppna en dwg-fil
- Bygg en hashmap som plockar alla element som är närvarande tidigare.
- Gå igenom matrisen och kontrollera om elementet redan finns i hash-kartan
- Om resultatet är sant fortsätter array-traversal, annars skrivs elementet ut i konsolen.
Kodavsnitt:
HashMap m = new HashMap(); for (int j = 0; j F # 14) Bestäm det största och det minsta elementet i en matris som inte sorteras.
Svar: För att bestämma det största och det minsta elementet i en matris måste nedanstående steg följas:
- Korsa matrisen och övervaka det maximala element som hittills hittats tills vi är vid matrisen, det största elementet uppnås.
- Korsa matrisen och övervaka det minimielement som hittills hittats tills vi är vid matrisen, det minsta elementet uppnås.
F # 15) Förklara algoritmen för bubblasortering.
Svar: Bubblasorteringsalgoritmen innehåller följande steg:
- Börja från det första elementet och gör sedan en jämförelse med följande element i matrisen
- Om det aktuella elementet är större än följande element i matrisen, byt sedan deras positioner.
- Om det aktuella elementet är mindre än följande element i matrisen, flytta till nästa element och upprepa steg 1 igen.
Kodavsnitt:
for(k = 0; k F # 16) Implementera algoritmen för insättningssortering.
Svar: Implementering av insättningssortering.
Kodavsnitt:
for (m = 1; m 0 && arry(n - 1) > arry(n)) { k = arry(n); arry(n) = arry(n - 1); arry(n - 1) = k; n--; } }
F # 17) Bestäm det näst största elementet i en matris.
Svar: Det näst största elementet i en matris kan beräknas enligt följande steg:
- Ange det största elementet som det första elementet i arrayen och det näst största elementet som det andra elementet i arrayen.
- Iterera genom slingan för att korsa matrisen.
- OM arry (i) är större än det största elementet SÅ
Andra elementet? största elementet
Största elementet? Arry (i)
OM det andra elementet är mindre än arry (i) DAN
Andra elementet? Arry (i)
Kodavsnitt:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i F # 18) Förklara omvändningen av en matris.
Svar: Array reversering utförs på följande sätt:
- Ta en matris med element.
- Byt nu positionen för det första elementet med det sista elementet, och på liknande sätt det andra elementet med det näst sista elementet.
- Detta fortsätter tills hela matrisen är omvänd.
Kodavsnitt:
for (t = 0; t F # 19) Hur tar man bort specialtecken i en sträng som är gemener?
Svar: Specialtecken i en sträng kan tas bort med funktionen ersätt alla i Java.
Kodavsnitt:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
I denna lösning används ett reguljärt uttryck.
F # 20) Hur man byter två strängar genom att inte använda en tredje variabel?
Svar: Två strängar byts ut utan hjälp av den tredje variabeln enligt följande steg:
(i) Ta två strängar i, j, och lägg till dem och lagra dem i den första strängen.
(ii) Med strängmetoden extraherar du strängen:
j = substring(0,i.length()-j.length())
(iii) Förvara strängen j i sträng i
i= subsrtirng(j.length)
Kodavsnitt:
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);
F # 21) Hur går man till mitten av en länkad lista?
Svar: För att gå igenom mitten av en länkad lista följs stegen nedan:
- Förklara två pekare första och andra som initialiseras till det länkade listhuvudet.
- Öka den första länkade listan med två noder och andra med en nod i varje slinga.
- Medan den första noden når slutet av listan, kommer den andra noden att peka på mitten.
Kodavsnitt:
first = second = head; while(first !=null) { first = first.next; if(first != null && first.next != null) { second = second.next; first = first.next; } } return second; }
F # 22) Implementera processen för att vända en länkad lista.
Svar: En länkad lista kan vändas genom följande steg:
- Deklarera tre noder före, närvarande och följande.
- I den nuvarande noden kommer det föregående att vara noll.
- Låt nuvarande. Nästa föregå för att vända listan.
- I varje slingning ökas nuvarande och föregående med 1.
Kodavsnitt:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; }
F # 23) Vad är processen att radera matchade element från en länkad lista som inte är sorterad.
Svar: Följ stegen nedan för att ta bort matchade element från en länkad lista som inte sorteras:
- Res från huvudet till svansen på den länkade listan.
- Kontrollera om det redan finns i hashtabellen för varje värde i den länkade listan.
- Om resultatet är sant läggs inte elementet till i hashtabellen.
Kodavsnitt:
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; } }
F # 24) Hur får man längden på en länkad lista?
Svar: För att få längden på en länkad lista följs stegen nedan:
gratis registerrengöringsmedel för Windows 10
- Starta en räknare med värdet 0 och presenter nod som huvud.
- Till nuvarande nod är inte null, utför dessa:
- närvarande = närvarande -> nästa
- räknare = räknare + 1
- Motvärdet returneras.
Kodavsnitt:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; }
F # 25) Hur söker jag efter ett specifikt värde i en länkad lista?
Svar: För att söka efter ett visst värde i en länkad lista följer du stegen nedan:
- Deklarera nuvarande nod som huvud.
- Till nuvarande nod är inte null, utför dessa:
- nuvarande -> värde är lika med det värde som man letar efter returnerar sant.
- närvarande = närvarande -> nästa.
- Om det inte hittas returneras falskt.
Kodavsnitt:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
F # 26) Hur verifierar jag om ett tal är primärt eller inte?
Svar: För att verifiera om ett tal är primt eller inte följs stegen nedan:
- Starta en slinga från värde 2 (k) upp till (nummer / 2)
- Om talet är helt delbart med k är talet icke-primärt.
- Om talet inte är helt delbart förutom 1 och i sig själv, är talet primt.
Kodavsnitt:
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');
F # 27) Hur får man den tredje noden i en länkad lista?
Svar: För att komma till den tredje noden i den länkade listan följs stegen nedan:
- Starta en räknare med värdet 0.
- Iterera genom den länkade listan och utför dessa steg:
- Om räknarens värde är 3 returneras nuvarande nod.
- Räknaren ökas med 1.
- Ändra nuet så att det antyder till nästa av nuet.
Kodavsnitt:
Node present = head; int c = 0; while (c != null) { if (c == 3) return present.val; c = c+1; present = present.next; }
F # 28) Beräkna de fem första Fibonacci-siffrorna.
Svar: 0 och 1 är de två första Fibonacci-numren och alla siffror efter 0 och 1 är tillägget av de två föregående siffrorna.
Kodavsnitt:
int num1=0, num2=1,t; for ( int k = 0; k<5,k++) { System.out.println(num1); t = num1 + num2; num1 = num2; num2 = t; }
F # 29) Hur vänder man ett nummer?
Svar: Återföring av ett nummer uppnås i följande steg:
- Ta ut siffran längst till höger.
- Sammanfatta siffran med det nya omvända numret.
- Utför multiplicering med 10.
- Dela numret med 10.
F # 30) Bestäm faktorerna för ett tal.
Svar: Faktorerna för ett tal uttrycks av följande kodavsnitt:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
Slutsats
Vi är hoppfulla att många av svaren på dina frågor om de grundläggande kodningsintervjufrågorna har förtydligats.
Det mesta av kodimplementeringen som vi har diskuterat är dock i Java, även om du inte är medveten om språket, kommer stegen eller detaljerna i algoritmen här för de flesta frågorna att hjälpa dig att förbereda dig för en intervju.
Arbeta hårt med dina grunder för programmering, logik, datastrukturer, håll dig lugn och träna dessa frågor om programmeringsintervjuer.
Allt det bästa för din kommande intervju !!
Rekommenderad läsning
- Intervjufrågor och svar
- ETL Testing Intervju Frågor och svar
- Några knepiga manuella testfrågor och svar
- 30 Top HTML-intervjufrågor och svar (2021 LIST)
- Topp 30+ populära gurkaintervjuer och svar
- Topp 30 SAS intervjufrågor och svar
- Topp 30 DBMS intervjufrågor och svar
- Topp 30 Säkerhetstestintervjufrågor och svar