Κορυφαίες 22 ερωτήσεις συνέντευξης Groovy & Απαντήσεις

Anonim

Λήψη PDF

1) Εξηγήστε τι είναι το Groovy;

Το Groovy είναι μια αντικειμενοστρεφής γλώσσα προγραμματισμού για το JVM (Java Virtual Machines). Χρησιμοποιείται για το συνδυασμό ενοτήτων Java, για τη σύνταξη εφαρμογής Java και για την επέκταση της υπάρχουσας εφαρμογής Java.

2) Γιατί να χρησιμοποιήσετε το Groovy;

  • Για προγραμματιστές Java παρέχει γνωστή σύνταξη
  • Διαθέτει πλούσιο απόθεμα βιβλιοθηκών Java
  • Ενσωματώνεται εύκολα με την υπάρχουσα υποδομή σας, όπως Servlet Containers, App Servers, Loads of βάσεις δεδομένων με προγράμματα οδήγησης JDBC,
  • Πλήρως Αντικειμενοστραφής
  • Διαθέτει επαναχρησιμοποιήσιμα και εκχωρήσιμα κομμάτια κώδικα
  • Οι χειριστές μπορεί να είναι υπερφορτωμένοι
  • Κυριολεκτική δήλωση για χάρτες, πίνακες, εύρη και κανονικές εκφράσεις
  • Έχει αποτελεσματική πλοήγηση αντικειμένων

3) Ποιος είναι ο περιορισμός του Groovy;

  • Ο Groovy μπορεί να είναι πιο αργός
  • Ο Γκρόβι μπορεί να χρειαστεί πολλή μνήμη
  • Ο χρόνος εκκίνησης του Groovy απαιτεί βελτίωση
  • Απαιτεί γνώση Java
  • Μερικές φορές χρειάζεται για να συνηθίσετε όπως το New Syntax, το κλείσιμο, την προεπιλεγμένη πληκτρολόγηση,
  • Η τεκμηρίωση είναι λεπτή

4) Εξηγήστε πώς εκτελούνται τα σενάρια στο Groovy;

Ο Groovy υποστηρίζει απλό σενάριο. δεν απαιτεί δήλωση κλάσης. Στο μπροστινό μέρος του σεναρίου, οι εισαγωγές υποστηρίζονται με τον ίδιο τρόπο που μπορεί να είναι στο μπροστινό μέρος μιας κλάσης. Στο Groovy, πρέπει να χρησιμοποιήσετε τη λέξη def για να δηλώσετε μια συνάρτηση εκτός της τάξης.

5) Αναφέρετε ποιες είναι οι δυνατότητες που προσφέρει το Groovy JDK;

Ο Groovy έχει προσθέσει νέες μεθόδους σε σύγκριση με την παλιά έκδοση όπως

  • Διάφοροι τύποι συστοιχιών και ροές αντικειμένων με νέες μεθόδους προσανατολισμένες στο Groovy

όπως Object.every (), Object.each () κ.λπ. και περιλαμβάνουν επίσης νέες δυνατότητες όπως "String BufferedReader.getText ()" και "InputStream.eachLine (Closure)".

6) Αναφέρετε ποιος είναι ο ρόλος του κλεισίματος και των ακροατών στο Groovy;

Ο Groovy δεν υποστηρίζει ανώνυμες εσωτερικές τάξεις. Είναι δυνατόν να προσδιοριστούν οι ακροατές δράσης εν σειρά μέσω των κλεισίματος. Στο Groovy, το κλείσιμο ακροατών χρησιμοποιείται ως ListenerAdapter όπου μόνο μία μέθοδος ενδιαφέροντος παρακάμπτεται.

7) Εξηγήστε πώς μπορείτε να προσθέσετε πράγματα στο classpath όταν τρέχετε πράγματα σε groovy ή groovysh;

