JavaRush /Java блогы /Random-KK /36-деңгей. Деңгейлік тақырып бойынша сұхбат сұрақтарына ж...
lichMax
Деңгей
Санкт-Петербург

36-деңгей. Деңгейлік тақырып бойынша сұхбат сұрақтарына жауап беру

Топта жарияланған
Қайтадан мен бәрін іздедім және ешқандай жауап таба алмадым. Сонымен. Мен өзімді жариялаймын, бірақ мен оларды тек өзім үшін жаздым және мүмкін болса, қысқаша. Бірақ бәрі жоқтан жақсы. Сонымен, келесі сұрақтар туындады: 36-деңгей.  Деңгейдегі сұхбат үшін сұрақтарға жауаптар – 1 тақырыпСұхбатқа қойылатын сұрақтар:
  1. MVC дегеніміз не ?
  2. DAO және DTO дегеніміз не ?
  3. POJO дегеніміз не ?
  4. Entity дегеніміз не ?
  5. Сіз қандай тізім топтамаларын білесіз?
  6. Қандай топтамаларды білесіңдер?
  7. Карта дегеніміз не , оның « сөздіктен » айырмашылығы неде ?
  8. Кезек және кезек дегеніміз не ?
  9. Queeue интерфейсін жүзеге асыратын қандай класстарды білесіз?
  10. Ағаш дегеніміз не ?
Ал енді менің жауаптарым:
  1. MVC — қолданба үш бөлек бөлікке бөлінген қолданба дизайны үлгісі: үлгі, көрініс және контроллер. Модель деректерді береді және оның күйін өзгерту арқылы контроллер командаларына жауап береді. Көрініс үлгі деректерін пайдаланушыға көрсетуге, үлгідегі өзгерістерге жауап беруге жауап береді. Ал контроллер модельді өзгерту қажеттілігі туралы хабардар ете отырып, пайдаланушының әрекеттерін түсіндіреді. Осылайша, осы схеманың құрамдастарының әрқайсысы басқа компоненттермен еркін байланыста болады, осылайша бағдарлама икемділігіне қол жеткізіледі. Көбінесе барлық бизнес логикасы модельде болады, бірақ кейде ол контроллерде де болады. Бірінші жағдайда модель жұқа деп аталады, соңғысы - қалың.

  2. DAO (Data Access Object) – негізгі міндеті мәліметтер қорына деректерді сақтау, сонымен қатар оны одан шығарып алу болып табылатын an object. DTO (Data Transfer Object) – деректерді тасымалдауға арналған an object. Сондықтан оның негізгі міндеті осы деректерді сақтау болып табылады. Онда ешқандай логика жоқ. Бұған қоса, ол сериялануы керек, өйткені нысандарды тасымалдау әдетте сериялау-серияландыруды пайдалану арқылы жүзеге асырылады.

  3. POJO «Ескі стильдегі Java нысаны» дегенді білдіреді. Олар EJB нысандарына қарама-қарсы қойылады. Соңғылары арнайы конвенцияны ұстанады және әдетте нақты кәсіпорын құрылымымен қатаң байланыстырылады (мысалы, оларда параметрлері жоқ жалпы конструктор болуы керек, оларда өрістер үшін алғыштар мен орнатушылар болуы керек, олар сериялануы керек және т.б.). POJO, сәйкесінше, ешқандай арнайы сыныптардан мұраланbyteын және ешқандай арнайы кітапханаларды іске асырмайтын кәдімгі сынып. Әдетте POJO ерекше ештеңе жасамайды және тек күйді қамтиды.

  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. Кезек – бірінші кірген, бірінші шығатын негізінде жұмыс істейтін деректер құрылымы. Яғни, элементтер кезекке бір шетінен қосылып, екіншісінен жойылады. Deque - екі жақты кезек. Бұл кезекте элементтерді басына да, аяғына да қосуға болады, сонымен қатар элементтерді кезектің басынан да, соңынан да алуға болады. Тиісінше, элементті қосуға мүмкіндік беретін әдістер бар (бұл add(e) және offer(e) әдістері) және элементті кезектен жоюға мүмкіндік беретін әдістер бар (бұл жою( сияқты әдістер) ) және сауалнама()). Бұған қоса, элементті кезектен алып тастамай-ақ жай ғана алуға мүмкіндік беретін әдістер бар (бұл element() және peek() әдістері). Deque интерфейсінде қосымша элементтерді кезектің басы мен соңына қосу, элементтерді басынан немесе аяғынан алу және элементтерді кезектің басынан немесе соңынан алу әдістері бар (оларды кезектен жоймай).

  9. Қарапайым іске асыруға ArrayDeque , LinkedList және PriorityQueue кіреді . Сонымен қатар Concurrent Collections ішінде осы екі интерфейсті жүзеге асыратын көптеген сыныптар бар (бірден немесе олардың біреуі ғана).

  10. Ағаш - ілмектер немесе бірнеше жиектері жоқ жалғанған график. Әдетте, ағашта N шыңы болса, онда жиектер саны кем дегенде N-1 болады. Сондай-ақ, тамыр ретінде ағаштың бір шыңы таңдалады. Қалған шыңдар тармақтар деп жарияланады. Өзіндік бұтақтары жоқ бұтақтарды ағаш жапырақтары деп атайды.
    Ағаштар бағдарламалауда кеңінен қолданылады және бұл ағаштың көптеген түрлері ойлап табылған. Ең көп қолданылатын ағаштардың бірі - екілік ағаш. Бұл ағашта әрбір элементте ең көбі екі еншілес болады (яғни, 0-ден 2-ге дейін болуы мүмкін). Екілік ағаштың бір түрі BST – екілік іздеу ағашы. Бұл ағашта элементтерге ереже жүктеледі: элементтің сол жақ еншілес бөлігі мәні бойынша одан кіші болуы керек, ал оң жақ еншілес мәні одан үлкен немесе оған тең болуы керек.
    Сондай-ақ қызыл-қара ағаштар бар. Бұл екілік іздеу ағашының бір түрі. Қызыл-қара ағаштарда элементтің тағы бір қасиеті енгізіледі - түс. Түсі қара немесе қызыл болуы мүмкін. Сондай-ақ, әрбір қызыл-қара ағаш келесі талаптарды қанағаттандыруы керек:

    1. ағаштың тамыры қара;
    2. түйін қызыл немесе қара;
    3. ағаштың барлық жапырақтары қара;
    4. қызыл түйіннің екі ұрпағы да қара;
    5. Берілген түйіннен оның ұрпағы болып табылатын кез келген жапырақ түйініне дейінгі әрбір жол қара түйіндердің бірдей санын қамтиды.
Бұл ережелер теңдестірілген ағашқа қол жеткізуге мүмкіндік береді. Тамырдан кез келген жапырақ түйініне дейінгі жолдың ұзындығы 1-ден аспайтын болса, ағаш теңестіріледі.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION