25 Pertanyaan dan Jawaban Wawancara Scala Teratas (PDF)
Berikut adalah pertanyaan dan jawaban wawancara Scala untuk kandidat baru dan berpengalaman untuk mendapatkan pekerjaan impian mereka.
Pertanyaan dan Jawaban Wawancara Scala untuk Mahasiswa Baru
1) Jelaskan apa itu Scala?
Scala adalah bahasa pemrograman fungsional objek dan bahasa skrip untuk aplikasi perangkat lunak umum yang dirancang untuk mengekspresikan solusi secara ringkas.
2) Apa yang dimaksud dengan 'himpunan Scala'? Apa metode yang digunakan untuk mengekspresikan rangkaian operasi?
Set Scala adalah kumpulan elemen berpasangan dengan tipe yang sama. Set Scala tidak berisi elemen duplikat apa pun. Ada dua jenis set, yaitu yang dapat diubah dan yang tidak dapat diubah.
Unduh PDF Gratis: Pertanyaan & Jawaban Wawancara Scala >>
3) Apa itu 'peta Scala'?
Peta skala adalah kumpulan pasangan kunci atau nilai. Berdasarkan kuncinya, nilai apa pun dapat diambil. Nilai tidak unik tetapi kuncinya unik di Peta.
4) Apa kelebihan Scala?
Keuntungan dari Scala adalah:
- Less gaya fungsional rawan kesalahan
- Pemeliharaan dan produktivitas yang tinggi
- Skalabilitas tinggi
- Kemampuan untuk diuji tinggi
- Menyediakan fitur pemrograman bersamaan
5) Dalam hal apa Scala lebih baik dari bahasa pemrograman lainnya?
- Array menggunakan obat generik biasa, sedangkan dalam bahasa lain, obat generik dipasang sebagai renungan dan benar-benar terpisah tetapi memiliki perilaku yang tumpang tindih dengan array.
- Scala memiliki “val” yang tidak dapat diubah sebagai fitur bahasa kelas satu. "Val" dari scala mirip dengan Java variabel akhir. Konten dapat bermutasi tetapi referensi teratas tidak dapat diubah.
- Scala memungkinkan 'jika blok', 'loop hasil', dan 'kode' dalam kurung kurawal untuk mengembalikan nilai. Ini lebih disukai, dan menghilangkan kebutuhan akan operator ternary terpisah.
- Singleton memiliki objek tunggal daripada C++/Java/ C# klasik statis. Ini adalah solusi yang lebih bersih
- Koleksi persisten yang tidak dapat diubah adalah default dan dibangun ke dalam perpustakaan standar.
- Ini memiliki tupel asli dan kode ringkas
- Tidak ada kode pelat ketel
6) Apa saja variabel Scala?
Nilai dan variabel adalah dua bentuk yang muncul di Scala. Variabel nilai bersifat konstan dan tidak dapat diubah setelah ditetapkan. Variabel ini tidak dapat diubah, sedangkan variabel reguler, sebaliknya, dapat diubah, dan Anda dapat mengubah nilainya.
Kedua jenis variabel tersebut adalah
var myVar : Int=0;
val myVal: Int=1;
7) Sebutkan perbedaan antara objek dan kelas?
Kelas adalah definisi untuk deskripsi. Ini mendefinisikan suatu tipe dalam kaitannya dengan metode dan komposisi tipe lainnya. Kelas adalah cetak biru suatu objek. Sedangkan objek adalah singleton, turunan dari kelas yang unik. Kelas anonim dibuat untuk setiap objek dalam kode, ia mewarisi kelas apa pun yang Anda deklarasikan sebagai objek untuk diimplementasikan.
8) Apa yang dimaksud dengan ekor rekursi dalam skala?
'Rekursi' adalah fungsi yang memanggil dirinya sendiri. Suatu fungsi yang memanggil dirinya sendiri, misalnya fungsi 'A' memanggil fungsi 'B', yang memanggil fungsi 'C'. Ini adalah teknik yang sering digunakan dalam pemrograman fungsional. Agar terjadi rekursif ekor, pemanggilan kembali ke fungsi tersebut harus menjadi fungsi terakhir yang dijalankan.
9) Apa yang dimaksud dengan 'sifat scala' dalam scala?
'Sifat' digunakan untuk menentukan tipe objek yang ditentukan oleh tanda tangan metode yang didukung. Scala memungkinkan untuk diimplementasikan sebagian tetapi sifat mungkin tidak memiliki parameter konstruktor. Suatu sifat terdiri dari metode dan definisi bidang, dengan mencampurkannya ke dalam kelas maka dapat digunakan kembali.
10) Kapan Anda bisa menggunakan sifat?
Tidak ada aturan khusus kapan Anda dapat menggunakan sifat, namun ada pedoman yang dapat Anda pertimbangkan.
- Jika perilaku tersebut tidak akan digunakan kembali, maka jadikanlah itu kelas yang konkret. Bagaimanapun itu bukanlah perilaku yang dapat digunakan kembali.
- Untuk mewarisi darinya Java kode, kelas abstrak dapat digunakan.
- Jika efisiensi adalah prioritas maka condonglah ke arah penggunaan kelas
- Jadikan itu suatu sifat jika dapat digunakan kembali di beberapa kelas dan tidak berhubungan. Di berbagai bagian hierarki kelas, hanya ciri-ciri yang dapat dicampur ke dalam bagian-bagian berbeda.
- Anda dapat menggunakan kelas abstrak, jika Anda ingin mendistribusikannya dalam bentuk terkompilasi dan mengharapkan kelompok luar untuk menulis kelas yang mewarisinya.
Pertanyaan Wawancara Scala untuk Berpengalaman
11) Apa itu Kelas Kasus?
Kelas kasus menyediakan mekanisme dekomposisi rekursif melalui pencocokan pola, ini adalah kelas reguler yang mengekspor parameter konstruktornya. Parameter konstruktor kelas kasus dapat diakses secara langsung dan diperlakukan sebagai nilai publik.
12) Apa gunanya tupel dalam skala?
Scala tuple menggabungkan sejumlah item yang tetap sehingga item tersebut dapat diedarkan secara keseluruhan. Tuple tidak dapat diubah dan dapat menampung objek dengan tipe berbeda, tidak seperti array atau daftar.
13) Apa fungsi kari di Scala?
Currying adalah teknik mengubah fungsi yang menggunakan banyak argumen menjadi fungsi yang menggunakan satu argumen. Banyak teknik yang sama seperti bahasa seperti Haskell dan LISP didukung oleh Scala. Fungsi kari adalah salah satu fungsi yang paling jarang digunakan dan disalahpahami.
14) Apa saja parameter implisit di Scala?
Parameter implisit adalah cara yang memungkinkan parameter suatu metode “ditemukan”. Ini mirip dengan parameter default, tetapi memiliki mekanisme berbeda untuk menemukan nilai “default”. Parameter implisit adalah parameter metode atau konstruktor yang ditandai sebagai implisit. Artinya jika nilai parameter tidak disebutkan maka kompiler akan mencari nilai “implisit” yang ditentukan dalam suatu cakupan.
15) Apa yang dimaksud dengan penutupan di Scala?
Penutupan adalah suatu fungsi yang nilai kembaliannya bergantung pada nilai variabel yang dideklarasikan di luar fungsi tersebut.
16) Apa itu Monad di Scala?
Monad adalah objek yang membungkus objek lain. Anda meneruskan program mini Monad, yaitu fungsi, untuk melakukan manipulasi data pada objek yang mendasarinya, alih-alih memanipulasi objek secara langsung. Monad memilih cara menerapkan program ke objek yang mendasarinya.
17) Apa itu fungsi anonim Scala?
Dalam kode sumber, fungsi anonim disebut 'fungsi literal' dan pada saat dijalankan, fungsi literal dipakai menjadi objek yang disebut nilai fungsi. Scala menyediakan sintaks yang relatif mudah untuk mendefinisikan fungsi anonim.
18) Jelaskan fungsi 'Scala tingkat tinggi'?
Scala memungkinkan definisi fungsi tingkat tinggi. Fungsi ini adalah fungsi yang mengambil fungsi lain sebagai parameter, atau yang hasilnya adalah suatu fungsi. Dalam contoh berikut, fungsi apply() mengambil fungsi lain 'f' dan nilai 'v' dan menerapkan fungsi ke v.
Contoh:
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() + "]"
Ketika kode di atas dikompilasi dan dijalankan, ia menghasilkan hasil berikut.
C:/>scalac Test.scala C:/>scala Test [10] C:/>
19) Apa perbedaan antara var dan nilai?
Dalam scala, Anda dapat mendefinisikan variabel menggunakan kata kunci a, val, atau var. Perbedaan antara val dan var adalah, var mirip dengan deklarasi java, tetapi val sedikit berbeda. Kita tidak dapat mengubah referensi untuk menunjuk ke referensi lain, setelah variabel dideklarasikan menggunakan val. Variabel yang didefinisikan menggunakan kata kunci var dapat berubah dan dapat diubah berkali-kali.
20) Apa yang dimaksud dengan pilihan, beberapa dan tidak ada dalam skala?
'Opsi' adalah tipe generik Scala yang dapat berupa nilai generik 'beberapa' atau tidak sama sekali. 'Antrian' sering menggunakannya untuk mewakili primitif yang mungkin nol.
21) Bagaimana cara saya menambahkan ke daftar?
Dalam skala untuk menambahkan ke dalam daftar, gunakan “:+” single value
var myList = List.empty[String] myList :+= "a" myList :+= "b" myList :+= "c" use++ for appending a list var myList = List.empty[String] myList ++= List("a", "b", "c")
22) Bagaimana cara memformat string?
Untuk memformat string, gunakan metode .format(), dalam skala yang dapat Anda gunakan
Val formatted= “%s %i”.format (mystring.myInt)
23) Mengapa scala lebih menyukai kekekalan?
Scala lebih menyukai kekekalan dalam desain dan dalam banyak kasus menggunakannya sebagai default. Kekekalan dapat membantu ketika menangani masalah kesetaraan atau program yang dilakukan secara bersamaan.
24) Apa saja empat jenis pengidentifikasi skala?
Keempat jenis pengenal tersebut adalah
- Pengidentifikasi numerik alfa
- Operapengidentifikasi tor
- Pengidentifikasi campuran
- Pengidentifikasi literal
25) Apa sajakah jenis literal Scala?
Berbagai jenis literal dalam skala adalah
- Literal bilangan bulat
- Literal titik mengambang
- Literal Boolean
- Simbol literal
- Literal karakter
- Literal string
- String Multi-Baris
Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)