En İyi 22 Harika Röportaj Sorusu & Yanıtlar

Anonim

PDF İndir

1) Groovy'nin ne olduğunu açıklayın?

Groovy, JVM (Java Sanal Makineleri) için nesne yönelimli bir programlama dilidir. Java modüllerini birleştirmek, Java uygulaması yazmak ve mevcut Java uygulamasını genişletmek için kullanılır.

2) Neden Groovy kullanıyorsunuz?

  • Java programcıları için tanıdık sözdizimi sağlar
  • Zengin bir Java Kitaplığı stokuna sahiptir
  • JDBC sürücüleri ile Sunucu Kapsayıcıları, Uygulama Sunucuları, Veritabanı Yükleri gibi mevcut altyapınızla kolayca entegre olur,
  • Tamamen Nesneye Yönelik
  • Yeniden kullanılabilir ve atanabilir kod parçalarına sahiptir
  • Operatörler aşırı yüklenebilir
  • Haritalar, diziler, aralıklar ve normal ifadeler için değişmez bildirim
  • Etkili nesne navigasyonuna sahiptir

3) Groovy'nin sınırlaması nedir?

  • Groovy daha yavaş olabilir
  • Groovy'nin çok fazla belleğe ihtiyacı olabilir
  • Harika başlangıç ​​zamanı iyileştirme gerektirir
  • Java bilgisi gerektirir
  • Bazen Yeni Sözdizimini, kapatmaları, varsayılan yazmayı sevmeye alışmak,
  • Belgeler zayıf

4) Script'lerin Groovy'de nasıl çalıştırıldığını açıklayın.

Groovy düz yazıyı destekler; sınıf bildirimi gerektirmez. Komut dosyasının önünde, bir sınıfın önünde olabileceği gibi içe aktarmalar desteklenir. Groovy'de, bir sınıfın dışında bir işlev bildirmek için def sözcüğünü kullanmanız gerekir .

5) Groovy JDK'nın sunduğu bazı özellikler nelerdir?

Groovy, eski sürüme kıyasla yeni yöntemler ekledi.

  • Yeni Groovy yönelimli yöntemlerle çeşitli dizi türleri ve nesne akışları

Object.every (), Object.each () vb. gibi ve ayrıca "String BufferedReader.getText ()" ve "InputStream.eachLine (Closure)" gibi yeni özellikler içerir.

6) Groovy'de kapanış ve dinleyicilerin rolü nedir?

Groovy anonim iç sınıfları desteklemez; kapanışlar aracılığıyla eylem dinleyicilerini inline olarak belirlemek mümkündür. Groovy'de, dinleyici kapanışı, yalnızca bir ilgilenilen yöntemin geçersiz kılındığı bir ListenerAdapter olarak kullanılır.

7) Bir şeyleri harika veya harika bir şekilde çalıştırırken sınıf yoluna nasıl şeyler ekleyebileceğinizi açıklayın.

$ CLASSPATH ortam değişkeninize bir şeyler ekleyebilirsiniz. Diğer bir olasılık, ana dizininizde bir .groovy / lib dizini oluşturmak ve varsayılan olarak kullanılabilir olmasını istediğiniz kavanozları eklemektir.

8) Groovy'nin lisansı nedir?

Groovy, çalışma zamanında ASM kitaplığına, Java 1.4 ve Groovy jar'e bağlıdır.

9) Groovy'de ExpandoMetaClass nedir?

ExpandoMetaClass, yöntemler, özellikler, statik yöntemler ve yapıcılar eklemek için kullanılır. Expandoclass varsayılan olarak devralınmaz; ExpandoMetaClass.enableGlobally () 'yi çağırmanız gerekir.

10) Groovy dizgesinin nasıl ifade edildiğini açıklayın?

Groovy dizesi Gstring olarak adlandırılır.

  • Çift tırnak içine alınır, normal dizeler için tek tırnak kullanır
  • $ {} İle belirtilen Harika İfadeler içerebilir
  • Köşeli parantez sözdizimi charAt (i) gibi uygulanabilir

11) Groovy kullanarak veri tabanından tek bir değeri nasıl elde edebilirsiniz?

Veritabanından tek bir değeri kurtarmak için şu komutu kullanabilirsiniz:

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

12) Groovy'de nasıl sorgulama yapabileceğinizi açıklayın.

