JavaRush /Java Blog /Random-ID /tingkat 36. Jawaban atas pertanyaan wawancara tentang top...
lichMax
Level 40
Санкт-Петербург

tingkat 36. Jawaban atas pertanyaan wawancara tentang topik level

Dipublikasikan di grup Random-ID
Sekali lagi, saya mencari semuanya dan tidak menemukan jawaban apa pun. Dengan baik. Saya akan memposting milik saya, meskipun saya menulisnya murni untuk diri saya sendiri, dan jika memungkinkan, secara singkat. Tapi segalanya lebih baik daripada tidak sama sekali. Jadi, ada pertanyaan-pertanyaan berikut: tingkat 36.  Jawaban atas pertanyaan wawancara pada topik level - 1Pertanyaan untuk wawancara:
  1. Apa itu MVC ?
  2. Apa itu DAO dan DTO ?
  3. Apa itu POJO ?
  4. Apa itu Entitas ?
  5. Koleksi daftar apa yang Anda ketahui?
  6. Kumpulan koleksi apa yang Anda ketahui?
  7. Apa itu peta , apa bedanya dengan “ kamus ”?
  8. Apa itu Antrian dan Dequeue ?
  9. Kelas apa yang mengimplementasikan antarmuka Antrian yang Anda ketahui?
  10. Apa itu pohon ?
