JavaRush /Java Blog /Random-ID /Rehat kopi #101. 19 Pertanyaan Wawancara Penting Java dan...

Rehat kopi #101. 19 Pertanyaan Wawancara Penting Java dan Contoh Jawaban Singkat

Dipublikasikan di grup Random-ID
Sumber: Hackernoon Berikut beberapa pertanyaan dan jawaban yang sering muncul dalam wawancara Java.

1. Apa itu Java Development Kit (JDK)?

JDK adalah kit pengembangan perangkat lunak yang mencakup alat dan perpustakaan yang diperlukan untuk mengembangkan aplikasi Java.

2. Apa yang dilakukan Java Runtime Environment (JRE)?

JRE mengacu pada Runtime Environment tempat bytecode Java dijalankan. JRE memelihara file dan perpustakaan untuk runtime.

3. Apa yang dilakukan Java Virtual Machine (JVM)?

JVM adalah mesin abstrak yang menyediakan lingkungan runtime di mana bytecode Java dapat dieksekusi.

4. Java tidak bergantung pada platform. Mengapa?

Dalam bahasa pemrograman lain, kode sumber dikompilasi menjadi kode yang dapat dieksekusi, dan kode tersebut mungkin tidak berjalan di semua platform. Dengan menggunakan JVM kita dapat membuat bytecode dapat dimengerti oleh platform apa pun dan bytecode ini tidak bergantung pada platform. Meskipun JVM berbeda untuk setiap platform, Java merupakan platform independen karena tidak memiliki ketergantungan pada jenis platform apa pun.

5. Java tidak 100% berorientasi objek. Mengapa?

Karena Java menggunakan delapan tipe data primitif seperti boolean, byte, char, int, float, double, long, short yang bukan merupakan objek.

6. Apa yang dimaksud dengan konstruktor di Java?

Konstruktor adalah blok kode yang digunakan untuk menginisialisasi objek. Sintaksis:
class DemoClass
{
   // constructor name is same as class name
   DemoClass()
   {
      ....
   }
}
// calls DemoClass() constructor
DemoClass obj = new DemoClass();
Contoh:
public class ConstructorDemo
{
   int a; // class attribute
   // create constructor for class ConstructorDemo
   ConstructorDemo()
   {
      a = 26; // initial value for class attribute 'a'
   }
   public static void main(String[] args)
   {
      // creating object for ConstructorDemo class
      // here we're calling constructor ConstructorDemo()
      ConstructorDemo obj = new ConstructorDemo();
      System.out.println(obj.a);
   }
}
Hasil:
26

7. Apa yang dilakukan kelas tunggal?

Kelas singleton hanya dapat memiliki satu objek (contoh kelas) dalam satu waktu. Setelah objek dibuat dan kita mencoba membuat instance kelas singleton , variabel baru juga menunjuk ke objek pertama yang dibuat.

8. Apa kelas wrapper di Java?

Kelas wrapper memungkinkan tipe data primitif dikonversi menjadi objek dan sebaliknya. Contoh:
int a = 7; // using primitive datatype
Integer a = new Integer(7); // using wrapper class

9. Apa perbedaan antara operator == dan metode kesetaraan di Java?

Secara umum, == adalah operator dan sama dengan() adalah sebuah metode. Kami menggunakan operator == untuk referensi perbandingan objek di heap. Tidak ada konsep kelebihan operator di Java. Meskipun demikian, operator == digunakan untuk memeriksa apakah alamat dua objek sama atau tidak. Artinya, operator == memeriksa apakah kedua objek menunjuk ke lokasi memori yang sama atau tidak. Operator == juga digunakan untuk membandingkan tipe objek dan tipe primitif seperti boolean. Sedangkan metode sama dengan() kelas String membandingkan isi dua objek.

10. Apa saja konsep OOP di Java?

  • Abstraksi didefinisikan sebagai menyembunyikan implementasi internal dan hanya menampilkan informasi yang diperlukan.
  • Warisan adalah prosedur mengubah semua properti dan perilaku kelas induk (superkelas) menjadi kelas anak (subkelas).
  • Enkapsulasi adalah prosedur mengikat data atau variabel dan metode bersama-sama.
  • Polimorfisme secara harafiah berarti banyak bentuk. Polimorfisme adalah kemampuan suatu metode untuk melakukan tugas yang berbeda. Hal ini dapat dicapai dengan menggunakan metode.

11. Mengapa metode main() selalu statis di Java?

Karena tidak perlu memanggil metode statis pada suatu objek. Jika main() adalah metode non-statis, Mesin Virtual Java harus terlebih dahulu membuat objeknya lalu memanggil metode main() , yang akan menyebabkan alokasi memori tambahan.

12. Mengapa string tidak dapat diubah di Java?

String di Java tidak dapat diubah karena objek String di-cache di kumpulan konstanta string .

13. Apa itu array dan ArrayList di Java?