Groovy'nin sorguyu nasıl çağırdığına dair basit bir örnek görelim

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) Groovy'de AST'yi (Soyut Sözdizimi Ağaçları) dizeden nasıl inşa edebileceğinizi açıklayın.

Groovy'de AST oluşturabilirsiniz

  • Teller
  • Kod
  • DSL benzeri özelliklerden

AstBuilder nesnesi, Groovy Kaynak Kodu dizilerinden AST oluşturmak için bir API sağlar. Örneğin

düğümlerini listeleyin = yeni AstBuilder (). buildFromString ("\" Merhaba \ "")

14) Harika bir senaryoyu başka bir groovy'ye nasıl ekleyebileceğinizi açıklayın.

Aşağıdaki kodu kullanarak başka bir groovy ile harika bir komut dosyası ekleyebilirsiniz. Bu kodu betiğin en üstüne koyduğunuzda harika bir dosyanın içeriğini getirecektir.

Değerlendir (yeni dosya ("… /tools/Tools.groovy"))

15) Groovysh'in ne olduğunu açıklayın?

Groovysh, Groovy ifadelerini değerlendirmek, sınıfları tanımlamak ve deneyler çalıştırmak için kolay erişim sağlayan bir komut satırı uygulamasıdır.

16) GroovyDoc yorumunu açıklar mısınız?

Çok satırlı yorumlar gibi, GroovyDoc yorumları da çok satırlıdır ancak / ** ile başlar ve * / ile biter. Bu yorumlar şununla ilgilidir:

  • Tür tanımları (sınıflar, arabirimler, numaralandırmalar, ek açıklamalar)
  • Alanlar ve özellik tanımları
  • Yöntem tanımları

17) Groovy'de Bitsel Operatörlerin ne olduğunu açıklayın.

Bitsel operatörler bir BYTE veya bir INT ve return ve INT üzerinde gerçeklenebilir. Bitsel operatörler 4 bitsel operatör sunar

  • &: bitsel "ve"
  • I: bitsel "veya"
  • A: bitsel "xor"
  • ~: bitsel olumsuzlama

18) Groovy ve Java arasındaki farkları listeleyin.

  • Groovy'deki tüm paketler ve sınıflar varsayılan olarak içe aktarılır, açıkça içe aktarma ifadesini kullanmanız gerekmez
  • Yöntemlerin derleme zamanında seçildiği Java'dan farklı olarak, Groovy'deki yöntemler çalışma zamanındaki argüman türlerine göre seçilir.
  • {…} İçindeki blok, kapanışlar için ayrılmıştır, bu, bu sözdizimiyle dizi değişmez değerleri oluşturamayacağınız anlamına gelir
  • Java'da olduğu gibi, bir alanda bir değiştiricinin atlanması, bir paket özel alanıyla sonuçlanmaz.
  • Otomatik Kaynak Yönetimi veya java 7'den ARM bloğu Groovy'de desteklenmez
  • Java 8 lambdalar aşağı yukarı anonim iç sınıflar olarak kabul edilir ve Groovy bu sözdizimini desteklemez

19) Üzüm bağımlılığının Groovy'deki rolünü açıklar mı?

Grape, Groovy'ye dahil olan bir JAR bağımlılık yöneticisidir. Sınıf yolunuza hızlı bir şekilde maven depo bağımlılıkları eklemenize olanak tanıyarak komut dosyası oluşturmayı kolaylaştırır. En basit kullanım, komut dosyanıza bir açıklama eklemektir.

20) JsonSlurper sınıfının ne anlama geldiğini açıklayın.

JsonSlurper, JSON metnini veya okuyucu içeriğini listeler, haritalar ve double, Boolean, string ve Integer gibi ilkel türler gibi Groovy veri yapılarına (nesnelerine) ayrıştıran bir sınıftır.

21) "propertyMissing (String)" yöntemi ne zaman çağrılır?

Groovy çalışma zamanı tarafından belirli bir özellik için hiçbir alıcı yöntemi tespit edilemediğinde "propertyMissing (String)" yöntemi çağrılır.

22) Groovy'de hangi ilişkisel operatörlerin kullanıldığından bahsedin?

İlişkisel operatörler, iki nesnenin farklı mı yoksa aynı mı olduğunu veya birinin diğerlerinden küçük, büyük veya eşit olup olmadığını kontrol etmek için nesneler arasında karşılaştırma yapmanıza olanak tanır.