Dan sekarang jawaban saya:
  1. MVC adalah pola desain aplikasi di mana aplikasi dibagi menjadi tiga bagian terpisah: model, tampilan, dan pengontrol. Model menyediakan data dan merespons perintah pengontrol dengan mengubah statusnya. Tampilan bertanggung jawab untuk menampilkan data model kepada pengguna, merespons perubahan model. Dan pengontrol menafsirkan tindakan pengguna, memberi tahu model tentang perlunya perubahan. Dengan demikian, masing-masing komponen rangkaian ini digabungkan secara longgar dengan komponen lain, sehingga mencapai fleksibilitas program. Seringkali, semua logika bisnis terdapat dalam model, meskipun terkadang juga terdapat dalam pengontrol. Dalam kasus pertama, modelnya disebut tipis, yang terakhir - tebal.

  2. DAO (Objek Akses Data) adalah objek yang tugas utamanya adalah menyimpan data ke dalam database, serta mengambilnya dari database. DTO (Data Transfer Object) adalah objek yang dirancang untuk mengangkut data. Oleh karena itu, tugas utamanya adalah menyimpan data ini. Itu tidak mengandung logika apa pun. Selain itu, harus serializable, karena pengangkutan objek biasanya dilakukan menggunakan serialisasi-deserialisasi.

  3. POJO adalah singkatan dari "Objek Java Gaya Lama". Mereka dikontraskan dengan objek EJB. Yang terakhir mengikuti konvensi khusus dan biasanya terikat erat dengan kerangka kerja perusahaan tertentu (misalnya, mereka harus memiliki konstruktor publik tanpa parameter, mereka harus memiliki pengambil dan penyetel untuk bidang, mereka harus dapat diserialkan, dll.). Oleh karena itu, POJO adalah kelas reguler yang tidak mewarisi kelas khusus apa pun dan tidak mengimplementasikan perpustakaan khusus apa pun. Biasanya POJO tidak melakukan sesuatu yang istimewa dan hanya berisi status.

  4. Entity Bean adalah kacang yang tujuannya adalah untuk menyimpan beberapa data. Logika kacang tersebut memiliki mekanisme bawaan untuk menyimpan dirinya sendiri dan bidangnya ke database. Objek seperti itu dapat dimusnahkan dan kemudian dibuat kembali dari database. Tapi selain menyimpan data, tidak ada logikanya. Kacang, pada gilirannya, adalah kelas khusus yang harus mematuhi aturan berikut:

    • Kelas harus memiliki konstruktor tanpa parameter dengan pengubah akses publik. Konstruktor ini memungkinkan alat untuk membuat objek tanpa menambah kompleksitas parameter.
    • Properti suatu kelas harus dapat diakses melalui get, set, dan metode lain (disebut pengakses), yang harus mengikuti konvensi penamaan standar. Hal ini dengan mudah memungkinkan alat untuk secara otomatis mendeteksi dan memperbarui konten kacang. Banyak alat bahkan memiliki editor khusus untuk berbagai jenis properti.
    • Kelas harus dapat diserialkan. Hal ini memungkinkan penyimpanan, penyimpanan, dan pemulihan status kacang secara andal dengan cara yang tidak bergantung pada platform dan mesin virtual.
    • Kelas harus memiliki metode sama dengan(), hashCode() dan toString() yang diganti.
  5. Semua koleksi daftar mengimplementasikan antarmuka Daftar<E> dan mewarisi dari kelas abstrak AbstrakList<E>. Diantaranya adalah ArrayList<E> dan LinkedList<E7gt;. ArrayList7lt;E> adalah daftar berbasis array, sedangkan LinkedList<E> adalah daftar tertaut ganda klasik.

  6. Коллекции-множества в Java реализуют интерфейс Set<E> и наследуются от AbstractSet<E>. Множества — это такие наборы данных, в которых все элементы уникальны. Среди них в Java есть HashSet, LinkedHashSet и TreeSet. Первая коллекция хранит свои an objectы на основе хеш-codeов. Вторая — это модифицированная первая, в ней элементы ещё к тому же располагаются в связном списке, поэтому они все расположены в порядке добавления. Третья коллекция обеспечивает сортировку своих элементов.

  7. Map — это вид коллекций, хранящих свои элементы в виде пар "ключ-значения". Причём все ключи должны быть уникальными. Среди реализаций есть HashMap и TreeMap. Первая реализация хранит элементы с использованием хэш-codeов. Вторая - хранит элементы в отсортированном по ключу порядке.

  8. Очередь (Queue) — это структура данных, работающая по принципу "Первый вошёл — первый вышел". То есть элементы в очередь добавляются с одного конца, а извлекаются — с другого. Deque — это двусторонняя очередь. В этой очереди элементы можно добавлять How в начало, так и в конец, а также брать элементы тоже можно и из начала, и из конца очереди. Соответственно есть методы, которые позволяю положить элемент (это методы add(e) и offer(e)), и есть методы, позволяющие извлечь элемент из очереди (это такие методы, How remove() и poll()). Кроме того, есть методы, которые позволяют просто получить элемент из очереди без его удаления оттуда (это методы element() и peek()). В интерфейсе Deque дополнительно есть методы для добавления элементов в начало и конец очереди, извлечения элементов из начала or конца, а также получения элементов из начала or конца очереди (без их удаления из очереди).

  9. Среди простых реализаций можно отметить ArrayDeque, LinkedList и PriorityQueue. Также существуют много классов в Concurrent Collections, которые реализуют эти два интерфейса (оба сразу or только один из них).

  10. Pohon adalah graf terhubung tanpa loop atau banyak sisi. Biasanya, jika terdapat N simpul dalam sebuah pohon, maka jumlah sisinya paling sedikit N-1. Selain itu, satu titik pada pohon dipilih sebagai akar. Simpul yang tersisa dinyatakan sebagai cabang. Cabang yang tidak mempunyai cabang sendiri disebut daun pohon.
    Pohon digunakan cukup luas dalam pemrograman, dan banyak jenis pohon ini telah ditemukan. Salah satu pohon yang paling banyak digunakan adalah pohon biner. Di pohon ini, setiap elemen memiliki paling banyak dua anak (yaitu, bisa dari 0 hingga 2). Salah satu jenis pohon biner adalah BST - pohon pencarian biner. Dalam pohon ini, aturan diberlakukan pada elemen: anak kiri dari elemen harus lebih kecil dari nilainya, dan anak kanan harus lebih besar atau sama dengan nilainya.
    Ada juga pohon berwarna merah kehitaman. Ini adalah jenis pohon pencarian biner. Properti elemen lain diperkenalkan ke pohon merah dan hitam - warna. Warnanya bisa hitam atau merah. Selain itu, setiap pohon merah-hitam harus memenuhi persyaratan berikut:

    1. akar pohonnya berwarna hitam;
    2. simpulnya berwarna merah atau hitam;
    3. semua daun pohon itu berwarna hitam;
    4. kedua keturunan simpul merah berwarna hitam;
    5. Setiap jalur dari node tertentu ke node daun mana pun yang merupakan turunannya berisi jumlah node hitam yang sama.
Aturan-aturan ini memungkinkan Anda mencapai pohon yang seimbang. Sebuah pohon dikatakan seimbang jika panjang jalur dari akar ke simpul daun mana pun berbeda tidak lebih dari 1. (Artinya, secara sederhana, tidak ada distorsi atau cabang panjang pada pohon.)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION