JavaRush /Blog Java /Random-MS /Tahap 36. Jawapan kepada soalan temu bual mengenai topik ...
lichMax
Tahap
Санкт-Петербург

Tahap 36. Jawapan kepada soalan temu bual mengenai topik tahap

Diterbitkan dalam kumpulan
Sekali lagi, saya melihat segala-galanya dan tidak menemui sebarang jawapan. Baiklah. Saya akan menyiarkan saya, walaupun saya menulisnya semata-mata untuk diri saya sendiri, dan jika boleh, secara ringkas. Tetapi apa-apa adalah lebih baik daripada tiada. Jadi, terdapat soalan berikut: Tahap 36.  Jawapan kepada soalan untuk temu bual pada topik tahap - 1Soalan untuk temu duga:
  1. Apa itu MVC ?
  2. Apakah DAO dan DTO ?
  3. Apa itu POJO ?
  4. Apa itu Entiti ?
  5. Apakah koleksi senarai yang anda tahu?
  6. Apakah koleksi-set yang anda tahu?
  7. Apakah itu peta , bagaimanakah ia berbeza daripada " kamus "?
  8. Apakah itu Queue dan Dequeue ?
  9. Apakah kelas yang melaksanakan antara muka Queue yang anda tahu?
  10. Apa itu pokok ?