Array adalah objek yang berisi sejumlah elemen dengan tipe serupa.
  1. ArrayList adalah bagian dari struktur koleksi.

  2. ArrayList mengimplementasikan antarmuka daftar.

  3. ArrayList adalah array terukur yang tumbuh secara dinamis saat elemen ditambahkan dan menyusut saat elemen dihapus.

  4. Untuk operasi pengambilan yang sering, Java ArrayList adalah pilihan terbaik . Karena elemen ArrayList disimpan di lokasi memori yang berurutan.

  5. ArrayList tidak boleh berisi tipe data primitif seperti int, double, char dan long.

  6. ArrayList dapat berisi objek kelas String dan pembungkus ( Double , Integer ).

  7. ArrayList memungkinkan Anda menduplikasi elemen.

  8. ArrayList mempertahankan urutan penyisipan.

  9. ArrayList banyak digunakan karena fungsionalitas dan fleksibilitasnya. Ini dirancang untuk menyimpan koleksi objek yang heterogen.

  10. ArrayList dapat memiliki sejumlah nilai null.

14. Apa perbedaan antara HashSet dan HashMap di Java?

Dalam HashSet :
  1. Kita dapat menyimpan objek dalam HashSet . Misalnya, HashSet: {"Halo", "Dunia"} .

  2. Perintah penyisipan tidak dipertahankan. Ini berbasis kode hash.

  3. Memiliki metode add() .

  4. Mengimplementasikan antarmuka Set .

  5. Tidak mengizinkan elemen duplikat.

  6. Mengizinkan satu nilai nol.

Di HashMap :
  1. Di HashMap kita dapat menyimpan pasangan kunci dan nilai. Misalnya, {1 -> “Halo”, 2 -> “Dunia”} .

  2. Tidak mendukung perintah penyisipan. Hal ini didasarkan pada fungsi hashing.

  3. Memiliki metode put() .

  4. Mengimplementasikan antarmuka peta.

  5. Memungkinkan nilai duplikat. Tidak mengizinkan kunci duplikat.

  6. Mengizinkan satu kunci nol dan sejumlah nilai nol.

16. Apa perbedaan antara ini dan super di Jawa?

Kata kunci this di Java:
  1. ini adalah kata kunci yang merupakan variabel referensi yang merujuk ke objek saat ini.

  2. Dapat digunakan untuk memanggil metode kelas saat ini secara implisit.

  3. Kata kunci this() , digunakan untuk memanggil konstruktor kelas saat ini.

  4. Ini dapat digunakan sebagai argumen saat memanggil suatu metode.

Kata kunci super di Java:
  1. Kata kunci super adalah variabel referensi yang digunakan untuk merujuk ke objek langsung dari kelas induk.

  2. super dapat digunakan untuk memanggil langsung metode kelas induk, konstruktor kelas induk, dan mengakses metode kelas dasar.

17. Apa yang dimaksud dengan pernyataan break dan continue di Java?

Jika pernyataan break terjadi dalam suatu perulangan, perulangan akan berakhir dan kontrol akan diteruskan ke pernyataan berikutnya dalam perulangan yang sama. Contoh:
public class Example
{
   public static void main(String[] args)
   {
      for(int a = 1; a <= 10; a++)
      {
         if(a == 3)
         {
            // breaking loop
            break;
         }
         System.out.println(a);
      }
   }
}
Hasil:
12
Pernyataan continue berpindah ke iterasi perulangan berikutnya tergantung pada kondisi tertentu. Contoh:
public class Example
{
   public static void main(String[] args)
   {
      for(int a = 1; a <= 10; a++)
      {
         if(a % 2 != 0)
         {
            continue;
         }
         System.out.println(a + " ");
      }
   }
}
Hasil:
2 4 6 8 10

18. Apa yang dimaksud dengan pengubah akses di Java?

Pengubah akses menentukan batas atau cakupan variabel, konstruktor, kelas, atau metode. Ada empat jenis pengubah akses di Java:
  1. Pengubah akses pribadi.
  2. Pengubah akses yang dilindungi.
  3. Pengubah berbagi.
  4. Pengubah akses default.

19. Apa perbedaan antara for loop dan for every loop di Java?

untuk lingkaran :
  1. Tidak memiliki urutan yang dapat dieksekusi. Pada perulangan for, kita dapat mengubah counter sesuai keinginan.
  2. Muncul di awal, di JDK 1.
  3. Tidak perlu mengimplementasikan antarmuka.
  4. Dapat memiliki akses ke indeks. Oleh karena itu, dimungkinkan untuk mengganti elemen dalam array.
  5. Penghitungnya bisa bertambah dan berkurang.
Untuk setiap putaran :
  1. Dilakukan secara berurutan. Penghitungnya bertambah satu.
  2. Pertama kali muncul di JDK 5.
  3. Untuk melakukan iterasi pada container menggunakan perulangan for-each, container harus mengimplementasikan antarmuka Iterable.
  4. Elemen pada indeks ini tidak dapat diganti karena indeks array tidak dapat diakses.
  5. Hanya dapat melakukan iterasi dalam urutan menaik, tidak dapat menurunkan.
Contoh perbedaan antara perulangan for dan for :
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class DifferenceBetween
{
   public static void main(String[] args)
   {
      List<String> players = new ArrayList<>(Arrays.asList("Virat", "Rohit", "Dhoni"));
      // iterate over List using for loop
      System.out.println("using for loop: ");
      for(int a = 0; a < players.size(); a++)
      {
         System.out.println(players.get(a));
      }
      // iterate over List using enhanced for loop
      System.out.println("using for each loop: ");
      for(String str : players)
      {
         System.out.println(str);
      }
   }
}
Hasil untuk dan untuk setiap loop:
Virat Rohit Dhoni.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION