Κορυφαίες 53 ερωτήσεις και απαντήσεις συνέντευξης Ruby on Rails (2025)
Ακολουθούν ερωτήσεις συνέντευξης και απαντήσεις της Ruby on Rails για νεοφώτιστους καθώς και έμπειρους υποψήφιους προγραμματιστές Ruby για να πάρουν τη δουλειά των ονείρων τους.
1) Εξηγήστε τι είναι το Ruby on Rails;
- Ρουμπίνι: Είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού εμπνευσμένη από τα PERL, Smalltalk, Eiffel, Ada, Basic και Lisp.
- Ράγες: Είναι ένα πλαίσιο που χρησιμοποιείται για τη δημιουργία διαδικτυακών εφαρμογών
2) Εξηγήστε τι είναι οι βιβλιοθήκες κλάσεων στο Ruby;
Οι βιβλιοθήκες κλάσεων στο Ruby αποτελούνται από μια ποικιλία τομέων, όπως τύπους δεδομένων, προγραμματισμό νημάτων, διάφορους τομείς κ.λπ.
Δωρεάν λήψη PDF: Ruby on Rails Συνέντευξη Ερωτήσεις & Απαντήσεις
3) Αναφέρετε ποια είναι η σύμβαση ονομασίας στο Rails;
- Μεταβλητές: Για τη δήλωση μεταβλητών, όλα τα γράμματα είναι πεζά και οι λέξεις χωρίζονται με κάτω παύλες
- Τάξη και Ενότητα: Τα Modules and Classes χρησιμοποιούν MixedCase και δεν έχουν υπογράμμιση. κάθε λέξη αρχίζει με ένα κεφαλαίο γράμμα
- Πίνακας βάσης δεδομένων: Το όνομα του πίνακα της βάσης δεδομένων θα πρέπει να έχει πεζά γράμματα και την υπογράμμιση μεταξύ των λέξεων και όλα τα ονόματα πινάκων θα πρέπει να είναι σε μορφή πληθυντικού για παράδειγμα invoice_items
- Μοντέλο: Αντιπροσωπεύεται από αδιάσπαστη MixedCase και έχει πάντα ενικό με το όνομα του πίνακα
- Ελεγκτής: Τα ονόματα κλάσεων ελεγκτών αναπαρίστανται σε πληθυντικό, έτσι ώστε το OrdersController να είναι ο ελεγκτής για τον πίνακα παραγγελιών.
4) Εξηγήστε τι είναι το "Yield" στο Ruby on Rails;
Μια μέθοδος Ruby που λαμβάνει ένα μπλοκ κώδικα το καλεί καλώντας το με το "Yield".
5) Εξηγήστε τι είναι το ORM (Object-Relationship-Model) στο Rails;
Το μοντέλο ORM ή Object Relationship Model στο Rails υποδεικνύει ότι οι κλάσεις σας αντιστοιχίζονται στον πίνακα της βάσης δεδομένων και ότι τα αντικείμενα αντιστοιχίζονται απευθείας στις σειρές του πίνακα.
6) Αναφέρετε ποια είναι η διαφορά μεταξύ ψευδούς και μηδενικού στο Ruby;
Στο Ruby, το false είναι ένα αντικείμενο της FalseClass που αντιπροσωπεύει μια boolean τιμή, ενώ το Nil είναι ένα αντικείμενο της NilClass που υποδηλώνει την απουσία μιας τιμής. Έχει ένα object_id 4.
7) Αναφέρετε ποιες είναι οι θετικές πτυχές του Rails;
Το Rails παρέχει πολλά χαρακτηριστικά όπως
- Μεταπρογραμματισμός: Το Rails χρησιμοποιεί τη δημιουργία κώδικα, αλλά για την ανύψωση βαρέων βαρών βασίζεται στον μετα-προγραμματισμό. Η Ruby θεωρείται ως μια από τις καλύτερες γλώσσες για μετα-προγραμματισμό.
- Ενεργή εγγραφή: Αποθηκεύει το αντικείμενο στη βάση δεδομένων μέσω του Active Record Framework. Η έκδοση Rails του Active Record προσδιορίζει τη στήλη σε ένα σχήμα και τη συνδέει αυτόματα με τα αντικείμενα τομέα σας χρησιμοποιώντας μεταπρογραμματισμό
- Σκαλωσιά: Οι ράγες έχουν τη δυνατότητα να δημιουργούν αυτόματα ικριώματα ή προσωρινό κώδικα
- Σύμβαση πάνω από τη διαμόρφωση: Σε αντίθεση με άλλα πλαίσια ανάπτυξης, το Rails δεν απαιτεί μεγάλη διαμόρφωση, εάν ακολουθήσετε προσεκτικά τη σύμβαση ονομασίας
- Τρία περιβάλλοντα: Το Rails συνοδεύεται από τρεις προεπιλεγμένες δοκιμές περιβάλλοντος, ανάπτυξη και παραγωγή.
- Ενσωματωμένη δοκιμή: Υποστηρίζει κώδικα που ονομάζεται πλεξούδα και φωτιστικά που κάνουν τις δοκιμαστικές περιπτώσεις να γράφουν και να εκτελούνται.
8) Εξηγήστε ποιος είναι ο ρόλος των εφαρμογών/ελεγκτών υποκαταλόγου και των εφαρμογών/βοηθών;
- Εφαρμογή/ελεγκτές: Ένα αίτημα ιστού από τον χρήστη διεκπεραιώνεται από τον ελεγκτή. Ο υποκατάλογος του ελεγκτή είναι ο χώρος όπου το Rails αναζητά να βρει κατηγορίες ελεγκτών
- Εφαρμογή/βοηθοί: Ο υποκατάλογος του βοηθού περιέχει οποιεσδήποτε βοηθητικές κλάσεις που χρησιμοποιούνται για την υποβοήθηση των κλάσεων προβολής, μοντέλου και ελεγκτή.
9) Αναφέρετε ποια είναι η διαφορά μεταξύ String και Symbol;
Και οι δύο ενεργούν με τον ίδιο τρόπο μόνο που διαφέρουν στις συμπεριφορές τους που είναι αντίθετες μεταξύ τους. Η διαφορά έγκειται στο αντικείμενο_id, στη μνήμη και στη διαδικασία συντονισμού όταν χρησιμοποιούνται μαζί. Το σύμβολο ανήκει στην κατηγορία των αμετάβλητων αντικειμένων ενώ οι συμβολοσειρές θεωρούνται μεταβλητά αντικείμενα.
10) Εξηγήστε πώς διαφέρει το Symbol από τις μεταβλητές;
Το σύμβολο διαφέρει από τις μεταβλητές στις ακόλουθες πτυχές
- Μοιάζει περισσότερο με συμβολοσειρά παρά με μεταβλητή
- Στο Ruby η συμβολοσειρά είναι μεταβλητή αλλά ένα σύμβολο είναι αμετάβλητο
- Απαιτείται να δημιουργηθεί μόνο ένα αντίγραφο του συμβόλου
- Τα σύμβολα χρησιμοποιούνται συχνά ως τα αντίστοιχα των enum στο Ruby
11) Εξηγήστε τι είναι το Rails Active Record στο Ruby on Rails;
Η ενεργή εγγραφή Rails είναι το επίπεδο Αντικειμένου/Σχεσιακής Χαρτογράφησης (ORM) που παρέχεται με το Rails. Ακολουθεί το τυπικό μοντέλο ORM ως
- Χάρτης πίνακα για τις τάξεις
- Οι σειρές αντιστοιχίζονται σε αντικείμενα
- Οι στήλες αντιστοιχίζονται στα χαρακτηριστικά του αντικειμένου
12) Εξηγήστε πώς υλοποιεί το Rails Ajax?
Η ιστοσελίδα που υποστηρίζεται από Ajax ανακτά την ιστοσελίδα από τον διακομιστή που είναι νέα ή αλλαγμένη σε αντίθεση με άλλες ιστοσελίδες όπου πρέπει να ανανεώσετε τη σελίδα για να λάβετε τις πιο πρόσφατες πληροφορίες.
Το Rails ενεργοποιεί μια Λειτουργία Ajax με τους ακόλουθους τρόπους
- Ορισμένες πυρκαγιές προκαλούν: Το έναυσμα μπορεί να είναι ένας χρήστης που κάνει κλικ σε έναν σύνδεσμο ή κουμπί, οι χρήστες που προκαλούν αλλαγές στα δεδομένα στο πεδίο ή σε μια φόρμα
- Ο πελάτης Ιστού καλεί τον διακομιστή: Μια μέθοδος Java-script, XMLHttpRequest, στέλνει δεδομένα που συνδέονται με το έναυσμα σε έναν χειριστή ενεργειών στο διακομιστή. Τα δεδομένα μπορεί να είναι το αναγνωριστικό ενός πλαισίου ελέγχου, ολόκληρη η φόρμα ή το κείμενο στο πεδίο εισαγωγής
- Ο διακομιστής επεξεργάζεται: Ο χειριστής ενεργειών από την πλευρά του διακομιστή κάνει κάτι με τα δεδομένα και ανακτά ένα HTML τμήμα στον πελάτη Ιστού
- Ο πελάτης λαμβάνει την απάντηση: Το JavaScript από την πλευρά του πελάτη, το οποίο δημιουργεί αυτόματα το Rails, λαμβάνει το τμήμα HTML και το χρησιμοποιεί για να ενημερώσει ένα συγκεκριμένο τμήμα του τρέχοντος
13) Αναφέρετε πώς μπορείτε να δημιουργήσετε έναν ελεγκτή για το θέμα;
Για να δημιουργήσετε έναν ελεγκτή για θέμα, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή
C:\ruby\library> ruby script/δημιουργία θέματος ελεγκτή
14) Αναφέρετε τι είναι το Rails Migration;
Το Rails Migration επιτρέπει στη Ruby να κάνει αλλαγές στο σχήμα της βάσης δεδομένων, καθιστώντας δυνατή τη χρήση ενός συστήματος ελέγχου έκδοσης για να αφήσει τα πράγματα συγχρονισμένα με τον πραγματικό κώδικα.
15) Καταγράψτε τι μπορεί να κάνει η Rails Migration;
Το Rails Migration μπορεί να κάνει τα εξής
- Δημιουργία πίνακα
- Τραπέζι πτώσης
- Μετονομασία πίνακα
- Προσθήκη στήλης
- Μετονομασία στήλης
- Αλλαγή στήλης
- Κατάργηση στήλης και ούτω καθεξής
16) Αναφέρετε ποια είναι η εντολή για τη δημιουργία μιας μετανάστευσης;
Για να δημιουργήσετε την εντολή μετεγκατάστασης περιλαμβάνει
C:\ruby\application>ruby script/δημιουργία ονόματος πίνακα μετανάστευσης
17) Εξηγήστε πότε χρησιμοποιείται η μέθοδος self.up και self.down;
Κατά τη μετεγκατάσταση σε μια νέα έκδοση, αυτο.επάνω μέθοδος χρησιμοποιείται ενώ εαυτός.κάτω Η μέθοδος χρησιμοποιείται για την επαναφορά των αλλαγών μου εάν χρειάζεται.
18) Αναφέρετε ποιος είναι ο ρόλος του Rail Controller;
Ο ελεγκτής Rails είναι το λογικό κέντρο της εφαρμογής. Διευκολύνει την αλληλεπίδραση μεταξύ των χρηστών, των προβολών και του μοντέλου. Εκτελεί επίσης άλλες δραστηριότητες όπως
- Είναι σε θέση να δρομολογεί εξωτερικά αιτήματα σε εσωτερικές ενέργειες. Χειρίζεται εξαιρετικά καλά τη διεύθυνση URL
- Ρυθμίζει βοηθητικές μονάδες, οι οποίες επεκτείνουν τις δυνατότητες των προτύπων προβολής χωρίς διόγκωση του κώδικά τους
- Ρυθμίζει τις συνεδρίες. που δίνει στους χρήστες την εντύπωση μιας συνεχούς αλληλεπίδρασης με τις εφαρμογές μας
19) Αναφέρετε ποια είναι η διαφορά μεταξύ του "HashWithIndifferent" της Active support και του "Hash" της Ruby;
The Χασίσι Η κλάση στη βιβλιοθήκη πυρήνα του Ruby επιστρέφει τιμή χρησιμοποιώντας ένα πρότυπο "= =" σύγκριση στα κλειδιά. Σημαίνει ότι η τιμή που είναι αποθηκευμένη για το α σύμβολο το κλειδί δεν μπορεί να ανακτηθεί χρησιμοποιώντας την ισοδύναμη συμβολοσειρά. Ενώ το HashWithIndifferentAccess αντιμετωπίζει τα πλήκτρα συμβόλων και τα πλήκτρα συμβολοσειράς ως ισοδύναμα.
20) Εξηγήστε τι είναι το Cross-Site Request Forgery (CSRF) και πώς το Rails προστατεύεται από αυτό;
Το CSRF είναι μια μορφή επίθεσης όπου ο χάκερ υποβάλλει ένα αίτημα σελίδας εκ μέρους σας σε διαφορετικό ιστότοπο, προκαλώντας ζημιά ή αποκαλύπτοντας τα ευαίσθητα δεδομένα σας. Για προστασία από επιθέσεις CSRF, πρέπει να προσθέσετε "protect_from_forgery" να σας ApplicationController. Αυτό θα κάνει το Rails να απαιτήσει ένα διακριτικό CSRF για την επεξεργασία του αιτήματος. Το διακριτικό CSRF δίνεται ως κρυφό πεδίο σε κάθε μορφή που δημιουργείται με τη χρήση προγραμμάτων δημιουργίας φορμών Rails.
21) Εξηγήστε τι είναι το Mixin στο Rails;
Το Mixin στο Ruby προσφέρει μια εναλλακτική λύση σε πολλαπλές κληρονομιές, χρησιμοποιώντας μονάδες mixin μπορούν να εισαχθούν σε άλλη κατηγορία.
22) Εξηγήστε πώς ορίζετε τη Μεταβλητή Περίπτωσης, την Καθολική Μεταβλητή και τη Μεταβλητή Τάξης στο Ruby;
- Η μεταβλητή Ruby Instance ξεκινά με — @
- Οι μεταβλητές Ruby Class ξεκινούν με — @@
- Οι μεταβλητές Ruby Global ξεκινούν με — $
23) Εξηγήστε πώς μπορείτε να εκτελέσετε την εφαρμογή Rails χωρίς να δημιουργήσετε βάσεις δεδομένων;
Μπορείτε να εκτελέσετε την εφαρμογή σας αφαιρώντας το σχολιασμό της γραμμής στο περιβάλλον.rb
path=> rootpath conf/environment.rb
config.frameworks = [ action_web_service, :action_mailer, :active_record]
24) Αναφέρετε ποια είναι η διαφορά μεταξύ των Observers και των Callbacks στο Ruby on Rails;
- Παρατηρητές Rails: Το Observers είναι το ίδιο με το Callback, αλλά χρησιμοποιείται όταν η μέθοδος δεν σχετίζεται άμεσα με τον κύκλο ζωής του αντικειμένου. Επίσης, ο παρατηρητής ζει περισσότερο και μπορεί να αποσπαστεί ή να συνδεθεί ανά πάσα στιγμή. Για παράδειγμα, εμφάνιση τιμών από ένα μοντέλο στη διεπαφή χρήστη και ενημέρωση μοντέλου από την είσοδο χρήστη.
- Rails Callback: Οι επανακλήσεις είναι μέθοδοι, οι οποίες μπορούν να καλούνται σε ορισμένες στιγμές του κύκλου ζωής ενός αντικειμένου, για παράδειγμα, μπορούν να καλούνται όταν ένα αντικείμενο επικυρώνεται, δημιουργείται, ενημερώνεται, διαγράφεται. Μια επιστροφή κλήσης είναι μικρής διάρκειας. Για παράδειγμα, η εκτέλεση ενός νήματος και η επιστροφή κλήσης που καλείται όταν το νήμα τερματίζεται
25) Εξηγήστε τι είναι η γκανιότα στο Rails;
Το Rake είναι ένα Ruby Make. είναι ένα βοηθητικό πρόγραμμα Ruby που αντικαθιστά το βοηθητικό πρόγραμμα Unix 'make' και χρησιμοποιεί ένα 'Rakefile' και '.rake files' για να δημιουργήσει μια λίστα εργασιών. Στο Rails, το Rake χρησιμοποιείται για κανονικές εργασίες διαχείρισης όπως η μετεγκατάσταση της βάσης δεδομένων μέσω σεναρίων, η φόρτωση ενός σχήματος στη βάση δεδομένων κ.λπ.
26) Εξηγήστε πώς μπορείτε να απαριθμήσετε όλες τις διαδρομές για μια εφαρμογή;
Για να απαριθμήσετε όλες τις διαδρομές για μια εφαρμογή, μπορείτε να γράψετε διαδρομές rake στο τερματικό.
27) Εξηγήστε τι είναι το sweeper στο Rails;
Τα Sweepers είναι υπεύθυνα για τη λήξη ή τον τερματισμό της κρυφής μνήμης όταν αλλάζει το αντικείμενο του μοντέλου.
28) Αναφέρετε το αρχείο καταγραφής που πρέπει να δείτε για να αναφέρετε σφάλματα στο Ruby Rails;
Το Rails θα αναφέρει σφάλματα από τον Apache στο log/Apache.log και σφάλματα από τον κώδικα Ruby στο log/development.log.
29) Εξηγήστε ποια είναι η διαφορά μεταξύ Dynamic και Static Scaffolding;
Δυναμική Σκαλωσιά | Στατική Σκαλωσιά |
|
|
30) Αναφέρετε ποια είναι η λειτουργία της συλλογής σκουπιδιών στο Ruby on Rails;
Οι λειτουργίες της συλλογής σκουπιδιών στο Ruby on Rails περιλαμβάνουν
- Επιτρέπει την αφαίρεση των τιμών του δείκτη που μένουν πίσω όταν τελειώνει η εκτέλεση του προγράμματος
- Απελευθερώνει τον προγραμματιστή από την παρακολούθηση του αντικειμένου που δημιουργείται δυναμικά κατά το χρόνο εκτέλεσης
- Παρέχει το πλεονέκτημα της αφαίρεσης των απρόσιτων αντικειμένων από τη μνήμη και επιτρέπει σε άλλες διεργασίες να χρησιμοποιούν τη μνήμη
31) Αναφέρετε ποια είναι η διαφορά μεταξύ ανακατεύθυνσης και απόδοσης στο Ruby on Rails;
- Η ανακατεύθυνση είναι μια μέθοδος που χρησιμοποιείται για την έκδοση του μηνύματος σφάλματος σε περίπτωση που η σελίδα δεν εκδοθεί ή δεν βρεθεί στο πρόγραμμα περιήγησης. Λέει στο πρόγραμμα περιήγησης να επεξεργαστεί και να εκδώσει ένα νέο αίτημα.
- Το Render είναι μια μέθοδος που χρησιμοποιείται για τη δημιουργία του περιεχομένου. Το Render λειτουργεί μόνο όταν ο ελεγκτής έχει ρυθμιστεί σωστά με τις μεταβλητές που πρέπει να αποδοθούν.
32) Αναφέρετε ποιος είναι ο σκοπός των RJ στο Rails;
Το RJs είναι ένα πρότυπο που παράγει JavaScript το οποίο εκτελείται σε ένα μπλοκ eval από το πρόγραμμα περιήγησης ως απόκριση σε ένα αίτημα AJAX. Μερικές φορές χρησιμοποιείται για να ορίσει το JavaScript, το Prototype και τους βοηθούς που παρέχονται από το Rails.
33) Εξηγήστε τι είναι το Polymorphic Association στο Ruby on Rails;
Η Polymorphic Association επιτρέπει σε ένα αντικείμενο ActiveRecord να συνδεθεί με πολλαπλά αντικείμενα ActiveRecord. Ένα τέλειο παράδειγμα του Polymorphic Association είναι ένας ιστότοπος κοινωνικής δικτύωσης όπου οι χρήστες μπορούν να σχολιάσουν οπουδήποτε, είτε πρόκειται για βίντεο, φωτογραφίες, σύνδεσμο, ενημερώσεις κατάστασης κ.λπ. Δεν θα ήταν εφικτό εάν πρέπει να δημιουργήσετε ένα μεμονωμένο σχόλιο όπως photos_comments, videos_comment και ούτω καθεξής .
34) Αναφέρετε ποια είναι τα όρια του Ruby on Rails;
Το Ruby on Rails έχει σχεδιαστεί για τη δημιουργία μιας διαδικτυακής εφαρμογής CRUD χρησιμοποιώντας MVC. Αυτό μπορεί να κάνει το Rails να μην είναι χρήσιμο για άλλους προγραμματιστές. Μερικές από τις δυνατότητες που δεν υποστηρίζει το Rails περιλαμβάνουν
- Ξένο κλειδί σε βάσεις δεδομένων
- Σύνδεση σε πολλαπλές βάσεις δεδομένων ταυτόχρονα
- Υπηρεσίες ιστού σαπουνιού
- Σύνδεση σε πολλαπλούς διακομιστές βάσεων δεδομένων ταυτόχρονα
35) Αναφέρετε ποια είναι η διαφορά μεταξύ της κλήσης super() και super call;
- σούπερ(): Μια κλήση στη super() καλεί τη γονική μέθοδο χωρίς ορίσματα, όπως πιθανώς αναμένεται. Όπως πάντα, το να είσαι σαφής στον κώδικά σου είναι καλό.
- σούπερ κλήση: Μια κλήση στο super καλεί τη γονική μέθοδο με τα ίδια ορίσματα που μεταβιβάστηκαν στη θυγατρική μέθοδο. Επομένως, θα προκύψει σφάλμα εάν τα ορίσματα που μεταβιβάζονται στη μέθοδο θυγατρική δεν ταιριάζουν με αυτό που περιμένει ο γονέας.
36) Εξηγήστε για το Dig, το Float και το Max;
- Η κλάση float χρησιμοποιείται κάθε φορά που η συνάρτηση αλλάζει συνεχώς.
- Το Dig χρησιμοποιείται κάθε φορά που θέλετε να αναπαραστήσετε ένα float σε δεκαδικά ψηφία.
- Το Max χρησιμοποιείται κάθε φορά που υπάρχει τεράστια ανάγκη για Float.
37) Εξηγήστε πώς μπορούμε να ορίσουμε τις κανονικές εκφράσεις Ruby;
Η κανονική έκφραση Ruby είναι μια ειδική ακολουθία χαρακτήρων που σας βοηθά να ταιριάξετε ή να βρείτε άλλες συμβολοσειρές. Μια τυπική έκφραση literal είναι ένα μοτίβο μεταξύ αυθαίρετων οριοθέτων ή καθέτων ακολουθούμενων από %r.
38) Εξηγήστε τι είναι ο καθορισμένος τελεστής;
Ο τελεστής Define δηλώνει εάν μια διαβιβασμένη έκφραση ορίζεται ή όχι. Εάν η παράσταση έχει οριστεί, επιστρέφει τη συμβολοσειρά περιγραφής και εάν δεν έχει οριστεί επιστρέφει μια τιμή null.
39) Αναφέρετε τα λίγα χαρακτηριστικά του Ruby;
- Ελεύθερη μορφή – Μπορείτε να ξεκινήσετε να γράφετε από πρόγραμμα από οποιαδήποτε γραμμή και στήλη
- Διάκριση πεζών-κεφαλαίων – Τα κεφαλαία και τα πεζά γράμματα είναι διακριτά
- Σχόλια – Οτιδήποτε ακολουθείται από μη εισαγωγικό #, μέχρι το τέλος της γραμμής στην οποία εμφανίζεται, αγνοείται από τον διερμηνέα
- Οριοθέτες δηλώσεων-Πολλαπλές δηλώσεις σε μία γραμμή πρέπει να χωρίζονται με ερωτηματικά, αλλά δεν απαιτούνται στο τέλος μιας γραμμής.
40) Αναφέρετε τους τύπους μεταβλητών που είναι διαθέσιμοι στην κατηγορία Ruby;
Οι τύποι μεταβλητών που διατίθενται στην κατηγορία Ruby είναι:
- Τοπικές μεταβλητές
- Καθολικές μεταβλητές
- Μεταβλητές κλάσης
- Μεταβλητές Στιγμιότυπου
41) Εξηγήστε πώς μπορείτε να δηλώσετε ένα μπλοκ στο Ruby;
Στο Ruby, ο κώδικας στο μπλοκ περικλείεται πάντα μέσα σε άγκιστρα ({}). Μπορείτε να καλέσετε ένα μπλοκ χρησιμοποιώντας τη "δήλωση απόδοσης".
42) Εξηγήστε ποια είναι η διαφορά μεταξύ putc και putc;
Σε αντίθεση με τη δήλωση puts, η οποία εξάγει ολόκληρη τη συμβολοσειρά στην οθόνη. Η πρόταση Putc μπορεί να χρησιμοποιηθεί για την έξοδο ενός χαρακτήρα κάθε φορά.
43) Εξηγήστε τι είναι μια βιβλιοθήκη τάξης στο Ruby;
Οι βιβλιοθήκες κλάσεων Ruby αποτελούνται από διάφορους τομείς, όπως προγραμματισμό νημάτων, τύπους δεδομένων, διάφορους τομείς κ.λπ. Αυτές οι κλάσεις παρέχουν ευέλικτες δυνατότητες σε υψηλό επίπεδο αφαίρεσης, δίνοντάς σας τη δυνατότητα να δημιουργήσετε ισχυρά σενάρια Ruby χρήσιμα σε διάφορα προβλήματα τομείς. Οι παρακάτω τομείς που έχουν σχετικές βιβλιοθήκες κλάσεων είναι:
- Προγραμματισμός GUI
- Προγραμματισμός δικτύου
- Προγραμματισμός CGI
- Επεξεργασία κειμένου
44) Στο Ruby, εξηγεί για τον καθορισμένο τελεστή;
Ο καθορισμένος τελεστής λέει εάν μια διαβιβασμένη έκφραση ορίζεται ή όχι. Εάν η παράσταση δεν έχει οριστεί, δίνει null, και εάν η έκφραση ορίζεται, επιστρέφει τη συμβολοσειρά περιγραφής.
45) Αναφέρετε ποια είναι η διαφορά στο εύρος για αυτές τις δύο μεταβλητές: @@name και @name;
Η διαφορά στο εύρος για αυτές τις δύο μεταβλητές είναι ότι:
- Το @@name είναι μια μεταβλητή κλάσης
- Το @name είναι μια μεταβλητή παρουσίας
46) Αναφέρετε ποια είναι η σύνταξη του Ruby collect Iterator;
Η σύνταξη για το Ruby collect Iterator collection = collection.collect.
47) Στον κώδικα Ruby, συχνά παρατηρείται ότι ο κωδικοποιητής χρησιμοποιεί μια σύντομη μορφή χεριού για τη χρήση μιας έκφρασης όπως παράταξη.map(&:method_name) αντί για array.map { |στοιχείο| στοιχείο.μέθοδος_όνομα }. Πώς λειτουργεί πραγματικά αυτό το κόλπο;
Όταν μια παράμετρος μεταβιβάζεται με "&" μπροστά της. Η Ruby θα καλέσει το to_proc σε αυτό σε μια προσπάθεια να το κάνει χρησιμοποιήσιμο ως μπλοκ. Έτσι, το σύμβολο to_Proc θα επικαλεστεί τη μέθοδο του αντίστοιχου ονόματος σε οτιδήποτε του μεταβιβαστεί. Βοηθώντας έτσι το κόλπο μας να λειτουργήσει.
48) Εξηγήστε τι είναι η παρεμβολή στο Ruby;
Η παρεμβολή ρουμπίνι είναι η διαδικασία εισαγωγής μιας συμβολοσειράς σε ένα κυριολεκτικό. Τοποθετώντας έναν κατακερματισμό (#) μέσα σε {} ανοιχτές και κλειστές αγκύλες, μπορεί κανείς να παρεμβάλει μια συμβολοσειρά στο literal.
49) Αναφέρετε τι είναι το Notation που χρησιμοποιείται για τον προσδιορισμό μεταβλητών κλάσης στο Ruby;
Στο Ruby,
- Μια σταθερά πρέπει να ξεκινά με ένα κεφαλαίο γράμμα και δεν πρέπει να ορίζεται μέσα σε μια μέθοδο
- Ένα τοπικό πρέπει να ξεκινά με το σύμβολο _ υπογράμμισης ή ένα πεζό γράμμα
- Μια καθολική μεταβλητή πρέπει να ξεκινά με το σύμβολο $. Ένα μη αρχικοποιημένο παγκόσμιο έχει την αξία του «μηδέν» και θα έπρεπε αύξηση μια προειδοποίηση. Μπορεί να αναφερθεί οπουδήποτε στο πρόγραμμα.
- Μια μεταβλητή κλάσης πρέπει να ξεκινά με διπλό @@ και πρέπει πρώτα να αρχικοποιηθεί πριν χρησιμοποιηθεί σε έναν ορισμό μεθόδου
50) Αναφέρετε ποια είναι η διαφορά μεταξύ Procs και Blocks;
Η διαφορά μεταξύ Procs και Blocks,
- Το Block είναι μόνο το μέρος της σύνταξης μιας μεθόδου ενώ το proc έχει τα χαρακτηριστικά ενός μπλοκ
- Τα procs είναι αντικείμενα, τα μπλοκ όχι
- Το πολύ ένα μπλοκ μπορεί να εμφανιστεί σε μια λίστα ορισμάτων
- Μόνο το μπλοκ δεν μπορεί να αποθηκευτεί σε μια μεταβλητή ενώ το Proc μπορεί
51) Αναφέρετε ποια είναι η διαφορά μεταξύ ενός μόνο εισαγωγικού και του διπλού εισαγωγικού;
Οι συμβολοσειρές με ένα εισαγωγικό δεν επεξεργάζονται κωδικούς διαφυγής ASCII και δεν κάνουν παρεμβολή συμβολοσειρών.
52) Αναφέρετε ποια είναι η διαφορά μεταξύ ενός πολύτιμου λίθου και ενός πρόσθετου στο Ruby;
- Κόσμημα: Ένα διαμάντι είναι ένας απλώς ρουμπινί κώδικας. Είναι εγκατεστημένο σε ένα μηχάνημα και είναι διαθέσιμο για όλες τις εφαρμογές ruby που εκτελούνται σε αυτό το μηχάνημα.
- Συνδέω: Το πρόσθετο είναι επίσης ρουμπίν κώδικας, αλλά είναι εγκατεστημένο στον φάκελο της εφαρμογής και είναι διαθέσιμο μόνο για τη συγκεκριμένη εφαρμογή.
53) Αναφέρετε ποια είναι η διαφορά επέκταση και συμπερίληψη;
Το "include" κάνει τις μεθόδους της ενότητας διαθέσιμες στην παρουσία μιας κλάσης, ενώ το "extend" κάνει αυτές τις μεθόδους διαθέσιμες στην ίδια την κλάση.
Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας
Η απόδοση δεν είναι συνάρτηση. Είναι λέξη-κλειδί ρουμπίνι που χρησιμοποιείται για την εκτέλεση μπλοκ.
Συγκεκριμένα, το yield θα περάσει τον έλεγχο του νήματος (Main.thread κατά πάσα πιθανότητα) στο μπλοκ που είτε μεταβιβάστηκε ρητά ως παράμετρος, π.χ. def my_method(&my_block) Ή εναλλακτικά ένα μπλοκ θα μπορούσε να έχει περάσει σιωπηρά όπως π.χ.
my_class.my_method κάνω
# κωδικός σε αυτό το μπλοκ θα αποδοθεί στο εσωτερικό της μεθόδου κλήσης
τέλος
πολύ ωραίο… συνέχισε έτσι
Υπέροχο περιεχόμενο!
στην ερώτηση #6, στο Ruby, δεν υπάρχει κλάση "Boolean", επομένως δεν υπάρχει "Boolean type". Υπάρχει μόνο η TrueClass και η FalseClass.
Ενημερώνεται.
Καλή
καλός
στην πραγματικότητα Thread.main… το κακό μου :)
Το Ruby δεν εμπνέεται από την Python, εμπνεύστηκε από τα ακόλουθα (Perl, Smalltalk, Eiffel, Ada, BASIC και Lisp)
Ενημερώνεται.
ναι…
Ωραία γεύση από ρουμπίνι και ράγες
6) nil.object_id είναι ίσο με 8