Dan sekarang jawapan saya:
  1. MVC ialah corak reka bentuk aplikasi di mana aplikasi dibahagikan kepada tiga bahagian berasingan: model, paparan dan pengawal. Model menyediakan data dan bertindak balas kepada arahan pengawal dengan menukar keadaannya. Pandangan bertanggungjawab untuk memaparkan data model kepada pengguna, bertindak balas terhadap perubahan dalam model. Dan pengawal mentafsir tindakan pengguna, memberitahu model tentang keperluan untuk perubahan. Oleh itu, setiap komponen litar ini digandingkan secara longgar dengan komponen lain, dengan itu mencapai fleksibiliti program. Selalunya, semua logik perniagaan terkandung dalam model, walaupun kadangkala ia juga terkandung dalam pengawal. Dalam kes pertama, model itu dipanggil nipis, dalam yang kedua - tebal.

  2. DAO (Data Access Object) ialah objek yang tugas utamanya adalah untuk menyimpan data ke dalam pangkalan data, serta mendapatkannya daripadanya. DTO (Data Transfer Object) ialah objek yang direka untuk mengangkut data. Oleh itu, tugas utamanya adalah untuk menyimpan data ini. Ia tidak mengandungi sebarang logik. Di samping itu, ia mesti boleh bersiri, kerana mengangkut objek biasanya berlaku melalui pensirilan-deserialisasi.

  3. POJO adalah singkatan dari "Old Style Java Object". Mereka berbeza dengan objek EJB. Yang terakhir mengikuti konvensyen khas dan biasanya terikat ketat dengan rangka kerja perusahaan tertentu (contohnya, mereka mesti mempunyai pembina awam tanpa parameter, mereka mesti mempunyai getter dan setter untuk medan, mereka mesti boleh bersiri, dll.). POJO, sewajarnya, adalah kelas biasa yang tidak mewarisi mana-mana kelas khas dan tidak melaksanakan mana-mana perpustakaan khas. Biasanya POJO tidak melakukan sesuatu yang istimewa dan hanya mengandungi keadaan.

  4. Entity Bean — это бин, цель которого хранить некоторые данные. В логику такого бина встроен механизм сохранения себя и своих полей в базу данных. Такой an object может быть уничтожен, а потом воссоздан из базы заново. Но кроме хранения данных у него нет ниHowой логики. А бин в свою очередь — это особый класс, которые должен выполнять следующие правила:

    • Класс должен иметь конструктор без параметров, с модификатором доступа public. Такой конструктор позволяет инструментам создать an object без дополнительных сложностей с параметрами.
    • Свойства класса должны быть доступны через get, set и другие методы (так называемые методы доступа), которые должны подчиняться стандартному соглашению об именах. Это легко позволяет инструментам автоматически определять и обновлять содержание bean’ов. Многие инструменты даже имеют специализированные редакторы для различных типов свойств.
    • Класс должен быть сериализуем. Это даёт возможность надёжно сохранять, хранить и восстанавливать состояние bean независимым от платформы и виртуальной машины способом.
    • Класс должен иметь переопределенные методы equals(), hashCode() и toString().
  5. Все коллекции-списки реализуют интерфейс List<E> и наследуются от абстрактного класса AbstractList<E>. Среди них можно выделить ArrayList<E> и LinkedList<E7gt;. ArrayList7lt;E> — это список, основаный на массиве, а LinkedList<E> — это классический двусвязный список.

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

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

  8. Baris Gilir ialah struktur data yang beroperasi atas dasar masuk dahulu, keluar dahulu. Iaitu, elemen ditambahkan pada baris gilir dari satu hujung dan dikeluarkan dari yang lain. Deque ialah barisan dua hala. Dalam baris gilir ini, elemen boleh ditambah pada permulaan dan ke penghujung, dan anda juga boleh mengambil elemen dari kedua-dua permulaan dan penghujung baris gilir. Sehubungan itu, terdapat kaedah yang membolehkan anda menambah elemen (ini ialah kaedah tambah(e) dan tawaran(e)), dan terdapat kaedah yang membolehkan anda mengalih keluar elemen daripada baris gilir (ini adalah kaedah seperti remove( ) dan tinjauan pendapat()). Di samping itu, terdapat kaedah yang membolehkan anda hanya mendapatkan elemen dari baris gilir tanpa mengeluarkannya dari sana (ini ialah kaedah elemen() dan peek()). Antara muka Deque juga mempunyai kaedah untuk menambah elemen pada permulaan dan penghujung baris gilir, mendapatkan semula elemen dari awal atau akhir, dan mendapatkan elemen dari awal atau akhir baris gilir (tanpa mengalihkannya daripada baris gilir).

  9. Pelaksanaan mudah termasuk ArrayDeque , LinkedList dan PriorityQueue . Terdapat juga banyak kelas dalam Koleksi Serentak yang melaksanakan kedua-dua antara muka ini (kedua-duanya sekali atau hanya satu daripadanya).

  10. Pokok ialah graf bersambung tanpa gelung atau berbilang tepi. Biasanya, jika terdapat N bucu dalam pokok, maka bilangan tepi adalah sekurang-kurangnya N-1. Juga, satu bucu dalam pokok dipilih sebagai akar. Bucu yang selebihnya diisytiharkan sebagai cawangan. Cawangan yang tidak mempunyai dahan sendiri dipanggil daun pokok.
    Pokok digunakan secara meluas dalam pengaturcaraan, dan banyak jenis pokok ini telah dicipta. Salah satu pokok yang paling banyak digunakan ialah pokok binari. Dalam pokok ini, setiap elemen mempunyai paling banyak dua anak (iaitu, boleh ada dari 0 hingga 2). Satu jenis pokok binari ialah BST - pokok carian binari. Dalam pokok ini, peraturan dikenakan ke atas unsur: anak kiri unsur mestilah kurang daripada nilainya, dan anak kanan mesti lebih besar daripada atau sama dengan nilainya.
    Terdapat juga pokok merah-hitam. Ini adalah jenis pepohon carian binari. Dalam pokok merah-hitam, satu lagi sifat unsur diperkenalkan - warna. Warna boleh hitam atau merah. Selain itu, setiap pokok merah-hitam mesti memenuhi keperluan berikut:

    1. akar pokok itu hitam;
    2. nod sama ada merah atau hitam;
    3. semua daun pokok itu hitam;
    4. kedua-dua keturunan nod merah adalah hitam;
    5. Setiap laluan dari nod yang diberikan kepada mana-mana nod daun yang merupakan keturunannya mengandungi bilangan nod hitam yang sama.
Peraturan ini membolehkan anda mencapai pokok yang seimbang. Sebatang pokok adalah seimbang apabila panjang laluan dari akar ke mana-mana nod daun berbeza tidak lebih daripada 1. (Iaitu, secara ringkas, tiada herotan atau cabang panjang dalam pokok itu.)
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION