En İyi 25 Scala Mülakat Soruları & Yanıtlar

Anonim

PDF İndir

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

Scala, çözümleri kısa ve öz bir şekilde ifade etmek için tasarlanmış, genel yazılım uygulamaları için bir nesne işlevsel programlama ve komut dosyası dilidir.

2) 'Scala seti' nedir? İşlem setlerinin ifade edildiği yöntemler nelerdir?

Scala seti, aynı türden ikili elemanların bir koleksiyonudur. Scala seti herhangi bir yinelenen öğe içermiyor. Değişken ve değişmez olmak üzere iki tür küme vardır.

3) 'Scala haritası' nedir?

Scala haritası, anahtar veya değer çiftlerinden oluşan bir koleksiyondur. Anahtarına bağlı olarak herhangi bir değer alınabilir. Değerler benzersiz değildir, ancak anahtarlar Harita'da benzersizdir.

4) Scala'nın avantajı nedir?

  • Daha az hata eğilimli işlevsel stil
  • Yüksek bakım kolaylığı ve üretkenlik
  • Yüksek ölçeklenebilirlik
  • Yüksek test edilebilirlik
  • Eşzamanlı programlama özellikleri sağlar

5) Scala hangi yönlerden diğer programlama dillerinden daha iyidir?

  • Diziler normal jenerikleri kullanırken, diğer bir dilde, jenerikler sonradan akla getirilir ve tamamen ayrıdır, ancak dizilerle örtüşen davranışlara sahiptir.
  • Scala, birinci sınıf bir dil özelliği olarak değişmez "val" ye sahiptir. Scala'nın "val" değeri Java nihai değişkenlerine benzer. İçerikler değişebilir ancak en üstteki referans değişmezdir.
  • Scala, bir değer döndürmek için parantez içinde 'if blokları', 'getiri için döngüleri' ve 'kod'u sağlar. Daha çok tercih edilir ve ayrı bir üçlü operatöre olan ihtiyacı ortadan kaldırır.
  • Singleton, C ++ / Java / C # klasik statik yerine tek nesneye sahiptir. Daha temiz bir çözümdür
  • Kalıcı değişmez koleksiyonlar varsayılandır ve standart kitaplıkta yerleşiktir.
  • Yerel kayıtlara ve kısa bir koda sahiptir
  • Kazan plaka kodu yok

6) Scala değişkenleri nelerdir?

Değerler ve değişkenler, Scala'da gelen iki şekildir. Bir değer değişkeni sabittir ve atandıktan sonra değiştirilemez. Değişmezdir, diğer yandan normal bir değişken değiştirilebilirdir ve değeri değiştirebilirsiniz.

İki tür değişken

var myVar: Int = 0;

val myVal: Int = 1;

7) Bir nesne ve bir sınıf arasındaki farktan bahsediyor musunuz?

Bir sınıf, bir tanım için bir tanımdır. Bir türü, diğer türlerin yöntemleri ve bileşimleri açısından tanımlar. Bir sınıf, nesnenin bir taslağıdır. Nesne bir singleton iken, benzersiz olan bir sınıf örneğidir. Koddaki her nesne için anonim bir sınıf oluşturulur, uygulanacak nesneyi bildirdiğiniz sınıflardan miras alır.

8) Ölçekli özyineleme kuyruğu nedir?

"Özyineleme", kendisini çağıran bir işlevdir. Kendini çağıran bir işlev, örneğin, bir 'A' işlevi 'C' işlevini çağıran 'B' işlevini çağırır. Fonksiyonel programlamada sıklıkla kullanılan bir tekniktir. Bir kuyruğun özyinelemeli olması için, işleve geri arama, gerçekleştirilecek son işlev olmalıdır.

9) Ölçekli 'scala özelliği' nedir?

'Özellikler', desteklenen yöntemlerin imzasıyla belirtilen nesne türlerini tanımlamak için kullanılır. Scala, kısmen uygulanmasına izin verir, ancak özelliklerin yapıcı parametreleri olmayabilir. Bir özellik, yeniden kullanılabilecek sınıflara karıştırılarak yöntem ve alan tanımından oluşur.

10) Özellikleri ne zaman kullanabilirsiniz?

Özellikleri kullanabileceğiniz belirli bir kural yoktur, ancak dikkate alabileceğiniz bir kılavuz vardır.

  • Davranış yeniden kullanılmayacaksa, onu somut bir sınıf haline getirin. Her neyse, yeniden kullanılabilir bir davranış değil.
  • Java kodunda ondan miras almak için soyut bir sınıf kullanılabilir.
  • Verimlilik bir öncelikse, o zaman bir sınıf kullanmaya eğilin
  • Birden çok ve ilgisiz sınıfta yeniden kullanılacaksa bunu bir özellik haline getirin. Sınıf hiyerarşisinin farklı bölümlerinde yalnızca özellikler farklı bölümlere karıştırılabilir.
  • Soyut sınıfı, derlenmiş biçimde dağıtmak istiyorsanız ve dış grupların ondan devralan sınıflar yazmasını beklerseniz kullanabilirsiniz.

11) Vaka Sınıfları nedir?

Durum sınıfları, örüntü eşleştirme yoluyla özyinelemeli bir ayrıştırma mekanizması sağlar, yapıcı parametrelerini dışa aktaran normal sınıflardır. Vaka sınıflarının yapıcı parametrelerine doğrudan erişilebilir ve genel değerler olarak kabul edilir.

12) Tupleların ölçekteki kullanımı nedir?

Scala grupları, sabit sayıda öğeyi bir bütün olarak aktarılabilecek şekilde bir araya getirir. Bir demet değişmezdir ve bir dizi veya listeden farklı olarak farklı türlerdeki nesneleri tutabilir.

13) Scala'da fonksiyon körlemesi nedir?

Currying, birden fazla argümanı alan bir fonksiyonu tek bir argüman alan bir fonksiyona dönüştürme tekniğidir. Haskell ve LISP gibi dil ile aynı tekniklerin çoğu Scala tarafından desteklenmektedir. İşlevsel currying, en az kullanılan ve yanlış anlaşılanlardan biridir.

14) Scala'daki örtük parametreler nelerdir?

Örtük parametre, bir yöntemin parametrelerinin "bulunmasına" izin veren yoldur. Varsayılan parametrelere benzer, ancak "varsayılan" değeri bulmak için farklı bir mekanizmaya sahiptir. Örtük parametre, örtük olarak işaretlenen yöntem veya yapıcı için bir parametredir. Bu, bir parametre değerinden bahsedilmezse, derleyicinin bir kapsam içinde tanımlanan "örtük" bir değer arayacağı anlamına gelir.

15) Scala'da kapanış nedir?

Kapanış, dönüş değeri işlevin dışında bildirilen değişkenlerin değerine bağlı olan bir işlevdir.

16) Scala'da Monad nedir?

Bir monad, başka bir nesneyi saran bir nesnedir. Nesneyi doğrudan değiştirmek yerine, alttaki nesnenin veri işlemesini gerçekleştirmek için Monad mini programlarını, yani işlevleri iletirsiniz. Monad, programı temeldeki nesneye nasıl uygulayacağını seçer.

17) Scala anonim işlevi nedir?

Bir kaynak kodda, anonim işlevler 'işlev değişmezleri' olarak adlandırılır ve çalışma zamanında işlev değişmezleri, işlev değerleri adı verilen nesneler halinde somutlaştırılır. Scala, anonim işlevleri tanımlamak için nispeten kolay bir sözdizimi sağlar.

18) 'Scala high order' fonksiyonlarını açıklar mı?

Scala, üst düzey fonksiyonların tanımlanmasına izin verir. Bunlar, diğer işlevleri parametre olarak alan veya sonucu bir işlev olan işlevlerdir. Aşağıdaki örnekte, apply () işlevi başka bir 'f' işlevi ve bir 'v' değeri alır ve işlevi v'ye uygular.

Misal:

object Test {def main(args: Array[String]) {println( apply( layout, 10) )}def apply(f: Int => String, v: Int) = f(v)def layout[A](x: A) = "[" + x.toString() + "]"
Yukarıdaki kod derlenip çalıştırıldığında aşağıdaki sonucu verir.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>

19) var ve değer arasındaki fark nedir?

Ölçeklendirmede, a, val veya var anahtar sözcüklerini kullanarak bir değişken tanımlayabilirsiniz. Val ve var arasındaki fark, var'ın java bildirimine çok benzer, ancak val biraz farklıdır. Değişken val kullanılarak bildirildikten sonra referansı başka bir referansa işaret edecek şekilde değiştiremeyiz. Var anahtar sözcükleri kullanılarak tanımlanan değişken değiştirilebilir ve herhangi bir sayıda değiştirilebilir.

20) Seçenek nedir, ölçek bazında bazıları yok mu?

'Option', 'bazı' genel değer olabilen veya hiçbiri olmayan bir Scala genel türüdür. 'Kuyruk' genellikle onu boş olabilecek ilkelleri temsil etmek için kullanır.

21) Listeye nasıl eklenirim?

Bir listeye eklemek için ölçeklendirmede, "

:+” single value
var myList = List.empty[String]myList :+= "a"myList :+= "b"myList :+= "c"use++ for appending a listvar myList = List.empty[String]myList ++= List("a", "b", "c")

22) Bir dizgeyi nasıl biçimlendirebilirsiniz?

Bir dizeyi biçimlendirmek için .format () yöntemini kullanın, ölçeklendirmede kullanabilirsiniz

Val biçimlendirilmiş = “% s% i” .format (mystring.myInt)

23) Scala neden değişmezliği tercih ediyor?

Scala, tasarımda değişmezliği tercih eder ve çoğu durumda bunu varsayılan olarak kullanır. Değişmezlik, eşitlik sorunları veya eşzamanlı programlarla uğraşırken yardımcı olabilir.

24) Dört tür ölçek tanımlayıcı nedir?

Dört tür tanımlayıcı şunlardır:

  • Alfa sayısal tanımlayıcılar
  • Operatör tanımlayıcıları
  • Karışık tanımlayıcılar
  • Değişmez tanımlayıcılar

25) Farklı Scala değişmezleri türleri nelerdir?

Ölçeklendirmedeki farklı değişmez bilgi türleri şunlardır:

  • Tamsayı değişmez değerleri
  • Kayan nokta değişmez değerleri
  • Boole değişmez değerleri
  • Sembol değişmez değerleri
  • Karakter değişmez değerleri
  • Dize değişmez değerleri
  • Çok Satırlı dizeler