Μπορείτε να προσθέσετε πράγματα στη μεταβλητή περιβάλλοντος $ CLASSPATH. Μια άλλη δυνατότητα είναι να δημιουργήσετε έναν κατάλογο .groovy / lib στον αρχικό σας κατάλογο και να προσθέσετε ό, τι βάζα θέλετε να είναι διαθέσιμο από προεπιλογή.

8) Αναφέρετε ποια είναι η άδεια για το Groovy;

Το Groovy εξαρτάται κατά το χρόνο εκτέλεσης από τη βιβλιοθήκη ASM καθώς και από το Java 1.4 και το βάζο Groovy.

9) Εξηγήστε τι είναι το ExpandoMetaClass στο Groovy;

Το ExpandoMetaClass χρησιμοποιείται για την προσθήκη μεθόδων, ιδιοτήτων, στατικών μεθόδων και κατασκευαστών. Το Expandoclass δεν κληρονομείται από προεπιλογή. πρέπει να καλέσετε το ExpandoMetaClass.enableGlobally ().

10) Εξηγήστε πώς εκφράζεται η συμβολοσειρά Groovy;

Η συμβολοσειρά Groovy αναφέρεται ως Gstring.

  • Περιβάλλεται από διπλά εισαγωγικά, για κανονικές συμβολοσειρές που χρησιμοποιεί μεμονωμένα εισαγωγικά
  • Μπορεί να περιέχει εκφράσεις Groovy που σημειώνονται σε $ {}
  • Η σύνταξη αγκυλών μπορεί να εφαρμοστεί όπως το charAt (i)

11) Πώς θα μπορούσατε να ανακτήσετε μια μεμονωμένη τιμή από τη βάση δεδομένων χρησιμοποιώντας το Groovy;

Για να ανακτήσετε μια μεμονωμένη τιμή από τη βάση δεδομένων, μπορείτε να χρησιμοποιήσετε την εντολή

row = sql.firstRow ('select columnA, column from tableName')
println "Row: columnA = $ {row.columnA} and column = ${row.columnB}"

12) Εξηγήστε πώς μπορείτε να κάνετε ερώτηση στο Groovy;

Ας δούμε ένα απλό παράδειγμα για το πώς ο Groovy καλεί το ερώτημα

import groovy.sql.sqlsql = Sql.newInstance ('jdbc: jtds: sqlserver://serverName/dbName-Class;domain=domainName','username','password','net.sourceforge.jtds.jdbc.driver')sql.eachRow ('select * from tableName') {print "$it.id--${it.firstName} -" }

13) Εξηγήστε πώς μπορείτε να δημιουργήσετε AST (Abstract Syntax Trees) στο Groovy από συμβολοσειρά;

Μπορείτε να δημιουργήσετε AST στο Groovy από

  • Χορδές
  • Κώδικας
  • Από DSL όπως προδιαγραφές

Ένα αντικείμενο AstBuilder παρέχει ένα API για τη δημιουργία AST από συμβολοσειρές του πηγαίου κώδικα Groovy. Για παράδειγμα

Λίστα κόμβοι = νέο AstBuilder (). buildFromString ("\" Γεια σας "")

14) Εξηγήστε πώς μπορείτε να συμπεριλάβετε ένα σενάριο groovy σε άλλο groovy;

Μπορείτε να συμπεριλάβετε ένα σενάριο groovy με ένα άλλο groovy χρησιμοποιώντας τον ακόλουθο κώδικα. Όταν τοποθετήσετε αυτόν τον κωδικό στην κορυφή του σεναρίου, θα φέρει τα περιεχόμενα ενός αρχείου groovy.

Αξιολόγηση (νέο αρχείο ("… /tools/Tools.groovy"))

15) Εξηγήστε τι είναι το Groovysh;

Το Groovysh είναι μια εφαρμογή γραμμής εντολών που επιτρέπει την εύκολη πρόσβαση για την αξιολόγηση των εκφράσεων του Groovy, τον καθορισμό τάξεων και την εκτέλεση πειραμάτων.

