top 30 programming coding interview questions answers
Σε αυτό το σεμινάριο, παρέχουμε τις πιο συνηθισμένες ερωτήσεις και απαντήσεις συνέντευξης κωδικοποίησης με λογική προγράμματος και παραδείγματα κώδικα για να εξασκήσετε τον προγραμματισμό:
Όλοι γνωρίζουμε ότι η απάντηση στις πιο βασικές ερωτήσεις συνέντευξης κωδικοποίησης ή προγραμματισμού καθορίζει την απόδοσή μας σε μια συνέντευξη. Η συνέντευξη μπορεί να είναι για Java, C ++ ή Javascript, αλλά η βάση παραμένει η ίδια, δηλαδή πόσο δυνατοί είμαστε στα θεμέλια της λογικής προγραμματισμού.
Επίσης, εάν η προσέγγισή μας είναι γρήγορη και λεπτή σε μια συνέντευξη, η πιθανότητα επιλογής είναι μεγαλύτερη. Συνεχίστε λοιπόν για να σπάσετε τις ερωτήσεις συνέντευξης κωδικοποίησης.
Θυμηθείτε να μελετήσετε και να εξασκήσετε αυτές τις ερωτήσεις συνέντευξης προγραμματισμού πριν αντιμετωπίσετε μια συνέντευξη. Αυτό όχι μόνο θα ενισχύσει την πεποίθησή σας, αλλά και θα σας βοηθήσει να απαντήσετε γρήγορα. Οι ερωτήσεις θα καλύπτουν κυρίως θέματα όπως πίνακες, συμβολοσειρά, συνδεδεμένη λίστα και ούτω καθεξής.
Σηκώστε τις κάλτσες σας παιδιά !!
Συχνές ερωτήσεις βασικού προγραμματισμού / ερωτήσεις συνέντευξης κωδικοποίησης
Ε # 1) Πώς μπορείτε να αντιστρέψετε μια συμβολοσειρά;
Απάντηση: Η συμβολοσειρά αντιστρέφεται με τον ακόλουθο αλγόριθμο:
- Μυημένος
- Η συμβολοσειρά που πρόκειται να αντιστραφεί δηλώνεται.
- Πάρτε το μήκος της συμβολοσειράς.
- Ξεκινήστε έναν βρόχο και μετά αλλάξτε τη θέση των στοιχείων του πίνακα.
- Διατηρήστε τις ανταλλασσόμενες θέσεις.
- Εκτυπώστε την αντίστροφη συμβολοσειρά.
Q # 2) Τι είναι μια συμβολοσειρά palindrome;
Απάντηση: Αφού αντιστραφεί η συμβολοσειρά όπως συζητήθηκε στο Q # 1, πρέπει να θέσουμε την ακόλουθη προϋπόθεση:
Απόσπασμα κώδικα:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
Έτσι, η συμβολοσειρά palindrome είναι αυτή που κατά την αναστροφή παραμένει η ίδια, για παράδειγμα, - «κυρία» είναι μια συμβολοσειρά palindrome.
Q # 3) Πώς να αποκτήσετε τους αντίστοιχους χαρακτήρες σε μια συμβολοσειρά;
Απάντηση: Για να λάβετε τους αντίστοιχους χαρακτήρες σε μια συμβολοσειρά, ακολουθούν τα παρακάτω βήματα:
- Λαμβάνεται η δομή δεδομένων Χαρτών που λειτουργεί με το ζεύγος κλειδιού-τιμής.
- Βγάλτε τις συμβολοσειρές, από χαρακτήρα σε χαρακτήρα και επαληθεύστε εάν αυτός ο χαρακτήρας της συμβολοσειράς υπάρχει στο χάρτη κατακερματισμού ή όχι.
- Εάν το αποτέλεσμα είναι αληθές, ο μετρητής του χαρακτήρα στον χάρτη κατακερματισμού αυξάνεται ή αλλιώς βάλτε μια μέτρηση ως 1.
- Μόλις τελειώσει ο βρόχος, τότε ο χάρτης Hash διασχίζεται και εκτυπώστε τους χαρακτήρες με περισσότερες από 1 μετρήσεις.
Απόσπασμα κώδικα:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
Q # 4) Πώς να αποκτήσετε τους χαρακτήρες που δεν ταιριάζουν σε μια συμβολοσειρά;
Απάντηση: Για να λάβετε τους χαρακτήρες που δεν ταιριάζουν σε μια συμβολοσειρά, ακολουθούν τα παρακάτω βήματα:
- Λαμβάνεται η δομή δεδομένων Χαρτών που λειτουργεί με το ζεύγος κλειδιού-τιμής.
- Βγάλτε τη συμβολοσειρά, από χαρακτήρα σε χαρακτήρα και επαληθεύστε εάν αυτός ο χαρακτήρας υπάρχει στο χάρτη κατακερματισμού ή όχι.
- Εάν το αποτέλεσμα είναι αληθές, ο μετρητής του χαρακτήρα στον χάρτη κατακερματισμού αυξάνεται ή αλλιώς βάλτε μια μέτρηση ως 1.
- Μόλις τελειώσει ο βρόχος, τότε ο χάρτης Hash διασχίζεται και εκτυπώστε τους χαρακτήρες με μέτρηση ίσο με 1.
Απόσπασμα κώδικα:
HashMap mp = new HashMap (); for (int j = 0; j Ε # 5) Πώς να υπολογίσετε τον αριθμό των φωνηέντων και των συμφώνων σε μια συμβολοσειρά;
Απάντηση: Για τον υπολογισμό του αριθμού των φωνηέντων και των συμφώνων σε μια συμβολοσειρά, ακολουθούν τα παρακάτω βήματα:
- Λάβετε τη συμβολοσειρά στην οποία πρέπει να εκτελεστεί η μέτρηση.
- Εκτελέστε έναν βρόχο από το 0 έως το μήκος της συμβολοσειράς.
- Πάρτε έναν μόνο χαρακτήρα κάθε φορά και επαληθεύστε εάν ανήκουν στην ομάδα των φωνηέντων.
- Εάν το αποτέλεσμα είναι αληθινό, αυξήστε τον αριθμό των φωνηέντων ή αλλιώς αυξήστε τον αριθμό των συμφώνων.
Απόσπασμα κώδικα:
for (int k = 0; k Q # 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'); } }
Q # 7) Βρείτε τον αριθμό για την εμφάνιση ενός συγκεκριμένου χαρακτήρα σε μια συμβολοσειρά.
Απάντηση: Για να μετρήσετε την εμφάνιση ενός συγκεκριμένου χαρακτήρα σε μια συμβολοσειρά, ακολουθούν τα παρακάτω βήματα:
- Ξεκινήστε με μια συμβολοσειρά και έναν συγκεκριμένο χαρακτήρα του οποίου η εμφάνιση θα μετρηθεί.
- Ξεκινήστε έναν βρόχο από το 0 έως το μήκος της συμβολοσειράς.
- Συγκρίνετε εάν ένας συγκεκριμένος χαρακτήρας της συμβολοσειράς ισούται με τον χαρακτήρα που αναζητάτε.
- Εάν το αποτέλεσμα είναι αλήθεια, αυξήστε την τιμή του μετρητή.
Απόσπασμα κώδικα:
for (int l=0; l Ε # 8) Πώς να επαληθεύσετε εάν δύο χορδές είναι μια περιστροφή αμοιβαία;
Απάντηση: Για να επαληθεύσετε εάν δύο συμβολοσειρές είναι μια περιστροφή αμοιβαία, ακολουθούν τα παρακάτω βήματα:
- Αρχικοποιήστε τις δύο συμβολοσειρές σε δύο μεταβλητές.
- Ελέγξτε εάν το μήκος των δύο χορδών είναι παρόμοιο, εάν δεν επιστρέφει ψευδές.
- Γίνετε μέλος της συμβολοσειράς.
- Βεβαιωθείτε ότι η συμβολοσειρά που περιστρέφεται υπάρχει στη συνδεδεμένη συμβολοσειρά.
- Εάν το αποτέλεσμα είναι αληθές, η δεύτερη συμβολοσειρά είναι μια περιστροφή της πρώτης συμβολοσειράς.
Απόσπασμα κώδικα:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
Ε # 9) Πώς να υπολογίσετε τον αριθμό των αριθμητικών ψηφίων σε μια συμβολοσειρά;
Απάντηση: Για τον υπολογισμό του αριθμού των ψηφίων σε μια συμβολοσειρά, ακολουθούν τα παρακάτω βήματα:
- Λάβετε τη συμβολοσειρά στην οποία πρέπει να εκτελεστεί η μέτρηση
- Χρησιμοποιήστε τη συνάρτηση Replet All, η οποία αντικαθιστά όλα τα αριθμητικά ψηφία με ''.
- Αποκτήστε το μήκος της συμβολοσειράς χωρίς ψηφία.
Απόσπασμα κώδικα:
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.
- Υπολογίστε το άθροισμα των αριθμών, το άθροισμα θα είναι = l * (l + 1) / 2, όπου l είναι ο αριθμός των ακέραιων αριθμών.
- Εκτελέστε αφαίρεση του στοιχείου που λείπει από τη συνολική προσθήκη αριθμών.
Ε # 12) Πώς να αποκτήσετε τα στοιχεία που ταιριάζουν σε έναν ακέραιο πίνακα;
Απάντηση: Για να λάβετε τα στοιχεία που ταιριάζουν σε έναν ακέραιο πίνακα, ακολουθούν τα παρακάτω βήματα:
- Φτιάξτε δύο βρόχους.
- Στον πρώτο βρόχο, συλλέξτε στοιχεία ένα κάθε φορά και προσθέστε τον αριθμό παρουσιών του επιλεγμένου στοιχείου.
Απόσπασμα κώδικα:
for (m = 0; m Ε # 13) Πώς να διαγράψετε τα επαναλαμβανόμενα στοιχεία σε έναν ακέραιο πίνακα;
Απάντηση: Για να διαγράψετε τα επαναλαμβανόμενα στοιχεία σε έναν ακέραιο πίνακα, ακολουθούν τα παρακάτω βήματα:
- Δημιουργήστε έναν κατακερματισμό που θα επιλέξει όλα τα στοιχεία που υπάρχουν πριν.
- Περάστε τον πίνακα και επαληθεύστε εάν το στοιχείο υπάρχει ήδη στον χάρτη κατακερματισμού
- Εάν το αποτέλεσμα είναι αληθές, συνεχίζεται η διασταύρωση της διάταξης, διαφορετικά, το στοιχείο εκτυπώνεται στην κονσόλα.
Απόσπασμα κώδικα:
HashMap m = new HashMap(); for (int j = 0; j Q # 14) Προσδιορίστε το μεγαλύτερο και το μικρότερο στοιχείο ενός πίνακα που δεν είναι ταξινομημένο.
Απάντηση: Για να προσδιορίσετε το μεγαλύτερο και το μικρότερο στοιχείο ενός πίνακα, πρέπει να ακολουθήσετε τα παρακάτω βήματα:
- Διασχίστε τον πίνακα και παρακολουθήστε το μέγιστο στοιχείο που έχει βρεθεί μέχρι στιγμής, μέχρι να φτάσουμε στα όρια του πίνακα, επιτυγχάνεται το μεγαλύτερο στοιχείο.
- Διασχίστε τον πίνακα και παρακολουθήστε το ελάχιστο στοιχείο που έχει βρεθεί μέχρι στιγμής, μέχρι να φτάσουμε στα όρια του πίνακα, επιτυγχάνεται το μικρότερο στοιχείο.
Ε # 15) Εξηγήστε τον αλγόριθμο ταξινόμησης φυσαλίδων.
Απάντηση: Ο αλγόριθμος ταξινόμησης φυσαλίδων περιλαμβάνει τα ακόλουθα βήματα:
- Ξεκινήστε από το πρώτο στοιχείο και μετά πραγματοποιήστε μια σύγκριση με το ακόλουθο στοιχείο του πίνακα
- Εάν το παρόν στοιχείο είναι μεγαλύτερο από το ακόλουθο στοιχείο του πίνακα, αλλάξτε τις θέσεις τους.
- Εάν το παρόν στοιχείο είναι μικρότερο από το ακόλουθο στοιχείο του πίνακα, μεταβείτε στο επόμενο στοιχείο και επαναλάβετε ξανά το βήμα 1.
Απόσπασμα κώδικα:
for(k = 0; k Q # 16) Εφαρμόστε τον αλγόριθμο ταξινόμησης εισαγωγής.
Απάντηση: Υλοποίηση του είδους εισαγωγής.
Απόσπασμα κώδικα:
for (m = 1; m 0 && arry(n - 1) > arry(n)) { k = arry(n); arry(n) = arry(n - 1); arry(n - 1) = k; n--; } }
Q # 17) Προσδιορίστε το δεύτερο μεγαλύτερο στοιχείο ενός πίνακα.
Απάντηση: Το δεύτερο μεγαλύτερο στοιχείο ενός πίνακα μπορεί να υπολογιστεί με τα ακόλουθα βήματα:
- Δηλώστε το μεγαλύτερο στοιχείο ως το πρώτο στοιχείο του πίνακα και το δεύτερο μεγαλύτερο στοιχείο ως το δεύτερο στοιχείο του πίνακα.
- Επανάληψη μέσω του βρόχου για διάβαση του πίνακα.
- ΕΑΝ arry (i) είναι μεγαλύτερο από το μεγαλύτερο στοιχείο ΤΟ
Δεύτερο στοιχείο; μεγαλύτερο στοιχείο
Το μεγαλύτερο στοιχείο; arry (i)
ΕΑΝ το δεύτερο στοιχείο είναι μικρότερο από το arry (i) THEN
Δεύτερο στοιχείο; arry (i)
Απόσπασμα κώδικα:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i Q # 18) Εξηγήστε την αντιστροφή ενός πίνακα.
Απάντηση: Η αντιστροφή της σειράς πραγματοποιείται με τους ακόλουθους τρόπους:
- Πάρτε έναν πίνακα με στοιχεία.
- Τώρα ανταλλάξτε τη θέση του πρώτου στοιχείου με το τελικό στοιχείο, και ομοίως το δεύτερο στοιχείο με το προτελευταίο στοιχείο.
- Αυτό θα συνεχιστεί έως ότου αντιστραφεί ολόκληρος ο πίνακας.
Απόσπασμα κώδικα:
for (t = 0; t Q # 19) Πώς να αφαιρέσετε ειδικούς χαρακτήρες σε μια συμβολοσειρά που είναι πεζά;
Απάντηση: Οι ειδικοί χαρακτήρες σε μια συμβολοσειρά μπορούν να αφαιρεθούν χρησιμοποιώντας τη συνάρτηση Replet All στη Java.
Απόσπασμα κώδικα:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
Σε αυτήν τη λύση, χρησιμοποιείται μια κανονική έκφραση.
Ε # 20) Πώς να εκτελέσετε την εναλλαγή δύο χορδών χωρίς τη χρήση τρίτης μεταβλητής;
Απάντηση: Δύο συμβολοσειρές ανταλλάσσονται χωρίς τη βοήθεια της τρίτης μεταβλητής με τα ακόλουθα βήματα:
(Εγώ) Πάρτε δύο χορδές i, j και προσθέστε τις και μετά αποθηκεύστε την στην πρώτη συμβολοσειρά.
(ii) Χρησιμοποιώντας τη μέθοδο substring εξαγάγετε τη συμβολοσειρά:
j = substring(0,i.length()-j.length())
(iii) Αποθηκεύστε τη συμβολοσειρά j στη συμβολοσειρά i
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; }
Q # 22) Εφαρμόστε τη διαδικασία αντιστροφής μιας συνδεδεμένης λίστας.
Απάντηση: Μια συνδεδεμένη λίστα μπορεί να αντιστραφεί με τα παρακάτω βήματα:
- Δηλώστε τρεις κόμβους που προηγούνται, είναι παρόντες και ακολουθούν.
- Ενώ στον παρόντα κόμβο, το προηγούμενο θα είναι μηδενικό.
- Αφήστε το παρόν. Επόμενο να αντιστρέψει τη λίστα.
- Σε κάθε βρόχο, το παρόν και το προηγούμενο αυξάνονται από το 1.
Απόσπασμα κώδικα:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; }
Q # 23) Ποια είναι η διαδικασία διαγραφής αντιστοιχισμένων στοιχείων από μια συνδεδεμένη λίστα που δεν είναι ταξινομημένη.
πώς να δημιουργήσετε ένα ψεύτικο email
Απάντηση: Για να διαγράψετε ταιριαστά στοιχεία από μια συνδεδεμένη λίστα που δεν είναι ταξινομημένη, ακολουθούν τα παρακάτω βήματα:
- Ταξιδέψτε από το κεφάλι στην ουρά της συνδεδεμένης λίστας.
- Για κάθε τιμή στη συνδεδεμένη λίστα, επαληθεύστε εάν υπάρχει ήδη στον πίνακα κατακερματισμού.
- Εάν το αποτέλεσμα είναι αληθές, το στοιχείο δεν προστίθεται στον πίνακα κατακερματισμού.
Απόσπασμα κώδικα:
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; } }
Q # 24) Πώς να αποκτήσετε το μήκος μιας συνδεδεμένης λίστας;
Απάντηση: Για να λάβετε το μήκος μιας συνδεδεμένης λίστας, ακολουθούν τα παρακάτω βήματα:
- Ξεκινήστε έναν μετρητή με τιμή 0 και παρουσιάστε τον κόμβο ως κεφαλή.
- Μέχρι ο τρέχων κόμβος να μην είναι κενός, εκτελέστε τα εξής:
- παρόν = παρόν -> επόμενο
- μετρητής = μετρητής + 1
- Επιστρέφεται η τιμή μετρητή.
Απόσπασμα κώδικα:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; }
Q # 25) Πώς να αναζητήσετε μια συγκεκριμένη τιμή σε μια συνδεδεμένη λίστα;
Απάντηση: Για να αναζητήσετε μια συγκεκριμένη τιμή σε μια συνδεδεμένη λίστα, ακολουθούν τα παρακάτω βήματα:
- Δηλώστε τον παρόντα κόμβο ως κεφαλή.
- Μέχρι ο τρέχων κόμβος να μην είναι κενός, εκτελέστε τα εξής:
- παρούσα -> η τιμή είναι ίση με την τιμή που αναζητάται για την επιστροφή true.
- παρόν = παρόν -> επόμενο.
- Εάν δεν βρεθεί, επιστρέφεται το false.
Απόσπασμα κώδικα:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
Ε # 26) Πώς να επαληθεύσετε εάν ένας αριθμός είναι πρώτος ή όχι;
Απάντηση: Για να επαληθεύσετε εάν ένας αριθμός είναι πρώτος ή όχι, ακολουθούν τα παρακάτω βήματα:
- Ξεκινήστε έναν βρόχο από την τιμή 2 (k) έως (αριθμός / 2)
- Εάν ο αριθμός διαιρείται τέλεια από το k, τότε ο αριθμός δεν είναι πρώτος.
- Εάν ο αριθμός δεν είναι τέλεια διαιρετός εκτός από το 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');
Q # 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; }
Q # 28) Υπολογίστε τους πρώτους πέντε αριθμούς Fibonacci.
Απάντηση: 0 και 1 είναι οι δύο πρώτοι αριθμοί Fibonacci και όλοι οι αριθμοί μετά το 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; }
Q # 29) Πώς να αντιστρέψετε έναν αριθμό;
Απάντηση: Η αντιστροφή ενός αριθμού επιτυγχάνεται στα ακόλουθα βήματα:
- Βγάλτε το δεξί ψηφίο του αριθμού.
- Συνοψίστε το ψηφίο με τον νέο αντίστροφο αριθμό.
- Εκτελέστε πολλαπλασιασμό επί 10.
- Διαιρέστε τον αριθμό με 10.
Q # 30) Προσδιορίστε τους παράγοντες ενός αριθμού.
Απάντηση: Οι παράγοντες ενός αριθμού εκφράζονται με το ακόλουθο απόσπασμα κώδικα:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
συμπέρασμα
Ελπίζουμε ότι έχουν αποσαφηνιστεί πολλές από τις απαντήσεις στα ερωτήματά σας σχετικά με τις βασικές ερωτήσεις συνέντευξης κωδικοποίησης.
Το μεγαλύτερο μέρος της εφαρμογής κωδικοποίησης που έχουμε συζητήσει είναι στην Java, ωστόσο, ακόμα κι αν δεν γνωρίζετε τη γλώσσα, τα βήματα ή οι λεπτομέρειες του αλγορίθμου που δίνονται εδώ για τις περισσότερες από τις ερωτήσεις θα σας βοηθήσουν να προετοιμαστείτε για μια συνέντευξη.
Εργαστείτε σκληρά για τα βασικά σας προγραμματισμού, λογικής, δομών δεδομένων, μείνετε ήρεμοι και εξασκηθείτε σε αυτές τις ερωτήσεις συνέντευξης προγραμματισμού.
Όλα τα καλύτερα για την επερχόμενη συνέντευξή σας !!
Συνιστώμενη ανάγνωση
- Ερωτήσεις και απαντήσεις συνέντευξης
- Ερωτήσεις και απαντήσεις συνέντευξης δοκιμών ETL
- Μερικές δύσκολες μη αυτόματες ερωτήσεις και απαντήσεις
- 30 Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης HTML (2021 LIST)
- Κορυφαίες 30+ δημοφιλείς ερωτήσεις και απαντήσεις συνέντευξης αγγουριών
- Top 30 ερωτήσεις και απαντήσεις συνέντευξης SAS
- Κορυφαίες 30 ερωτήσεις και απαντήσεις συνέντευξης DBMS
- Κορυφαίες ερωτήσεις και απαντήσεις στη συνέντευξη δοκιμής ασφαλείας