top 30 programming coding interview questions answers
In diesem Tutorial haben wir die häufigsten Fragen und Antworten zu Codierungsinterviews mit Beispielen für Programmlogik und Code bereitgestellt, damit Sie die Programmierung üben können:
Wir sind uns alle bewusst, dass die Beantwortung der grundlegendsten Fragen zum Codieren oder Programmieren von Interviews die Leistung in einem Interview bestimmt. Das Interview kann für Java, C ++ oder eine Javascript-Anforderung sein, aber die Basis bleibt dieselbe, so stark sind wir in den Grundlagen der Programmierlogik.
Auch wenn unser Ansatz in einem Interview schnell und subtil ist, ist die Wahrscheinlichkeit einer Auswahl höher. Lesen Sie also weiter, um die Fragen zum Coding-Interview zu knacken.
Denken Sie daran, diese Fragen zu Programmierinterviews zu studieren und zu üben, bevor Sie sich einem Interview stellen. Dies stärkt nicht nur Ihre Überzeugung, sondern ist auch hilfreich, um sie schnell zu beantworten. Die Fragen betreffen hauptsächlich Themen wie Arrays, Zeichenfolgen, verknüpfte Listen usw.
Zieh deine Socken hoch Jungs !!
Häufig gestellte Fragen zum grundlegenden Programmier- / Codierungsinterview
Q # 1) Wie kann man einen String umkehren?
Antwort: Die Zeichenfolge wird mit dem folgenden Algorithmus umgekehrt:
- Einleiten
- Die Zeichenfolge, die umgekehrt werden soll, wird deklariert.
- Holen Sie sich die Länge der Zeichenfolge.
- Starten Sie eine Schleife und tauschen Sie dann die Position der Array-Elemente aus.
- Behalten Sie die ausgetauschten Positionen.
- Drucken Sie die umgekehrte Zeichenfolge.
F # 2) Was ist eine Palindrom-Saite?
Antworten: Nachdem die Zeichenfolge wie in Q # 1 beschrieben umgekehrt wurde, Wir müssen die folgende Bedingung stellen:
Code-Auszug:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
Somit ist die Palindrom-Saite diejenige, die beim Umkehren gleich bleibt, zum Beispiel, - 'Madam' ist eine Palindrom-Saite.
F # 3) Wie erhalte ich die passenden Zeichen in einer Zeichenfolge?
Antwort: Um die passenden Zeichen in einer Zeichenfolge zu erhalten, gehen Sie wie folgt vor:
- Es wird eine Hash Map-Datenstruktur verwendet, die mit dem Schlüssel-Wert-Paar funktioniert.
- Schleifen Sie die Zeichenfolgen zeichenweise und überprüfen Sie, ob das Zeichen der Zeichenfolge in der Hash-Map vorhanden ist oder nicht.
- Wenn das Ergebnis wahr ist, wird der Zähler für das Zeichen in der Hash-Map erhöht oder es wird eine Zählung als 1 gesetzt.
- Sobald die Schleife endet, wird die Hash-Map durchlaufen und die Zeichen mit mehr als 1 Anzahl gedruckt.
Code-Auszug:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
Q # 4) Wie erhalte ich die nicht übereinstimmenden Zeichen in einer Zeichenfolge?
Antworten: Die folgenden Schritte werden ausgeführt, um die nicht übereinstimmenden Zeichen in einer Zeichenfolge abzurufen:
- Es wird eine Hash Map-Datenstruktur verwendet, die mit dem Schlüssel-Wert-Paar funktioniert.
- Durchlaufen Sie die Zeichenfolge zeichenweise und überprüfen Sie, ob das Zeichen der Zeichenfolge in der Hash-Map vorhanden ist oder nicht.
- Wenn das Ergebnis wahr ist, wird der Zähler für das Zeichen in der Hash-Map erhöht oder es wird eine Zählung als 1 gesetzt.
- Sobald die Schleife endet, wird die Hash-Map durchlaufen und die Zeichen mit einer Anzahl von 1 gedruckt.
Code-Auszug:
HashMap mp = new HashMap (); for (int j = 0; j F # 5) Wie berechnet man die Anzahl der Vokale und Konsonanten in einer Zeichenfolge?
Antwort: Um die Anzahl der Vokale und Konsonanten in einer Zeichenfolge zu berechnen, gehen Sie wie folgt vor:
- Ruft die Zeichenfolge ab, für die gezählt werden soll.
- Führen Sie eine Schleife von 0 bis zur Länge der Zeichenfolge aus.
- Nehmen Sie jeweils ein einzelnes Zeichen und überprüfen Sie, ob sie Teil der Vokalgruppe sind.
- Wenn das Ergebnis wahr ist, erhöhen Sie die Anzahl der Vokale oder erhöhen Sie die Anzahl der Konsonanten.
Code-Auszug:
for (int k = 0; k F # 6) Wie beweisen Sie, dass die beiden Zeichenfolgen Anagramme sind?
Antworten: Zwei Zeichenfolgen werden Anagramme genannt, wenn sie eine ähnliche Gruppe von Zeichen in einer unterschiedlichen Reihenfolge aufnehmen.
Um zu überprüfen, ob zwei Zeichenfolgen Anagramme sind, werden die folgenden Schritte ausgeführt:
- Initialisieren Sie zwei Zeichenfolgen in zwei Variablen.
- Überprüfen Sie, ob die Länge der beiden Zeichenfolgen ähnlich ist. Wenn nicht, sind die Zeichenfolgen kein Anagramm.
- Wenn das Ergebnis wahr ist, nehmen Sie die beiden Zeichenfolgen und speichern Sie sie in einem Zeichenarray.
- Sortieren Sie die beiden Zeichenarrays und prüfen Sie, ob die beiden sortierten Arrays gleich sind.
- Wenn das Ergebnis wahr ist, sind die beiden Zeichenfolgen Anagramm, nicht Anagramm.
Code-Auszug:
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) Ermitteln Sie die Anzahl für das Auftreten eines bestimmten Zeichens in einer Zeichenfolge.
Antwort: Um das Auftreten eines bestimmten Zeichens in einer Zeichenfolge zu zählen, werden die folgenden Schritte ausgeführt:
- Beginnen Sie mit einer Zeichenfolge und einem bestimmten Zeichen, dessen Vorkommen gezählt werden soll.
- Starten Sie eine Schleife von 0 bis zur Länge der Zeichenfolge.
- Vergleichen Sie, ob ein bestimmtes Zeichen der Zeichenfolge dem gesuchten Zeichen entspricht.
- Wenn das Ergebnis wahr ist, erhöhen Sie den Wert des Zählers.
Code-Auszug:
for (int l=0; l F # 8) Wie kann ich überprüfen, ob zwei Zeichenfolgen eine Rotation sind?
Antwort: Um zu überprüfen, ob zwei Zeichenfolgen sich gegenseitig drehen, gehen Sie wie folgt vor:
- Initialisieren Sie die beiden Zeichenfolgen in zwei Variablen.
- Überprüfen Sie, ob die Länge von zwei Zeichenfolgen ähnlich ist. Wenn nicht, geben Sie false zurück.
- Verbinden Sie den String mit sich selbst.
- Überprüfen Sie, ob die gedrehte Zeichenfolge in der verbundenen Zeichenfolge vorhanden ist.
- Wenn das Ergebnis wahr ist, ist die zweite Zeichenfolge eine Drehung der ersten Zeichenfolge.
Code-Auszug:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
F # 9) Wie berechnet man die Anzahl der numerischen Ziffern in einer Zeichenfolge?
Antwort: Um die Anzahl der Stellen in einer Zeichenfolge zu berechnen, gehen Sie wie folgt vor:
- Ruft die Zeichenfolge ab, für die gezählt werden soll
- Verwenden Sie die Funktion replaceAll, die alle numerischen Ziffern durch '' ersetzt.
- Ermitteln Sie die Länge der Zeichenfolge ohne Ziffern.
Code-Auszug:
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); } }
In dieser Lösung wird ein regulärer Ausdruck verwendet.
F # 10) Wie berechnet man das erste Zeichen einer Zeichenfolge, die nicht wiederholt wird?
Antwort: Um das erste Zeichen einer Zeichenfolge zu berechnen, das nicht wiederholt wird, gehen Sie wie folgt vor:
- Eine festgelegte Datenstruktur für die wiederholten Zeichen und eine Liste für das nicht wiederholte Zeichen wird erstellt.
- Nach der Trennung von wiederholt und nicht wiederholt wird am Ende der Iteration das erste Element der Liste in der Konsole gedruckt.
Code-Auszug:
Set repeated = new HashSet(); List nonRepeated = new ArrayList(); for (int m = 0; m F # 11) Wie suche ich eine fehlende Zahl in einem Array, das ganze Zahlen von 1 bis 100 enthält?
Antwort: Um eine fehlende Zahl in einem Array zu suchen, das Ganzzahlen von 1 bis 100 enthält, gehen Sie wie folgt vor:
- Nehmen Sie ein ganzzahliges Array mit den Zahlen 1 bis 100.
- Berechnen Sie die Summe der Zahlen, die Summe lautet = l * (l + 1) / 2, wobei l die Anzahl der ganzen Zahlen ist.
- Führen Sie eine Subtraktion des fehlenden Elements von der gesamten Addition von Zahlen durch.
F # 12) Wie erhalte ich die passenden Elemente in einem Integer-Array?
kostenloses VPN für kodi
Antwort: Um die passenden Elemente in einem Integer-Array zu erhalten, gehen Sie wie folgt vor:
- Baue zwei Schleifen.
- Sammeln Sie in der ersten Schleife die Elemente einzeln und addieren Sie die Anzahl der Instanzen des ausgewählten Elements.
Code-Auszug:
for (m = 0; m F # 13) Wie lösche ich die wiederholten Elemente in einem Integer-Array?
Antwort: Um die wiederholten Elemente in einem Integer-Array zu löschen, gehen Sie wie folgt vor:
- Erstellen Sie eine Hashmap, die alle zuvor vorhandenen Elemente auswählt.
- Durchlaufen Sie das Array und überprüfen Sie, ob das Element bereits in der Hash-Map vorhanden ist
- Wenn das Ergebnis wahr ist, wird die Array-Durchquerung fortgesetzt, andernfalls wird das Element in der Konsole ausgedruckt.
Code-Auszug:
HashMap m = new HashMap(); for (int j = 0; j F # 14) Bestimmen Sie das größte und das kleinste Element eines Arrays, das nicht sortiert ist.
Antwort: Um das größte und das kleinste Element eines Arrays zu bestimmen, müssen die folgenden Schritte ausgeführt werden:
- Durchlaufen Sie das Array und überwachen Sie das maximal gefundene Element, bis wir am Rand des Arrays sind. Das größte Element wird erreicht.
- Durchlaufen Sie das Array und überwachen Sie das bisher gefundene Mindestelement, bis wir am Rand des Arrays sind und das kleinste Element erreicht ist.
F # 15) Erläutern Sie den Blasensortierungsalgorithmus.
Antwort: Der Blasensortierungsalgorithmus umfasst die folgenden Schritte:
- Beginnen Sie mit dem ersten Element und führen Sie dann einen Vergleich mit dem folgenden Element im Array durch
- Wenn das aktuelle Element größer als das folgende Element des Arrays ist, tauschen Sie die Positionen aus.
- Wenn das aktuelle Element kleiner als das folgende Element des Arrays ist, wechseln Sie zum nächsten Element und wiederholen Sie Schritt 1 erneut.
Code-Auszug:
for(k = 0; k F # 16) Implementieren Sie den Einfügesortieralgorithmus.
Antworten: Implementierung der Einfügesortierung.
Code-Auszug:
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) Bestimmen Sie das zweitgrößte Element eines Arrays.
Antwort: Das zweitgrößte Element eines Arrays kann mit den folgenden Schritten berechnet werden:
- Geben Sie das größte Element als erstes Element des Arrays und das zweitgrößte Element als zweites Element des Arrays an.
- Durchlaufen Sie die Schleife, um das Array zu durchlaufen.
- WENN arry (i) größer ist als das größte Element DANN
Zweites Element? größtes Element
Größtes Element? Arry (i)
WENN das zweite Element kleiner als arry (i) DANN ist
Zweites Element? Arry (i)
Code-Auszug:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i F # 18) Erklären Sie die Umkehrung eines Arrays.
Antwort: Die Array-Umkehrung wird auf folgende Arten durchgeführt:
- Nehmen Sie ein Array mit Elementen.
- Tauschen Sie nun die Position des ersten Elements gegen das letzte Element und in ähnlicher Weise das zweite Element gegen das vorletzte Element aus.
- Dies wird fortgesetzt, bis das gesamte Array umgekehrt ist.
Code-Auszug:
for (t = 0; t F # 19) Wie entferne ich Sonderzeichen in einer Zeichenfolge in Kleinbuchstaben?
Antworten: Sonderzeichen in einer Zeichenfolge können mithilfe der Funktion replaceAll in Java entfernt werden.
Code-Auszug:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
In dieser Lösung wird ein regulärer Ausdruck verwendet.
F # 20) Wie kann man zwei Zeichenfolgen austauschen, ohne eine dritte Variable zu verwenden?
Antwort: Zwei Zeichenfolgen werden ohne die Hilfe der dritten Variablen durch die folgenden Schritte ausgetauscht:
(ich) Nehmen Sie zwei Zeichenfolgen i, j und hängen Sie sie an. Speichern Sie sie dann in der ersten Zeichenfolge.
(ii) Extrahieren Sie mit der Teilzeichenfolgenmethode die Zeichenfolge:
j = substring(0,i.length()-j.length())
(iii) Speichern Sie die Zeichenfolge j in Zeichenfolge i
i= subsrtirng(j.length)
Code-Auszug:
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) Wie gehe ich zur Mitte einer verknüpften Liste?
Antwort: Um zur Mitte einer verknüpften Liste zu gelangen, gehen Sie wie folgt vor:
- Deklarieren Sie zuerst zwei und zwei Zeiger, die auf den verknüpften Listenkopf initialisiert werden.
- Erhöhen Sie die erste verknüpfte Liste um zwei Knoten und die zweite um einen Knoten in jeder Schleife.
- Während der erste Knoten das Ende der Liste erreicht, zeigt der zweite Knoten auf die Mitte.
Code-Auszug:
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) Implementieren Sie den Vorgang des Umkehrens einer verknüpften Liste.
Antwort: Eine verknüpfte Liste kann durch die folgenden Schritte umgekehrt werden:
- Deklarieren Sie drei Knoten vor, nach und nach.
- Im aktuellen Knoten ist der vorhergehende Nullwert.
- Lassen Sie die present.next vorangestellt sein, um die Liste umzukehren.
- In jeder Schleife werden vorhanden und vorhergehend um 1 erhöht.
Code-Auszug:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; }
F # 23) Wie werden übereinstimmende Elemente aus einer nicht sortierten verknüpften Liste gelöscht?
Antwort: Um übereinstimmende Elemente aus einer verknüpften Liste zu löschen, die nicht sortiert ist, gehen Sie wie folgt vor:
- Reisen Sie vom Kopf bis zum Ende der verknüpften Liste.
- Überprüfen Sie für jeden Wert in der verknüpften Liste, ob er bereits in der Hash-Tabelle vorhanden ist.
- Wenn das Ergebnis wahr ist, wird das Element nicht zur Hash-Tabelle hinzugefügt.
Code-Auszug:
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) Wie erhalte ich die Länge einer verknüpften Liste?
Antworten: Um die Länge einer verknüpften Liste zu ermitteln, werden die folgenden Schritte ausgeführt:
- Starten Sie einen Zähler mit dem Wert 0 und präsentieren Sie den Knoten als Kopf.
- Führen Sie die folgenden Schritte aus, bis der aktuelle Knoten nicht null ist:
- Gegenwart = Gegenwart -> Weiter
- Zähler = Zähler + 1
- Der Zählerwert wird zurückgegeben.
Code-Auszug:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; }
F # 25) Wie suche ich einen bestimmten Wert in einer verknüpften Liste?
Antwort: Um einen bestimmten Wert in einer verknüpften Liste zu suchen, gehen Sie wie folgt vor:
- Deklarieren Sie den aktuellen Knoten als Kopf.
- Führen Sie die folgenden Schritte aus, bis der aktuelle Knoten nicht null ist:
- present -> value ist gleich dem Wert, nach dem gesucht wird. return true.
- Gegenwart = Gegenwart -> Weiter.
- Wenn nicht gefunden, wird false zurückgegeben.
Code-Auszug:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
F # 26) Wie kann ich überprüfen, ob eine Zahl eine Primzahl ist oder nicht?
Antworten: Um zu überprüfen, ob eine Zahl eine Primzahl ist oder nicht, werden die folgenden Schritte ausgeführt:
- Starten Sie eine Schleife von Wert 2 (k) bis (Nummer / 2)
- Wenn die Zahl durch k perfekt teilbar ist, ist die Zahl nicht prim.
- Wenn die Zahl bis auf 1 und für sich nicht perfekt teilbar ist, ist die Zahl eine Primzahl.
Code-Auszug:
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) Wie erhalte ich den dritten Knoten einer verknüpften Liste?
Antwort: Um zum dritten Knoten der verknüpften Liste zu gelangen, gehen Sie wie folgt vor:
- Starten Sie einen Zähler mit dem Wert 0.
- Durchlaufen Sie die verknüpfte Liste und führen Sie die folgenden Schritte aus:
- Wenn der Wert des Zählers 3 ist, wird der aktuelle Knoten zurückgegeben.
- Der Zähler wird um 1 erhöht.
- Ändern Sie die Gegenwart so, dass sie die nächste der Gegenwart impliziert.
Code-Auszug:
Node present = head; int c = 0; while (c != null) { if (c == 3) return present.val; c = c+1; present = present.next; }
F # 28) Berechnen Sie die ersten fünf Fibonacci-Zahlen.
Antworten: 0 und 1 sind die ersten beiden Fibonacci-Zahlen und alle Zahlen nach 0 und 1 sind die Addition der beiden vorherigen Zahlen.
Code-Auszug:
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) Wie kann man eine Zahl umkehren?
Antwort: Die Umkehrung einer Zahl wird in den folgenden Schritten erreicht:
- Nehmen Sie die am weitesten rechts stehende Ziffer der Nummer heraus.
- Summieren Sie die Ziffer mit der neuen umgekehrten Zahl.
- Multiplikation mit 10 durchführen.
- Teilen Sie die Zahl durch 10.
F # 30) Bestimmen Sie die Faktoren einer Zahl.
Antwort: Die Faktoren einer Zahl werden durch den folgenden Codeausschnitt ausgedrückt:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
Fazit
Wir hoffen, dass viele der Antworten auf Ihre Fragen zu den grundlegenden Fragen zu Codierungsinterviews geklärt wurden.
Die meisten der von uns besprochenen Codierungsimplementierungen sind in Java ausgeführt. Selbst wenn Sie die Sprache nicht kennen, helfen Ihnen die Schritte oder Details des hier angegebenen Algorithmus für die meisten Fragen bei der Vorbereitung auf ein Interview.
Arbeiten Sie hart an Ihren Grundlagen der Programmierung, Logik, Datenstrukturen, bleiben Sie ruhig und üben Sie diese Fragen zu Programmierinterviews.
Alles Gute für dein bevorstehendes Interview !!
Literatur-Empfehlungen
- Interview Fragen und Antworten
- Fragen und Antworten zum ETL-Testinterview
- Einige knifflige manuelle Testfragen und -antworten
- 30 Fragen und Antworten zu den wichtigsten HTML-Interviews (2021 LIST)
- Top 30+ beliebte Fragen und Antworten zu Gurkeninterviews
- Top 30 SAS Interview Fragen und Antworten
- Top 30 Fragen und Antworten zum DBMS-Interview
- Top 30 Fragen und Antworten zum Interview mit Sicherheitstests