16) Εξηγήστε το σχόλιο του GroovyDoc;

Όπως τα σχόλια πολλαπλών γραμμών, τα σχόλια του GroovyDoc είναι πολλαπλά, αλλά ξεκινά με / / και τελειώνει με * /. Αυτά τα σχόλια σχετίζονται με

  • Ορισμοί τύπων (τάξεις, διεπαφές, αθροίσματα, σχολιασμοί)
  • Ορισμοί πεδίων και ιδιοτήτων
  • Ορισμοί μεθόδων

17) Εξηγήστε τι είναι οι χειριστές Bitwise στο Groovy;

Οι τελεστές Bitwise μπορούν να εφαρμοστούν σε BYTE ή INT και return και INT. Οι τελεστές Bitwise προσφέρουν 4 τελεστές bitwise

  • &: bitwise "και"
  • I: bitwise "ή"
  • Α: bitwise "xor"
  • ~: δυαδική άρνηση

18) Αναφέρετε τις διαφορές μεταξύ Groovy και Java;

  • Όλα τα πακέτα και τα μαθήματα στο Groovy εισάγονται από προεπιλογή, δεν χρειάζεται να χρησιμοποιείτε ρητά τη δήλωση εισαγωγής
  • Σε αντίθεση με την Java όπου οι μέθοδοι επιλέγονται κατά το χρόνο μεταγλώττισης, οι μέθοδοι στο Groovy επιλέγονται με βάση τους τύπους ορισμάτων κατά το χρόνο εκτέλεσης
  • Στο {…} το μπλοκ προορίζεται για κλείσιμο, πράγμα που σημαίνει ότι δεν μπορείτε να δημιουργήσετε κυριολεκτικούς πίνακες με αυτήν τη σύνταξη
  • Όπως και στην Java, η παράλειψη ενός τροποποιητή σε ένα πεδίο δεν οδηγεί σε ιδιωτικό πακέτο
  • Η αυτόματη διαχείριση πόρων ή ο αποκλεισμός ARM από την Java 7 δεν υποστηρίζονται στο Groovy
  • Τα Java 8 lambda θεωρούνται ως ανώνυμες εσωτερικές τάξεις και ο Groovy δεν υποστηρίζει αυτή τη σύνταξη

19) Εξηγήστε το ρόλο της εξάρτησης σταφυλιών στο Γκρόβι;

Το Grape είναι ένας διαχειριστής εξάρτησης JAR που περιλαμβάνεται στο Groovy. Σας επιτρέπει να προσθέσετε γρήγορα εξαρτήσεις αποθετηρίου στο maven classpath, διευκολύνοντας το σενάριο. Η απλούστερη χρήση είναι η προσθήκη σχολιασμού στο σενάριό σας.

20) Εξηγήστε τι δείχνει η τάξη JsonSlurper;

Το JsonSlurper είναι μια τάξη που αναλύει το περιεχόμενο JSON ή το πρόγραμμα ανάγνωσης σε δομές δεδομένων Groovy (αντικείμενα) όπως λίστες, χάρτες και πρωτόγονους τύπους όπως διπλό, Boolean, string και Integer.

21) Πότε καλείται η μέθοδος "propertyMissing (String)";

Η μέθοδος "propertyMissing (String)" καλείται όταν δεν μπορεί να εντοπιστεί μέθοδος λήψης για μια συγκεκριμένη ιδιότητα από το χρόνο εκτέλεσης του Groovy.

22) Αναφέρετε σε ποιον σχετικό χειριστή χρησιμοποιείται το Groovy;

Οι σχεσιακοί τελεστές σάς επιτρέπουν να συγκρίνετε μεταξύ αντικειμένων, για να ελέγξετε εάν τα δύο αντικείμενα είναι διαφορετικά ή ίδια ή εάν ένα είναι μικρότερο από, μεγαλύτερο από ή ίσο με άλλα.