top 25 software engineering interview questions
Συνήθεις ερωτήσεις συνέντευξης βασικών και προηγμένων εφαρμογών λογισμικού με συχνές ερωτήσεις με λεπτομερείς απαντήσεις. Προετοιμαστείτε με αυτήν την περιεκτική λίστα κοινών ερωτήσεων συνέντευξης μηχανικού τεχνικού λογισμικού για το επίπεδο εισόδου και τους ανώτερους επαγγελματίες:
Σύμφωνα με το IEEE, η Τεχνολογία Λογισμικού είναι η εφαρμογή μιας συστηματικής, πειθαρχημένης και ποσοτικοποιήσιμης προσέγγισης για την ανάπτυξη, τη λειτουργία και τη συντήρηση ενός προϊόντος λογισμικού.
Σημαίνει να εφαρμόσουμε μια συστηματική και καλά καθορισμένη προσέγγιση στην ανάπτυξη ενός προϊόντος λογισμικού.
Σε αυτό το σεμινάριο, θα καλύψουμε τις πιο συχνές ερωτήσεις συνέντευξης Software Engineer μαζί με τις απαντήσεις με απλούς όρους για την εύκολη κατανόησή σας.
Οι πιο δημοφιλείς ερωτήσεις συνέντευξης μηχανικής λογισμικού
Παρακάτω αναφέρονται οι πιο συχνές ερωτήσεις συνέντευξης μηχανικού λογισμικού με απαντήσεις.
Ας εξερευνήσουμε !!
Q # 1) Τι είναι το SDLC;
Απάντηση: SDLC σημαίνει κύκλος ζωής ανάπτυξης λογισμικού. Καθορίζει τη βήμα προς βήμα προσέγγιση για την ανάπτυξη λογισμικού. SDLC περιλαμβάνει τις ακόλουθες φάσεις, δηλαδή Συγκέντρωση Απαιτήσεων, Ανάλυση Συστήματος, Σχεδιασμός, Κωδικοποίηση, Δοκιμή, Συντήρηση και Τεκμηρίωση.
Παρακάτω δίνεται η αναπαράσταση υψηλού επιπέδου των διαφόρων φάσεων που εμπλέκονται στο SDLC.
(εικόνα πηγή )
Q # 2) Ποια είναι τα διάφορα μοντέλα που διατίθενται στο SDLC;
Απάντηση: Υπάρχουν πολλά διαθέσιμα μοντέλα στο SDLC για αποτελεσματική εκτέλεση της ανάπτυξης λογισμικού. Μερικά από τα μοντέλα περιλαμβάνουν το Μοντέλο καταρράκτη , V-Model, Agile model κ.λπ.
Ε # 3) Εξηγήστε τον όρο Βασική γραμμή.
ερωτήσεις συνέντευξης για σαπούνι και ξεκούραση
Απάντηση: Η βασική γραμμή είναι ένα ορόσημο για το έργο που συνήθως ορίζεται από τον διαχειριστή του έργου. Οι γραμμές βάσης χρησιμοποιούνται για την παρακολούθηση της προόδου του έργου από καιρό σε καιρό για την αξιολόγηση της συνολικής υγείας του έργου.
Q # 4) Ποιες είναι οι ευθύνες ενός Διαχειριστή Έργου Λογισμικού;
Απάντηση: Ένας διαχειριστής έργου λογισμικού είναι υπεύθυνος για την επιτυχή ολοκλήρωση του έργου. Είναι ευθύνη του Διαχειριστή Έργου Λογισμικού να διασφαλίσει ότι ολόκληρη η ομάδα ακολουθεί μια συστηματική και σαφώς καθορισμένη προσέγγιση για την ανάπτυξη λογισμικού.
Ένας διαχειριστής έργου λογισμικού είναι επίσης υπεύθυνος για τις ακόλουθες εργασίες:
- Προγραμματισμός Έργου
- Παρακολούθηση κατάστασης έργου
- Διαχείριση πόρων
- Διαχείριση κινδύνου
- Παράδοση έργου εντός χρόνου και προϋπολογισμού.
Q # 5) Τι είναι η συνοχή;
Απάντηση: Η συνοχή είναι ο βαθμός στον οποίο τα στοιχεία μιας ενότητας συνδέονται μεταξύ τους. Είναι σαν μια εσωτερική κόλλα που ενώνει τα στοιχεία μιας ενότητας. Το καλό λογισμικό έχει υψηλά επίπεδα συνοχής.
Q # 6) Τι είναι το ζεύγος;
Απάντηση: Η σύζευξη είναι ο βαθμός αλληλεξάρτησης μεταξύ των ενοτήτων. Το καλό λογισμικό έχει χαμηλά επίπεδα ζεύξης.
Ε # 7) Εξηγήστε την έννοια της Διαμόρφωσης.
Απάντηση: Η διαμόρφωση χρησιμοποιείται για τη διαίρεση του λογισμικού σε πολλαπλά στοιχεία ή ενότητες. Κάθε ενότητα επεξεργάζεται από μια ανεξάρτητη ομάδα ανάπτυξης και δοκιμών. Το τελικό αποτέλεσμα θα ήταν ο συνδυασμός πολλαπλών ενοτήτων σε ένα μόνο λειτουργικό συστατικό.
Ε # 8) Τι είναι η Διαχείριση Διαμόρφωσης Λογισμικού;
Απάντηση: Η διαχείριση διαμόρφωσης λογισμικού είναι η διαδικασία παρακολούθησης και ελέγχου των αλλαγών που συμβαίνουν κατά τη διάρκεια του κύκλου ζωής ανάπτυξης λογισμικού. Οποιαδήποτε αλλαγή πραγματοποιείται κατά την ανάπτυξη λογισμικού πρέπει να παρακολουθείται μέσω μιας καλά καθορισμένης και ελεγχόμενης διαδικασίας.
Η διαχείριση διαμόρφωσης διασφαλίζει ότι τυχόν αλλαγές που γίνονται κατά την ανάπτυξη λογισμικού ελέγχονται μέσω μιας καλά καθορισμένης διαδικασίας.
Q # 9) Ποιες είναι οι διάφορες φάσεις του SDLC;
Απάντηση: Τα παρακάτω είναι οι πιο κοινές φάσεις του SDLC.
- Ανάλυση απαιτήσεων
- Σχέδιο
- Κωδικοποίηση
- Δοκιμές
- Συντήρηση
Ε # 10) Δώστε παραδείγματα εργαλείων διαχείρισης έργου.
Απάντηση: Παρακάτω αναφέρονται μερικά από τα πιο συχνά χρησιμοποιούμενα εργαλεία διαχείρισης έργων που είναι διαθέσιμα στη βιομηχανία σήμερα.
- Gantt διάγραμμα
- Λίστες ελέγχου
- Αναφορές κατάστασης
- Ιστογράμματα
- Microsoft Project
Συνιστώμενη ανάγνωση => Κορυφαία εργαλεία διαχείρισης έργου που πρέπει να γνωρίζετε
Ερ # 11) Τι είναι τα εργαλεία CASE;
Απάντηση: Το CASE σημαίνει εργαλεία Μηχανικής Λογισμικού με τη βοήθεια Υπολογιστών που χρησιμοποιούνται για την υποστήριξη και επιτάχυνση των διαφόρων δραστηριοτήτων του Κύκλου Ζωής Ανάπτυξης Λογισμικού.
Q # 12) Τι είναι η δοκιμή Black Box;
Απάντηση: Η δοκιμή μαύρου κουτιού περιλαμβάνει τη δοκιμή της εφαρμογής χωρίς τη γνώση της εσωτερικής δομής ή της εφαρμογής κώδικα. Οι δοκιμαστές θα ενοχλούσαν μόνο τη λειτουργικότητα του λογισμικού σε δοκιμές μαύρου κουτιού και όχι τη ροή δεδομένων και την εκτέλεση κώδικα στο πίσω μέρος.
Q # 13) Τι είναι η δοκιμή λευκού κουτιού;
Απάντηση: Η δοκιμή λευκού κουτιού δοκιμάζει την εφαρμογή με γνώση της εσωτερικής δομής και της εφαρμογής κώδικα. Αυτή η δοκιμή εκτελείται γενικά από τον προγραμματιστή που έχει γράψει τον κώδικα με τη μορφή δοκιμών μονάδας.
Q # 14) Τι είναι μια μελέτη σκοπιμότητας;
Απάντηση: Διεξάγεται μια μελέτη σκοπιμότητας σε ένα προϊόν λογισμικού για να εκτιμηθεί πόσο πρακτικό και ωφέλιμο είναι η ανάπτυξη του προϊόντος λογισμικού στον οργανισμό. Το λογισμικό αναλύεται διεξοδικά για να κατανοήσει τις οικονομικές και τεχνικές πτυχές ενός προϊόντος λογισμικού που πρόκειται να αναπτυχθεί.
Ε # 15) Πώς μπορείτε να μετρήσετε την εκτέλεση του Έργου;
πώς να ανοίξετε τα αρχεία xml στη λέξη
Απάντηση: Η κατάσταση εκτέλεσης έργου μπορεί να παρακολουθείται χρησιμοποιώντας τις ακόλουθες τεχνικές.
- Αναφορές κατάστασης
- Λίστες ελέγχου ορόσημο
- Παρακολούθηση δραστηριότητας
Q # 16) Ποιες είναι οι λειτουργικές απαιτήσεις;
Απάντηση: Οι λειτουργικές απαιτήσεις είναι τα χαρακτηριστικά που αναμένεται να έχει ένα ανεπτυγμένο προϊόν λογισμικού. Για παράδειγμα, Η προσθήκη μιας επιλογής πληρωμής σε έναν ιστότοπο ηλεκτρονικού εμπορίου θα είναι λειτουργική απαίτηση.
Ε # 17) Τι είναι οι μη λειτουργικές απαιτήσεις;
Απάντηση: Οι μη λειτουργικές απαιτήσεις μετρούν τη χρηστικότητα της εφαρμογής, όπως εμφάνιση και αίσθηση διεπαφής χρήστη, ασφάλεια, απόδοση, διαλειτουργικότητα, αξιοπιστία κ.λπ.
Q # 18) Ποια είναι η διαφορά μεταξύ Διασφάλισης Ποιότητας και Ποιοτικού Ελέγχου;
Απάντηση: Η Διασφάλιση Ποιότητας διασφαλίζει ότι το παρεχόμενο λογισμικό έχει τον μικρότερο δυνατό αριθμό ελαττωμάτων. Ο ποιοτικός έλεγχος είναι η διαδικασία διασφάλισης ότι η ποιότητα του προϊόντος διατηρείται μακροπρόθεσμα.
Η Διασφάλιση Ποιότητας γίνεται από την ομάδα δοκιμών του έργου, ενώ ο Έλεγχος ποιότητας γίνεται συνήθως από μια ειδική ομάδα υποστήριξης, η οποία είναι υπεύθυνη για την ποιότητα του προϊόντος, ακόμη και αν το προϊόν βρίσκεται σε φάση συντήρησης της μηχανικής λογισμικού.
Επίσης, Διαβάστε => Διασφάλιση ποιότητας Vs Ποιοτικός έλεγχος
Q # 19) Ποια είναι η διαφορά μεταξύ επαλήθευσης και επικύρωσης;
Απάντηση: Η επαλήθευση είναι η διαδικασία διασφάλισης ότι το προϊόν έχει κατασκευαστεί σωστά, από τη σκοπιά της διαδικασίας και των προτύπων.
Η επικύρωση είναι η διαδικασία διασφάλισης ότι κατασκευάζουμε το σωστό προϊόν, από την πλευρά των πελατών. Η επαλήθευση είναι μια στατική μεθοδολογία δοκιμών όπου το προϊόν δοκιμάζεται χωρίς την εκτέλεση του κώδικα, ενώ η επικύρωση είναι μια δυναμική μεθοδολογία δοκιμών.
Αξίζει να διαβάσετε => Πλήρης μελέτη επαλήθευσης και επικύρωσης
Q # 20) Ποιο μοντέλο SDLC είναι το καλύτερο για επιλογή προϊόντος λογισμικού;
Απάντηση: Δεν υπάρχουν τέτοιοι κανόνες που να δηλώνουν ποιο συγκεκριμένο μοντέλο SDLC πρέπει να χρησιμοποιηθεί για ένα προϊόν λογισμικού. Εξαρτάται από τον τύπο του έργου που κατασκευάζεται και τις πολιτικές και τις διαδικασίες του οργανισμού.
Q # 21) Τι εννοείτε με το πεδίο εφαρμογής λογισμικού;
Απάντηση: Το εύρος του λογισμικού είναι η λίστα των δυνατοτήτων που παρέχονται από το ανεπτυγμένο λογισμικό. Με βάση το πεδίο εφαρμογής του λογισμικού, μπορούν να γίνουν εκτιμήσεις όπως κατανομή χρόνου, προϋπολογισμός και κατανομή πόρων.
Q # 22) Τι είναι το SRS;
Απάντηση: Το SRS σημαίνει έγγραφο προδιαγραφής απαιτήσεων λογισμικού (SRS). Είναι ένα έγγραφο για την καταγραφή όλων των λειτουργικών και μη λειτουργικών απαιτήσεων ενός προϊόντος. Δεν πρέπει να ακολουθούν όλα τα μοντέλα SDLC Έγγραφα SRS , ορισμένα μοντέλα καταγράφουν απαιτήσεις με τη μορφή ιστοριών χρηστών, ενώ ορισμένα μοντέλα με τη μορφή φύλλων excel κ.λπ.
Q # 23) Ποιο είναι το μοντέλο SDLC που έχετε χρησιμοποιήσει στο προηγούμενο έργο σας;
Απάντηση: Η απάντηση σε αυτήν την ερώτηση εξαρτάται από την εμπειρία ενός υποψηφίου συνέντευξης. Εάν ο υποψήφιος απαντήσει στο μοντέλο SDLC ως μοντέλο Waterfall, τότε ο ερευνητής θα αρχίσει να κάνει ερωτήσεις σχετικά με το μοντέλο Waterfall και αν απαντήσει να είναι ευκίνητος, τότε ο ερευνητής θα αρχίσει να ρωτά όρους που σχετίζονται με τη μεθοδολογία Agile όπως Scrum, Sprint, και τα λοιπά.
Q # 24) Εξηγήστε λεπτομερώς το μοντέλο Waterfall.
Απάντηση: ο υδατόπτωση Το μοντέλο είναι ένα διαδοχικό μοντέλο στο οποίο η επόμενη φάση ξεκινά μόνο μετά την ολοκλήρωση της πρώτης φάσης. Για παράδειγμα, η φάση δοκιμής θα ξεκινήσει μόνο μετά την ολοκλήρωση της φάσης ανάπτυξης, η φάση συντήρησης θα ξεκινήσει μόνο μετά την ολοκλήρωση της φάσης δοκιμής.
Ακολουθούν οι διάφορες φάσεις που εμπλέκονται στο μοντέλο καταρράκτη. Λάβετε υπόψη ότι ο αριθμός των φάσεων και οι ακολουθίες των φάσεων ενδέχεται να διαφέρουν από το ένα έργο στο άλλο.
- Απαιτήσεις
- Σχέδιο
- Κωδικοποίηση
- Δοκιμές
- Συντήρηση
προς το) Απαιτήσεις: Αυτή είναι η φάση όπου το σύστημα που θα αναπτυχθεί τεκμηριώνεται με τη μορφή εγγράφου Προδιαγραφή απαιτήσεων λογισμικού (SRS). Αυτή είναι η πιο σημαντική φάση του SDLC, καθώς η σαφής κατανόηση των απαιτήσεων από τον πελάτη θα μειώσει την επανεπεξεργασία στις ακόλουθες φάσεις.
β) Σχεδιασμός: Αυτή είναι η φάση όπου οριστικοποιείται η αρχιτεκτονική του προς ανάπτυξη συστήματος. Η αρχιτεκτονική μπορεί να έχει τη μορφή ενός σχεδιασμού υψηλού επιπέδου ή ενός σχεδιασμού χαμηλού επιπέδου. Η αρχιτεκτονική πρέπει επίσης να περιλαμβάνει τις προδιαγραφές υλικού και λογισμικού του προς ανάπτυξη συστήματος.
γ) Κωδικοποίηση: Αυτή είναι η φάση όπου γράφεται ο κώδικας για το σύστημα που θα αναπτυχθεί. Δοκιμή μονάδας και Δοκιμή ολοκλήρωσης πρέπει να εκτελεστούν από τους προγραμματιστές σε αυτό το στάδιο πριν από την ανάπτυξη του κώδικα για δοκιμή.
δ) Δοκιμή: Αυτή είναι η φάση κατά την οποία το προϊόν που αναπτύχθηκε ελέγχεται από μια ανεξάρτητη ομάδα δοκιμών για επικύρωση εάν πληροί τις απαιτήσεις της Προδιαγραφής Απαιτήσεων Λογισμικού (SRS). Τα ελαττώματα που ανακύπτουν σε αυτήν τη φάση πρέπει να διορθωθούν πριν από την αποχώρηση στο προϊόν.
ε) Συντήρηση: Αυτή η φάση έρχεται μόλις ολοκληρωθεί η δοκιμαστική φάση. Φροντίζει για τυχόν προβλήματα παραγωγής που ενδέχεται να προκύψουν μετά την παράδοση του προϊόντος στον πελάτη. Η διάρκεια της φάσης συντήρησης διαφέρει από έργο σε έργο και από έναν οργανισμό σε έναν άλλο.
Παρακάτω είναι το διάγραμμα που απεικονίζει το μοντέλο καταρράκτη με τη μορφή φάσεων.
Τι είναι η δοκιμή μαύρου κουτιού και η δοκιμή whitebox με παράδειγμα
Q # 25) Εξηγήστε λεπτομερώς το μοντέλο V.
Απάντηση: Το V-Model σημαίνει το μοντέλο επαλήθευσης και επικύρωσης. V-μοντέλο είναι μια προσθήκη στο μοντέλο καταρράκτη, με την έννοια ότι το μοντέλο V είναι επίσης ένα διαδοχικό μοντέλο. Στο μοντέλο V, κάθε φάση ανάπτυξης σχετίζεται με μια αντίστοιχη φάση δοκιμής.
Η εικόνα που δίνεται παρακάτω απεικονίζει τις διάφορες φάσεις που εμπλέκονται στο μοντέλο V.
Η αριστερή πλευρά του μοντέλου είναι ο κύκλος ζωής ανάπτυξης λογισμικού, ενώ η δεξιά πλευρά του μοντέλου είναι κύκλος ζωής δοκιμής λογισμικού. Καθώς οι φάσεις σχηματίζουν το γράμμα «V», αυτό το μοντέλο ονομάζεται V-Model.
Εξήγηση:
Στο μοντέλο V, το SDLC πρέπει να ερμηνεύεται από πάνω προς τα κάτω, ενώ το STLC πρέπει να ερμηνεύεται από κάτω προς τα πάνω. Αρχικά, συγκεντρώνονται απαιτήσεις για την τεκμηρίωση του συστήματος που θα αναπτυχθεί σύμφωνα με τις απαιτήσεις του πελάτη. Η ομάδα δοκιμών αναπτύσσει το σχέδιο δοκιμών συστήματος βάσει των απαιτήσεων.
Έπειτα έρχεται ο σχεδιασμός υψηλού επιπέδου και οι λεπτομερείς φάσεις σχεδιασμού επιπέδου όπου προετοιμάζεται η αρχιτεκτονική του συστήματος. Η ομάδα δοκιμών προετοιμάζει το σχέδιο δοκιμής ολοκλήρωσης σε αυτές τις φάσεις. Μόλις ολοκληρωθεί η κωδικοποίηση σε SDLC, το STLC θα ξεκινήσει από τη δοκιμή μονάδας, ακολουθούμενη από δοκιμές ενοποίησης και δοκιμές συστήματος.
συμπέρασμα
Ελπίζουμε ότι αυτό το άρθρο θα σας βοηθήσει να σπάσετε οποιαδήποτε συνέντευξη με το Software Engineer.
- Η Τεχνολογία Λογισμικού είναι η εφαρμογή μιας συστηματικής, πειθαρχημένης και ποσοτικοποιήσιμης προσέγγισης στην ανάπτυξη, λειτουργία και συντήρηση λογισμικού.
- Δεν υπάρχουν σκληροί και γρήγοροι κανόνες ως προς το είδος των ερωτήσεων συνέντευξης της Τεχνολογίας Λογισμικού που ρωτήθηκαν από τους ερευνητές. Διαφέρει από οργανισμό σε οργανισμό και το είδος του ρόλου για τον οποίο διεξάγεται η συνέντευξη.
Όλα τα καλύτερα για τη συνέντευξη του μηχανικού λογισμικού !!
Συνιστώμενη ανάγνωση
- SDLC (Κύκλος Ζωής Ανάπτυξης Λογισμικού) Φάσεις, Μεθοδολογίες, Διαδικασίες και Μοντέλα
- Τι είναι το μοντέλο SDLC Waterfall;
- 25 καλύτερα εργαλεία διαχείρισης έργων το 2021 (Τελευταίες βαθμολογίες)
- Τι είναι το STLC V-Model;
- Διαφορά μεταξύ διασφάλισης ποιότητας και ποιοτικού ελέγχου (QA έναντι QC)
- Δοκιμή λευκού κουτιού: Ένας πλήρης οδηγός με τεχνικές, παραδείγματα και εργαλεία
- Δοκιμή μαύρου κουτιού: Ένα σε βάθος εκπαιδευτικό πρόγραμμα με παραδείγματα και τεχνικές
- Ερωτήσεις και απαντήσεις συνέντευξης