Техническое интервью Java Developer - Дмитрий Квасников

Подготовка к собеседованию на Java Developer

Транскрипция видео:

  • друзья всем привет вы на канале jet болты с вами макс добрынин ну что ж пришло время обсудить еще одно техническое интервью и сегодня нас гостях дима классников но прежде чем мы перейдем к нему как обычно подписывайся на канал оставляй свои комментарии ведь это так важно это помогает нам продвигаться на просторах ютубом и очень сильно на тебя рассчитываем и так дима классников кто же он такой что же нам придется вместе с вами это узнать он действительно понимает sql он действительно понимает джаву но понимает

    00:00:02 - 00:01:03

  • ли он этом на достаточном уровне чтобы было действительно не стыдно сказать да он junior java developer и он уже может принимать участие в коммерческой разработки погнали и разберемся вместе день привет как твои дела привет максим ну в принципе хорошо я готов расскажи давай-ка отойдем от жары как ты нас узнал вообще что тебя сюда привело узнала вас но в принципе если не ошибаюсь решал какую-то определенную задачку домашнего которую давали на курсах но и что-то прилетает сообщение в telegram от моего товарища одногруппника

    00:00:33 - 00:01:58

  • вот и он там скинул после телеграме где было написано что вот какой-то там парень сеньор делает интервью в принципе с джиннами и что можно попробовать пройти тест создания пройти отбор и попробовать себя в роли джона ну я долго не думаю дает зайду посмотрю почему бы и нет захожу по месяцам была ссылочка на youtube канал захожу на youtube батюшки дается джек бал в капец я же смотрел надо попробовать вот ну это в принципе там была ссылка на тест воззвания перешел прошел отбор довольно таки интересная история не

    00:01:15 - 00:02:38

  • часто услышишь что через третьи руки где-то что-то часть что конечно слышал был на ю тубе пришло какое-то предложение знает видосик смотрел на затянулось ну здорово расскажи о себе ты учишься в университе эти технические гуманитарной вот какой твой путь я я учусь в универе да уже о техническом университете но я на базе высшего уже 1 образования пошел туда как повышенный квалификацию нас есть вот ну только начал я вот буквально только четвертый день себе падаване вверх стартанула в этом месяце только да и но

    00:02:00 - 00:03:18

  • до этого имею гуманитарное образование вот так что на курсах хожу а тебя не смущает гуманитарное образование минуты не чувствуешь никаких там буллинга на этот счет потому что это очень распространенная тема что техно рей пренебрежительно относится мониторим я не встречал такого буллинг да в принципе нет как бы особо особо не не никто не интересуется потом полгода пришел-то занимаешься боишься но если встретишь ли игрок этих снобов а чё за курсом какие у тебя курса но у нас купца значит готовят специалистов ну по веб в по

    00:02:38 - 00:04:20

  • программированию вот изначально мы убрали чего только не брали начинали с процедурки ну то есть брали фронт то бишь и изучали что мы с java script смотрели вот ap и рассматривали на стадии си плюс плюс вот и потом нам дали java java занимаемся уже месяца 4 целом я занимаюсь 11 месяцев получается но java именно эта штука велась группе 4 месте таки хороший срок окей ну что ж спасибо за свою историю тогда перейдем гравий и проверим вот эти четыре месяца и все что было перед ними и самый простой вопрос

    00:03:29 - 00:04:53

  • расскажи такое отношение между javascript и java java скрипте джавы но jalas java начнем жабы это строго типизированный объектно-ориентированные высокоуровневый язык программирования он нужен для бэк-энд разработке то бишь это написание логики в приложении вот каких-то сервисов java-script это язык относящийся к from the front in части в принципе на нем построена логика по сути как это правильно сказать обработки визуала фото что визуально представляется на веб-странице вот а почему многие говорят и когда их

    00:04:11 - 00:05:44

  • спрашиваешь я знаешь ли ты джаву они очень часто отвечают мне не изжила скриптом не работал чё-то не встречался с такими встречался у нас даже путались люди надо бы ну просто так вот разработчики решили дать название языкам то что они много пересекаются вот из этого путают да на самом деле это два разных языка да безусловно безусловно ноги хорошо andro когда продвигаться немножко вперед и сказал что java строго типизированные а чем эта строка типизация выражается строгой типизации выражается ну то что

    00:04:57 - 00:06:10

  • мы заранее знаем на этапе компиляции заводя какие-то определенные перемены и те же самые при своем обозначающих какими-то типами мы уже будем знать что та или иная переменная кокаина имеет вес как с ней в дальнейшем работать то бишь ну один тип он может быть там для одного предназначена 2 для другого и у них могут быть разные весовые рамки можно сказать какие вот эти пищевые аромки у типа данных самые странные интеджер какого-нибудь amazon значению сколько места он занимает диапазон значений ну максимальный

    00:05:34 - 00:06:55

  • максимальное значение k может принимать int это два миллиарда 147 миллионов 648 ты слово вова этот положительным и отрицательным в отрицательном но на самом деле то же самое только мин за да-да-да-да-да вернее то же самое минус х плюс 1 минус 11 со стороны положительных значений да то есть по сути 22 степени с возможностью указания символа то есть либо отрицательно либо положительное число так называемой сами и окей хорошо а значит как он занимает памятью 4 байта ноги zara хорошо да когда продвиньте минус 1 а вы

    00:06:19 - 00:07:44

  • как она работает с памятью какие два основных участка памяти для хранения данных у нас во время выполнения программы есть но в джаве существует стек хип а вот он стык он работает с примитивными типами данных а вот он предназначен для работы с объектами таким ссылочными типами ok а может быть такое что все-таки примитивных данных в себе оказался да может быть если ну мы говорим что java это декоративный язык программирования у объекта есть какие-то свойства но как бы свойствам свойства могут описываться примитивными типами данных

    00:07:06 - 00:08:31

  • также и как бы это включается ну как бы обозначает его структуру структуру сущность этой и поскольку данный примитив может быть включен структуру объект это ссылочный тип то как его часть он вместе с ним уходит в памяти полу уже получила в этом удара отличие от лишь не нравится так и скажи слышал я опять же про память слышал ли ты такую проблему как stack overflow stack overflow да я не говорю про проблему сайта имеется туда у нас есть большой такой сайт комьюнити наружная на различных языках меня такого рафло вы

    00:07:48 - 00:09:07

  • там куча проблем потому что советуют чего не папа течение не надо и зачастую или очень брутально но я говорю про stack overflow как проблема с томичи слышал ли ты может быть встречался во время выполнение своих программ stack overflow по-моему я слышал что это что-то связано с переполнением вроде бы как с переполнением на самом деле но когда стек переполняется и больше разумеется мы продолжит работать не можем вероятно я не уверен уже но слышал про какие-то примеры как можно самый простой пример свои точки зрения как можно это

    00:08:28 - 00:09:57

  • сместились имитировать переполнение пармитано not stack overflow вызвать [музыка] а с плюсовая немного сказал бы то что как происходит утечки вообще с джавой ржавой все попроще потому что есть девочка лектор но в принципе объект живет до тех пор пока одну мы имеем на него какой-то ссылку и где-то на сохранена переполнение но я думаю что это обозначение множество каких-то свойств в объекте то бишь переполнение свойств скорее всего не буду то есть так это про это не профиль хип хип хранит объекта

    00:09:15 - 00:10:44

  • я подскажу на самом деле самый простой способ это создать рекурсивный вызов с параметрами разумеется каждый раз когда мы вызываем новый метод мы порождаем спайком занимает память как мы знаем аргументы в методе в том числе это локальная переменная просто с оговоркой аргументы она тоже занимает памяти разумеется мы занимаем очень любит памяти высвобождение не происходит потому что это по сути бесконечной рекурсивный рекурсивная цепочка стеков которые не закрываются и следующего на помин все рано или поздно заканчивается

    00:10:02 - 00:11:09

  • происходит переполнению в ну это одна из проблем которым можно найти во время рекурсивных вызовов если вовремя его не закончили если мы понять слишком слишком уж долго ну как бы глотнуть страшно тоже неплохой принципе атлет неплохие рф давайте продвинемся чуть чуть дальше вот мы затронули память мы затронули это же java script и впервые на нашем канале поговорим давали по api объектно-ориентированное программирование расскажи мне пожалуйста в чем смысл полиморфизма полиморфизма ну а полиморфизм обозначает

    00:10:34 - 00:11:51

  • объединение полей методов для реализации одной из своих [музыка] направлений может так сказать сокрытие главная суть полиморфизма заключается в том что объект сам управляет своим состоянием и полиморфизм очень часто говорят что это защита состоянии объекты в принципе но это если говорить вкратце я поправлю ты перепутал сен капсюль акции а она нормальная и звезда нормально не рухнет я понимали все таки хорошо давай тогда они про полиморфизм полиморфизм капсюля как бы тут все но пока это оставим полиморфизм и берем маркер и полиморфизм

    00:11:14 - 00:12:50

  • там много форм много форме это все правильно полиморфизмы это по сути возможность сущностей 1 иерархий по-разному организовывать свое поведение а компьютер джавита выполнил ну то есть простейший пример как говорится на пальце как бы в жаре выполнил полиморфизм ну минимум для этого нужно чтобы это организаций как минимум класс самый-самый родительский иногда его и обозначают как с размытым с размытая реализация его называют абстрактным можно без можно без абстрактного класса обычно сама родительским указу все-таки

    00:12:07 - 00:13:28

  • как абстрактные если мы реализуем нога форме вот и от него наследуется то есть останется остальные какие-то классы самое главное условие это то что они должны быть похожи по сну по своей сущности и по каким то своим свойствам вот путем наследования мы получаем от родительского класса какие-то определенные свойства методы вот и можем их переопределять то бишь в какой-то другой сущности которая по другому может быть описана она может описывать этот метод по-своему и соответственно реализовать поведение

    00:12:48 - 00:14:03

  • по-своему отсюда может это очень сильно похожи на наследование когда у нас какой-то класс пусть даже абстрактный и по собственным формируем иерархия глаз с возможностью переопределить методы задать поведение но слышал ли ты что-то про и и в то же время это очень близко к полиморфизм в том числе потому что благодаря наследуем наследование мы все-таки получаем иерархию классов соответственно этом нога форма это правильно при солдат размытый класс как ты назвал абстрактный класс это вполне тот класс который может

    00:13:25 - 00:14:28

  • определять нам самую вершину нашей эры а все остальное производные от него это его проявление а слышал ли ты что-то про интерфейс интерфейса слышал ты мечта на а можно сказать чем разница между интерфейсом и абстрактным классом весь интерфейс может содержать абстрактные методы публичная и в принципе абстрактный класс тоже может содержать публичные абстрактный метод чем померанец ну начнем с того что у класса свойствами что вообще может выступать и тополя и какие-то определенные методы интерфейсы они описывают обычные пустые

    00:13:56 - 00:15:11

  • методы которые потом в дальнейшем нужно реализовать это первое второе это какое еще отличие но все то что наследуется от если мы implement интерфейс это обязательно должен быть реализовано то бишь в интерфейсах даже по умолчанию сюда даже если какой-то метод условно есть и мы его указываем как public он series серым у нас сразу перекраситься почему потому что все в принципе в интерфейсе должно публично быть передана ну то бишь оно должно быть реализовано в классе мы можем закрыть то же самое допустим ну если мы говорим про

    00:14:36 - 00:16:05

  • переопределение мы можем закрыть это при переопределении у какого-то определенного метода и не обязательно то что наследник допустим может его переопределять кто в правильном и сильно самом деле не часто услышишь надо правильно мыслишь что интерфейс совершать публичные методы разумеется они доступны переопределения но все-таки если копнуть еще немножко на пол лопатки глубже зачем вы все-таки если окей есть публичность переопределение в абстрактном классе есть точно такая же в интерфейсе то есть мы можем легко ним

    00:15:20 - 00:16:29

  • сад public abstract как какой-то метод и так же само в абстрактном классе ножом public abstract какой-то метр в чем же тогда вот как бы ты в каком-то вот одном предложении со своих мыслей предположил или бы обосновал почему же все-таки интерфейс существует при всем том что абстрактный класс умеет делать абсолютно тоже самое мне тут знаешь очень-очень как-то легче сравнить это с плюсами почему ну есть и есть плюсах такая штука которая называется ну и называют по-разному это двойное дно и наследование пирамида

    00:15:55 - 00:17:20

  • смерти и по-разному и назвать его на бали на и наследование тамбуром смерти и как бы оно присуще но этому языку в жаре такого же нет у нас нету ромбовидного наследования именно ну вообще по этой причине к были созданы интерфейсе банальный пример это но отвечу на птиц и какие-то там класс птицы допустим условно а птицы бывают разные есть пингвинами летать не умеют вот и есть какая-то мне не знает он умеет летать вот и ну как бы если мы опишем это ну то есть понятное дело что они будут extended а

    00:16:37 - 00:17:53

  • то есть какого-то базового класса вот но мы не можем в этом базовом классе описать такой метод который позволил бы летать всем птицам вопросу потому что не все умеют летать авиа и в этом случае использование интерфейса помогает в том что пингвину пингвинам мы не можем не implemented интерфейс и тем самым мы не зададим ему такое свойство как летать удается можем взаимо применить интерфейс в котором будет описан метод и мы можем переправить ее значит мы действие это не совсем то что я ожидал услышать

    00:17:16 - 00:18:20

  • но это тоже очень повинность о пмс в том числе интерфейс могу себе добавились интерфейс существует потому что он всегда обеспечивает публично да то есть личный контракт всегда говорит о том что до данный метод как так или иначе будет реализован и да данный метод всегда будет доступен клиент под клиентам образом нереально все которые что-то покупает какого-то разработчика который будет пользоваться этой иерархии класса то есть иначе говоря интерфейс и определяет будущее поведение любого его проявление и чтобы не был всегда у нас

    00:17:47 - 00:18:57

  • будет доступен этот метод таким образом мы выходим на уровне абстракции то есть мы можем объявить базовый тип как перемену предположим культур коллекцию с базовым типом и в него подкладывать энное количество реализации будущее всегда спокойно в том что данная реализация она реализовала мета целюсь на этот метод есть и тогда мы можем выпускать миллионы действий запускать миллионы действий всего лишь руководствуюсь а руководствуюсь одним базовым типом данном случае интерфейса и вот эта публичность an actress это гарантирую .

    00:18:22 - 00:19:24

  • контракт на твои мысли тоже очень светлый правильно попова того что мы можем реализовать сразу несколько поведений и комбинировать по сути их посредством сборки нежели создавать жирнющий интерфейс скажи вот ты искал правильную вещь если еще раз повторюсь а слышал ли ты что-то про принципы соль и вообще вышел и принципы это принципы объектно-ориентированного программирования правильно сказать принципы дизайна дизайна до слышал некоторые ok а слышал ли ты что-то про интерфейс сегре гейши это как раз там

    00:18:54 - 00:20:04

  • буковка и каждая буква означает одно определенное один определенный принципе вот буковка i это интерфейс сегре вещи или сегрегации интерфейса слышал ни про сегрегацию нет такого такого не слышал на самом деле это то что ты описал звучит на просто лучше иметь много простых интерфейсов чем один жирный то есть не надо перегружается и делать какого-то джеки чан класс какой-то выполнять соответственно ты просто создаёшь если в этом есть необходимость много интерфейсов понимаю то что не каждый classic будет обладать этим поведением и

    00:19:30 - 00:20:44

  • собираешь их там где нужно сложной конструкторы есть принцип сегрегации интерфейса но я один я вот один принцип из него слышал видимо все таки из него то что все методы в интерфейсе никому не никто не должно оставаться ничего лишнего все то что есть оно должно как-то использоваться да по сути это очень такого принципа там нет но и зло даже нет но это правильно но просто очень рядом пользу то есть проще говоря не должно быть такого что мы реализуем то что нам не нужно предположим как-то писал он очень

    00:20:07 - 00:21:15

  • неплохо спицами зачем пингвины функция лида рис и он никогда не будет по природе своей да каша сдвинемся немножко дальше и пойдем в java коде мы затронули объектно-ориентированные программы не можем затронуть класс обжиг расскажем оставить слышал ли ты что-то про класс облик и его метод клон до новый класс объекта родительский класс для всех последующие реализованных объектов и создан в принципе для того чтобы определять какие то общие методы которые могут вы можете использовать любой тип в принципе

    00:20:41 - 00:22:02

  • agarron слышала какой смысл тогда метод циклон если быть совсем точным данный метод бы же протектор дадут скажем так что там чё-то чё-то не то не то какие загадки чешским методом делать и как с ним работать но клон clone у метод клонирования по сути читал это повторяемость объекты но есть вообще какое поверхностное клонированию клонирование добавим то вот сам classic он сжег соответственно и его метод клон конкурс основная задача метода come stai точки зрения это клонирование это по сути вот ну на

    00:21:21 - 00:22:52

  • основе каких-то уже имеющихся свойств у определенного объекта написанных описанных уже создавать точно такую же реализацию но в другом объекте то бишь слава курса создавать клонов переносить состоянии навязанная данного объекта в другое точно такого же типа хорошо а может и сказать что необходимо для того чтобы спланировать один объект в другой ну или создать клон как война клонов куча клонов как нам создать один клон объекты ну допустим какой-то форма предположим у нас есть птица у меня есть там имя и у

    00:22:11 - 00:23:36

  • него есть какой-то набор здоровье имя и calls вот мне нужно создать новую китсун он уже мы точно как спланированная от уже состоявшийся как бы кто-то выполнил или что нам для этого так ну для того чтобы для того чтобы произвести такое клонирование нужен перри перенести все перенести все свойства с одного объекта на другой давай попробуем решить задачу и так задача собственно наша задача у нас есть класс birds 2 свойства реализованных у string конструкторы нам необходимо создать в практике 9 колон этого объекта

    00:22:53 - 00:24:16

  • сделать и какие появится на 10 минут необходимо она просто речь пойдет про планировал так ну в начале я думаю нужно переопределить вообще клоун метод давай правом почему а все [музыка] вот вызвало жрать метод плохо работы за себя главное чтобы писать что найдете там экрана работы так интересна сама то я слышал много об этом методе но никогда не пробовал клонировать объекты но действуют интуитивно он чтобы ты делал вот сайтов и зрения чтобы спланировать объект что такое blonde нашим понимать по сути

    00:23:44 - 00:25:32

  • бух разных сосуд [музыка] так но я но мы бы мы вызовем у bird 1с на пир один клон у нас должно bird один принять его в состоянии так соответственно что здесь я думаю вообще то есть метод клоун должен вернуть по сути ссылку на объект с таким же но представлением общем с такими же свойствами а вот и соответственно с перемен переменной бёрд один клон у нас присвоится какая то ссылка с этим объектом ну значит что первым в первую очередь нужно сделать я думаю что нужно вообще внутри я думаю жену внутри

    00:25:13 - 00:26:51

  • этого метода создать как создать то что мы будем возвращать то бишь но это реализация супер классом она нам не нужна я думаю так [музыка] алан берг какой-нибудь таран rekam от равно new пока пока пустое дальше что я думаю значит каким разум и вообще будем запихивать туда наши свойства каким образом это будем делать но я думаю что нам тут нужно сетар и а затем получаем только сложная ведь нам по сути нужно добраться до свойств текущего объекта чтобы произвести новый объект разве с этим какие-то проблемы у нас могут быть

    00:26:17 - 00:28:05

  • да в принципе нет в принципе нет да мы можем в принципе сразу воспользоваться конструктором я думаю уже по сути его вызвал да только нам нужно передать свойства потому что у нас конструктор с параметрами допрос имеешь любви внутри собственного метода когда работаешь с объектом доступ своим собственным свойствам конечно да конечно имею значит первый параметр у нас ним можно без из передавать потому что ну потому что мы находимся в нем вот здесь неявных указатель не нужен вот создали ну вот здесь мы уже создали то

    00:27:38 - 00:28:57

  • есть вот у нас ссылка на экземпляры значит этого класса она уже у нас есть соответственно он ничего себе куда-то на [музыка] это вам верну не важно до этого достаточно или нам еще что я в принципе подумаем то бишь если мы вызовем у него этот метод но по сути мы уже внутри метода создаем объект объект причем у которого уже обозначены свойства то бишь эти два поля но по сути они уже они уже описаны и соответственно что будет если мы сейчас вернем этот объект мы получим в переменные bird & zen колон ссылку на

    00:28:20 - 00:30:06

  • созданный экземпляр класса с описанными свойствами того ну того объекта bird 1с уже вон с именем берди и со здоровьем 100 нужно завершить наверное что то верно и stern ну вот этот ричард берд и вернем но но единственное что мы возвращаем объект мы возвращаем тип объект соответственно здесь bird один метод клон перри определенной и нам нужно его запастись к типу bird ok а можем ли мы изменить отжиг на мер приберег выделений объект на борт . 29-го сигнатуры в написано об этом врача то можем ли мы здесь написать

    00:29:29 - 00:31:23

  • bio ну зачем нам делать да да да в принципе принципе можем принципе тот ну давай туда уберем эту пакость отсюдова и просто здесь будем возвращать сиберт если цель понимаете настройки единиц у нас все ромашек здесь не так что же не так по происходит я думаю что этот метод checked исключения которые нужно обработать что лица дам себе на склон not so far better можем ли мы из сигнатуре удалить приползут фролов имеет ли это смысл если я сейчас не хочу его реализовал но вообще какому же exception это

    00:30:29 - 00:31:54

  • относится есть ящики ты стань checked my address не об этом можем ли мы взять вот эту часть кода удалите сигнатура чтобы никакого у нас выбраться из ключей до можем давай братан давай удаляем тогда вот этот соус [музыка] все равно ошибка не удалил отлично немножко содержать resort исключения на попробуем выполнить этот код или ты считаешь что терке если да то мы выполняем если нет тогда давай посмотрим так мы значит здесь bird клон вернули по сути ему ссылку на этот объект в принтере не здесь есть у string

    00:31:27 - 00:33:10

  • назад приехали тут пустынька реализован можете переживать обзоре я вас верну чтобы он глаза не морозами я понял лучший я думаю что в принципе потому что в принципе должна работать ну почему нет давай запад мы попробуем получается и что мы здесь видим как у нас получилось и так далее так далее будет считать что мы справиться что ты знаешь про интерфейс клона был такой волшебный интерфейс лоно был слышал ли ты что-то про него слышал расскажи слышал про него так что я про не услышал бы вспомнить что и вообще про не услышу

    00:32:26 - 00:34:14

  • [музыка] но это интерфейс который содержит себе метод для перед [музыка] переопределение ну они объектов по сути но если у именно в глубь того как работать с реализации метода это конечно не использовал его если честно нет не пробовал его основная задача по сути это марка интерфейс индикатор для соответствующих классов которые собираются быть с планируем потому что если мы перейдем в его описании будет что он вызывается объектами за частности клон метод если не за имплементировать данным кафе и что в результате будет выброшена

    00:33:36 - 00:35:19

  • исключение клон над саппорт accent конечно это итоге ну и мы можем предположим не реализовать этот метод попробуйте склонировать access так или иначе на то есть мы не можем достучаться до нашего метода поскольку он закрыт вернем обратно наша реализация и здесь попробуем написать в саппорт и кстати и попробуем выполнить наш код соответственно еще раз и что мы видим да у нас нет обработанного исключения как и предполагалось мы можем сделать здесь спрос exception просто для сокращения клей мы видим до йоги надеюсь то есть

    00:34:31 - 00:35:57

  • никаких проблем у нас нет практического них в этом плане но что если мы уберем процессе тоже ничего не происходит нашем конкретном случае у нас всё хорошо и данном случае нас интерфейс клона был не столько беспокоит ноги давайте двигаться дальше задач в принципе неплохо справились и мы не будем обсуждать здесь поверхностная и глубокая копируем клонирование то есть какая-то 100 это вопрос ну то есть для старта вполне неплохо для остановлен sharing единица чуть чуть дальше пальма затронули исключения передвинемся

    00:35:22 - 00:36:46

  • к из ключей что лежит в основе каждого обеспечения из мира в коробки и но самым высшим является пробил разница между r и xm roro и ошибки error и и исключения значит ну exception-ы ну вообще то есть как бы есть здесь и сейчас для к начинать эксепшен это та штука которыми занимается в принципе программисты то бишь это по их части норме обычно занимается это от минска и такая часть большая то бишь в принципе как я изучал the error и в принципе с ними программистов так не касаются вот это то что она возникает по части админ

    00:36:10 - 00:37:45

  • ства там она привезет какой-то пример рода какого ram даже не до снова я и есть я и почитал про них так ну то бишь что ни есть как тогда скажите в чем разница между чек и мчк исключением иначе говоря проверяемый и не проверяю доесть вот два таких вида чек чек чек исключение они возникают у нас вообще в принципе они возникают у нас два до того этапа когда мы компилируем собираем наш проект вот и то бишь наша г-н она уже на этапе того как но мы в принципе козима на уже знает что что здесь может возникнуть это и так экшн в

    00:37:03 - 00:38:53

  • отличие от анчик исключения это runtime исключение они возникают в принципе в ходе выполнения уже программы вот в чем тут еще можно разницу тут два разных наследования играют роль на это если это ресурса исключения создавать богини а вот и сказал что он человек исключение выполняется во время выполнения программы или проявляются во время проявления программ а разве челен и проявляется во время выполнения программ ну да только исключения то бишь мы о них заранее не можем знать поскольку их виртуальным и

    00:38:17 - 00:39:34

  • она не подчеркивает просто их заранее то бишь она не дает нам защиту а почему они а я я понял я понял чегт исключения обязательно должны быть обработаны хорошо хорошо выкрутился каким образом мы можем обработать исключению какие два способа ты знаю блоки trike ешь блок тройничок а еще раптора печь блоки . ну существует различные выбрасыванию то бишь ну а у нас же как какой-то определенный код выполняет определенный метод он есть метод main то бишь который в принципе является главным потоком если какой-то определенный метод на

    00:38:55 - 00:40:36

  • стороне ну это же может быть любой метод объекты какого-то другого там может возникать исключения мы можем там создавать себе к исключением можем выбрасывать на более высокий уровень его то бишь есть обработка в контексте одного метра до этого а есть выбрасывание к другому ну если так так это можно писать хорошо а вот как бы ты технически сделал not обработку понятно пайки но как бы ты бы выбросил наверх исключения какие два способа ты знаешь допустим они но у нас допустим есть какой-то определенный метод который

    00:39:46 - 00:41:04

  • обрабатывает ну вообще какой-то подъем java cloud вот и условно в нем и возникает та та та та та самая возможность исключения которые мы хотим потом обработать в главном потоке но вверх мы говорим о том что здесь сам метод мы должны обозначить то что может выбросить исключение каким образом это можно сделать но flows ok артроз те и указывается тип этого исключения соответственно который может выброситься и это будет означать то что ну в большем наверх наверх уже этот метод может выкинуть какое-то свечение а

    00:40:25 - 00:41:47

  • что а что слово фрол в сигнатуре менты как ты ска означает для вызывающей стороны если этот роуз содержит человек исключение то что обязательно в потоке ну в на более в верхнем уровне где-то все должно оно должно обрабатываться вам затем а могу ли я указываю фрау со для исключения runtime так называемых м ч можешь и тогда не обязательно что ты должен обрабатывать а то ну всмысле если спрос понятно мы по сути говорим о том что здесь я обрабатывать не буду исключение а пусть обрабатывает принимающая сторона а то есть и

    00:41:04 - 00:42:37

  • секты вполне естественно потому что java так иначе нас к этому принуждать надо принуждать да но тогда какой смысл это делать для арчер для инфект исключение локальном себя в методе который выбрасывал потенциально исключения мне нет смысла обрабатывать я не хочу давних это гибрид я не хочу соответственно я пишу flows и вызывающая сторона то есть выше следовательно она тоже не хочет тогда over таком же чем же смысл для runtime исключений или анчик исключение применять fraps но даже несмотря на то что это как бы

    00:41:52 - 00:43:21

  • эффект исключения то есть непроверяемые виртуальной машиной уже это все равно исключение и если ивану то бишь если она будет вызвана программа просто упадет ну тут банальный пример то бишь с этим же самым делением на ноль то бишь это что же это что жемчуг исключения то бишь и нажимаем по сути не знает о нем изначально но она может выброситься ну то есть может вылезти у нас конечном итоге и если оно вылезет просто мы не дойдем до последующих реализму реализации того кода который находится ниже потому что

    00:42:38 - 00:43:49

  • он просто программ упадет ну ладно у нас а у нас на самом деле fraps его еще одна из старой что мы можем таким образом сигнализировать на уровне нашего метода или его сигнатуры о том чего от него ожидать потому что с чек все понятно довольно таки да мы выбрасываем мы пишем про услугам мы пожалуйста обработай хочет и не прочь другой стороны это только про обработку это в том числе по сути про документирование техническая нашего метода что ожидать от этого нет следовательно вы сигнатуре когда видишь

    00:43:13 - 00:44:29

  • проуз уже приблизительно дальше понимаешь чего ожидать ноги хорошо тогда будем двигаться немножечко дальше поговорим про коллекции расскажи пожалуйста почему интерфейс collection и интерфейс mac они не одинаковы и в то же время они находятся в одном фреймворке и про морок называется калач киборг и мы все называю все коллекции тем не менее мапо как интерфейс и kollection как интерфейс они разные чем чем цель ну что что вообще изначально подразумевает под собой коллекция коллекция это сбор каких-то сущностей то

    00:43:52 - 00:45:15

  • бишь изначально но если говорить об этом в общем целом вот но есть здесь конечно отличительная особенность этих двух коллекций потому что остальные то бишь реализуемый интерфейс в дальнейшем от это рыбалка легше на сайт лист и каюту это все таки то что имеет под собой [музыка] сущность описываемого каким-то одним объектом то бишь ниже рваный параметру надин вот wmap и дженериков 2 это ключ и значение и тем самым это самое важное отличие почему у папы для того чтобы ну то есть как изначально то бишь и terrible он

    00:44:33 - 00:46:09

  • предназначен для того чтобы реализовывать движение по нашей коллекции побочные над обижены которая jennifer van одним параметром map и свой n3 то бишь там совсем другая реализация при движении по коррекции ok хорошо то есть они структура льна и отличаются друг от друга одна последовательность элементов другая по сути хранит какую-то сложную структуру да хорошо да тогда поговорю с тобой про листы затронул интерфейс resist нам известно что он наследуется от collection какое базовое отличие между collection интерфейсами профессий в них

    00:45:21 - 00:46:44

  • есть там такой существенно разящие до между ними collection интерфейс ну collection интерфейс часто что он стоит все-таки выше и он определяет поведение для трех остальных интерфейсов это хэш это сет это лист и и так у лист это все-таки более низкая такая цена расширяемый можно сказать этот кейс и она предназначена для того чтобы работать с уже непосредственно с теми тем типом данных который у которого есть индексация обязательно основная диализ то в том что у него есть яндекс и у них даже есть

    00:46:02 - 00:47:33

  • соответствующий метод коллекцию именно интерфейс колэкс он то мы увидим что методы где там нет и тогда тут вопрос возвращаясь ножка обратно а чё там делается если нету метода get с реализациями листа все проще у нас есть get мужем по индексу обратиться к этому элементу пусть даже яндекс и фейковый но не как реально массиве и но просто по этой скорее порядками номер шимин dex а как тогда нам работать на более высоком уровне с коллекции если я не могу обратиться к элементу меня даже нет места где чем не сдалась ну нато nato в

    00:46:52 - 00:48:00

  • коллекциях в этих реализованными этот вид рыбы итератор генератор который позволяет нам в принципе перемещаться по нашей коллекции и над на то есть класс итератор который соответственно принимая себе данный тип до 0 kommentare да здорово вопросов касательно вот этого вот такой самую сцену вопросу о какая во всем мире в чем разница между r и листы и ленте плиз он такой надоевшей что уже просто тошнит нужно знать нужно знать важные вещи released под собой что что под капотом имеет вобще реалист реалист это

    00:47:27 - 00:48:49

  • динамический расширяемый массив под капотом в принципе вот у которого элементы идут последовательно строк друг с грунта считает a massive давайте linked лист это новая коллекция что такое но да это это такая это такое хранилище в принципе куда вписано там есть три три таких параметрах и the next это превью ссылка ник ссылка и собственно сама сущность которая там лежит но у него еще и сайта tail это но голова и хвост и соответственно чем чем они отличаются но то что во-первых ну тут тут зависимости на

    00:48:08 - 00:49:47

  • самом деле от задачи для чего надо если мы хотим если мы хотим взаимодействие с коллекции почему того чтобы оттуда постоянно что-то досталось то здесь проще реализовывать released почему потому что мы говорим что у данной да у данной коллекции индексированный тест но это это массив по сути то есть последовательность элементов у ленки от веса такого но у него есть get который перемещается тоже как по yandex на он так задается еще ну как как под капотом можно сказать но для того чтобы попасть к определенным

    00:48:58 - 00:50:14

  • элементу это все-таки надо и здесь он будет перемещаться именно посылочной и вот то есть точно не можем прямо попасть раз и выдернуть какой-то элемент за там ваться константное время это всегда вот н то есть зависимости того как доберется до этой а скажи а что если я хочу обращаться к последнему элементу предположим в том же сама linkin листе будет ли там скорость о один иначе горя константное самых ставить на самый последний элемент далее ну если [музыка] ну нет ну обращение будет такой же по краям по

    00:49:37 - 00:51:14

  • краям именно со самих not but обращения с одинаковой скоростью почему потому что он но я же самом начале сказал что есть голова и хвост и она хранит и голова хранит ссылка на первый элемент на 1 на дух устранит на последнюю алекс об этом знает и так реализованный да отлично это мне нравится мне твой монету ответ здесь нравится хорошо вопросов здесь тогда ну по крайне мере в этой части нет давай продвинемся немножечко дальше может и ли рассказать разницу перейдем к мамам разницу между hair set и

    00:50:28 - 00:51:49

  • хэш и 3 set the renegade x этом этом можно рассказать мерсед и трясет да ну вообще что под собой поджимает коллекция сайт в эта коллекция которая непосредственно работает с хаш кодом вот у объектов что такое хэш-код хэш-код это совокупность свойств которые описаны каким-то определенным числом максимальным значением это тем самым который я говорил сегодня уже максимально допустимым и работает оно таким образом ну хоть какой-то вообще при добавлении в хэштег рассчитывается хэш-код объектов добавляемого и и из уже имеющихся на

    00:51:08 - 00:52:40

  • данный момент коллекции объектов он похож кода определяет положение то бишь чтобы стоять на ну раньше чтобы стоять позже после какого-то определенного элемента и тут важной особенностью выступает то что трясет а ему не нужно реализовывать интерфейс кампрад реле comparable то бишь это необязательно сортировка можем добавлять объекты просто просто так как мы хотим просто чем связано что вот с этим не не нужно реализовывать компаратор для рыб даже не компаратора интерфейс компы работа для объектов которые мы хотим хранить

    00:51:55 - 00:53:16

  • компаратора камбера был дать по сути про одно и то же но не совсем то есть ты просто поправлю ты сказал что нужно реализовывать чтобы хранить в hex эти интерфейс компе было реализовывать не нужно потому что там мы можем хранить все что угодно тогда вот у меня вопрос про двигаюсь дальше а почему же тогда для трясет нам необходимо реализовывать для объектов которые будут его будут в нем хранится им нужны результат в обязательном порядке интерфейс comparable ну тут нужно представить вообще как идет

    00:52:35 - 00:53:53

  • от этого то иерархии там у сета у самого уже сидят от крепления к штату но стресс и там не все так просто там есть еще два интерфейса это сорта был первый он идет после сета и навеки был и в дальнейшем уже ту же реализация 3 сета и именно потому что эти интерфейсы они ну то бишь требуют они требуют реализацию вот это вот то бишь чтобы была какая-то сортировка а скажем раз так вот что находится под капотом качестве структуры хэш set а что находится у трясет уха с это находится под капотом опа-на

    00:53:14 - 00:54:43

  • опа-на какая резать вот сейчас это ну сейчас и так это hush pop это hush pop единственным одним исключением и говорим штамма по она имеет себе 2g не зеленых параметров но для реализации хэш это идет реализация только как ключа ключа машину потому что там оно уникально и здесь объект используется тоже уникальны на самом деле там не в реализации дело я бы сказал бы правильнее более сказать используются только по назначению ключ-значение появится но она болванкой заполняется do not improve the person

    00:54:03 - 00:55:19

  • все про минска а что тогда уникальное забыл сказать про уникальный забыл сказать ему кажется это не интуитивно руки и т.д. я услышал ты стоишь mapi есть уникальность ключа разумеется если мы используем ключи от хэш map а значит и значение установок сет тоже уникальна но если мы соответствуем правильной реализации тут вопросов не а скажи в чем тогда отличие от риса всё там под капотом трясет трисс это у трисс это так вам будет как 3 3 сосиски и 3 7 вот три сета под капотом ну мы говорим что трясет это вообще ну

    00:54:45 - 00:56:19

  • это та же самая уникальная коллекция с такими же уникальными элементами то бишь [музыка] reset в 30 нельзя передать то что точно так же что-то что-то похожее вот но реализация но чаще всего за какими-то конкретными коллекциями джаве реализованными по у них под капотом находится либо абстрактная структура данных либо вполне себе конкретная структура данных вот три send какая структура данных у него под капотом реализован ну то есть мы не говорим про maple leaf маккуин так далее вот именно если мы говорим опускаемся на

    00:55:37 - 00:57:07

  • уровень предмета или об сказал бы науки теория структур данных отчета меня под капотом название ни на что не намекает дерево да какой такой рукой какое именно [музыка] затрудняюсь какое дерево у нас хотели расширением раз на черного окраса как как ума по расширению он дал мне в mapi на 1 среда в том что трясет безусловно он связан с мамой да то есть мы говорим о within the lancet он очень плотно проект поправилась тайма следующем сильно связано с матой но если мы говорим кондер вот присед у нее под капотом

    00:56:21 - 00:57:59

  • реализовано красное черное дерево но мы не будем трогать map и и каким образом здесь играют роль а может и называется с учетом того что находится красное черное дерево какая скорость доступа к ней доступа получения не пропускал добавлении удалении добавить или удалить или какая скорость данном случае зависимости между да у нас с тобой есть коллекция прессе да то есть я хочу вам что-то из нее удалите или что-то неё товар и соответственно находится какая скорость под капотом но constant на из носа надо

    00:57:19 - 00:58:52

  • здесь здесь в зависимости от того как как она найдет как найдется элемент вообще в принципе потому что можно это как-то вот не но был один нет потому что дерево там на самом деле но чтобы не гадать не мучить себя там будет лог облака то есть логарифм скорость логарифмическая ну и страх да то есть это не самое такое распространенное знание конечно высотного надо знать теперь ты знаешь что у трясет под капотом находится опада по сути 3 марта и так далее и они используют деревушку у себя красно-черного скоростью соответствующим

    00:58:16 - 00:59:54

  • ну хорошо принципе справилась хорошо мы немножко пнули там уже детали но в целом справился неплохо давай тогда передвинемся немножечко дальше и хочется спросить себя такой интересует такой интересный вопрос по djali соответственно чем разница между написанием string в двойных кавычках и вызов new string и тоже передать значение в конструктор чем разница существует живет такая штука которая называется пол пол строк до самым главным отличием является то что при создании стрингах как ну просто вызовов кавычках

    00:59:05 - 01:00:39

  • без new без создания dom объекта этот объект помещаю ну то есть сам сама строка помещается вот так называемый пол строк здесь здесь еще знаешь реализуется такая такой паттерн как синглтон в каком-то случае почему потому что все ну то бишь запихнув строку fullstroke экземпляр такой же строки с такими же что такое строка это массив символов таким же с таким же значением мы больше передать пор не можем и при попытке создания такой строки нам из pla будет возвращен то строка который уже там есть это сделано для даже в принципе память

    00:59:51 - 01:01:12

  • не занимать потому что строка это такая штука непредсказуемая на разных разбитое это очень такая тяжеловесная штука достаточно лежала чем не похвастается создание стресса к созданием через new через обычный бег потому что здесь каждое новое создание и присваивание этой ссылке это новый объект и они друг от друга никак не зависит вообще java нам просто водки строка и неважно какой там абсолютно значение лежит это может быть одинаковые может быть не одинаковой а она в любом случае отдаст столько объектов сколько у

    01:00:36 - 01:01:54

  • нее попросим хорошо а машка мне сказать может быть ты знаешь мои соображения как долго в string или хранятся в строки они там хранится в вечность или все-таки есть какой-то у них срок жизни string в string пули да но ведь это своеобразное кэширование синглтон как ты отметил да ну это же память вот они хранят стать вечно или все-таки не вечно не они там хранятся не вечно именно по этой причине это одна из причин почему разделяют создания строки таким образом и таким потому что при создании строки при вызове вообще не

    01:01:15 - 01:02:47

  • побеждены и объекта спасению так рассылка перед уже хип happy она хранится до достаточно долгое время долгое последний с тем как отрабатывает вообще метод и что сама вот стакан уже с образованием из просто присваивания в кавычках она живет просто ну по сути столько сколько живет метод но на самом деле не совсем так это зависит от того насколько этот объект используется все-таки называемом ведь мы ссылку может передавать как значение куда угодно распространять ее по всему приложению так или иначе в одном смысл хиба но в

    01:02:05 - 01:03:35

  • целом да если не 20 деталей и не копать ты прав и даже стрим пол не хранит свои значение вечно подскажи стрима рвал та часть hippo или это что-то отдельно string пол да это отдельная область это хит таки просто у него есть соответствующий специализированный контейнер для строк потому что ты правильно самом весил это тяжело весна строка никто не знаю сколько как многое будет мы их используем часто один из самых почитаемых типов данных давать тогда будем потихонечку давай закругляться и тут хочется задать

    01:02:50 - 01:04:04

  • последний вопрос скажи что-то ты слышал про конструктор для копирования сегодня у нас с тобой было клонирования но может быть ты слышал про такое выражение копии конструктор или просто конструктор для капель можете дописать что это инструктор для копирования [музыка] честно конструкторы копирование на английском это звучит кабель конструктор еще сказал java ну вот совсем уже отдаляемся всем уже отошли от окей я понял конструктор если честно не слышу огонь хорошо конструктор для копирования раскрою

    01:03:33 - 01:05:11

  • полтавскую наверно многие его используют никто не знаю как называется конструктор для копирования конструктор который по сути на вход принимает точно такой же объект для создания нового объекта и уже существующего это очень сильно похожи на идею планером то есть только в рану конструктор иногда приходится на полном на полных шах приходится создавать новый объект на основании похоже уже существующего и при этом это все не влечёт за собой простыню ограничений клонирования я и речь идет про клона был интерфейс и так далее так

    01:04:32 - 01:05:51

  • далее хорошо тогда мы заменим этот вопрос задам тебе другой вопрос связанные с ja но в тоже время и с многими другими языками программирования шаблоны проектирования ты сегодня затронул синглтон отыскал такой символ дон шаблон проектирование но мы все его знаем вот пьяным спрашивать не будут скажи какие ты слышал шаблоны проектирования помимо синглтон и помимо факта но во времена теперь а может быть ты слышал какие-то другие и выбери какой-нибудь который ты бы хотел бэбс blanc портирование ну тот же самый . я

    01:05:11 - 01:06:29

  • уже просим голтон есть еще и прототайп ok и у нас ещё и шаблоны проектирования есть крут chris reed определит это тоже паттерн если мисси контроллер а слышал ли ты что-то про такой шаблон строитель builder да ну стресс стрельба stringbuilder и реализованным острый а маша писать чем где а билдера чем и 2 builder ему конкретно со строкой допустим мы знаем что ну так или иначе при использовании обычного стринги я изначально сказал то что string это под капотом массив символов и главная идея в том что когда string мы

    01:05:51 - 01:07:38

  • используем вот вот мы допустим создали строку ведь строка она создается именно тогда когда мы присвоили какое-то значение к этому стрельбу да сбил дрожжей да немножко по-другому него есть минута панд и что общем под собой подразумевает присоединение это по сути не создания строки это присоединение символов к массивы символов то чтобы располагается под капотом ну и соответственно это это упрощает нагрузка вообще в принципе и в тот только момент когда мы вызываем из builder эту строку происходит создание

    01:06:46 - 01:08:02

  • не на этапе того когда мы там openmw какое-то значение присоединяем этапе выставки а что нам это в итоге гарантирует но то есть какая одежда вот амандар круто звучит мы там что-то добавляем конце создаем но чтобы доги в конце мы получаем в самом конце мы получаем это [музыка] это более меньшая нагрузка в принципе потому что каждый раз присваивая новый ну то есть создание строки это достаточно такой емкостный процесс и одно дело создать сроку уже то есть целую состоящий из каких-то символов а другое дело просто в массив с добавить

    01:07:23 - 01:08:51

  • значение это но абсолютно по нагрузке две разные вещи но а если она то есть за стрим builder am понятно то есть он помогает нам создать строчку одну уникальную для того чтобы еще раз разгрузить саму систему ну а если мы возьмем какой-то builder абсолютно кастомного объекта в чем преимущество здесь lr кастомного объекта то есть я создал объект гнетом энное количество полей не зная какое это наш объектом другого отношении xtreme гель имеет и вот мы для него создали build чем заключается и не здесь преимуществом

    01:08:08 - 01:09:23

  • преимущество ну то что но то бишь здесь есть проводить такую parallel ata с добавлением строку то здесь это это описание каких-то других свойственно которые еще не были обозначены сравнение наверно с тем когда мы просто на месте создаем этот объект то бишь и после ну то бишь вызов объекта из билдера будет происходить ну то бишь не тогда когда мы что то еще его как-то инициализируем она это так правильно сказать она это пятно того как когда мы его уже вызвали и речь за когда построили или когда когда построили до когда уже построили и

    01:08:45 - 01:10:22

  • только тогда создаст объект или и или раньше [музыка] ну а давай ты принципиальная просто ножку запутался основная идея builder заключается в том что мы во-первых скрываем сложность создания объекта очень часто объекты бывает реально сложно у них может быть большое количество полей и не все эти поля нам нужно из этого приходится использует много конструкторов но разные способы борьбы с этим есть и builder один из них он позволяет нам сконцентрировать в одном классе простую форму или простой рецепт сборки объекта на тонны строитель

    01:09:37 - 01:11:03

  • мы по сути конструируем из байки статус блок блок блок блок блок боль это очень часто возникает необходимость того что этот это свойство она просто реально опциональная то есть нам не обязательно не хочу не делать я могу из десяти выбрать только 2 то есть это по сути сокрытие комплексные комплексного комплексность не создании объекта второй момент как ты правильно отметил еще нас ты убил бери в конечном итоге мы получаем конце строку то есть в то же время любой builder он обеспечивают нам имут обильность в этом плане вы по сути

    01:10:23 - 01:11:41

  • ссоре не имеет ни mouth обильность не про мы концентрируемся на конкретном объекте и мы создаем один объект ничего внешнюю здесь не внедряются и разница в конце мы получаем абсолютно уникальный экземпляр нищим о сути вероятно не связанные с другими фильму удобными той с одной стороны мы отделяем создание как сложный факт другой стороны мы изолируем этот факт создания от других сторонних объектов ему томиться оговорился здесь она не причем это уже ближе какими-то хорошо ноги давай тогда продвигаться

    01:11:02 - 01:12:22

  • дальше поговорим про excel и затем переключимся на спинке диапазоне которой вопросы по спаррингу и на этом закончу вытанки недолго расскажи пожалуйста если мы будем просто мы говорим разумеется программу в частности не только просто что ты знаешь про g9 что это такое и какая его основная идея ну греби света такая библиотека созданные ну java разработчиками изначальная идея вообще разных баз данных в чем то бишь место заборчики баз данных которые ну как-то и и создают конфигурирует и тогда летом

    01:11:41 - 01:13:04

  • подобное раза разная базы данных могут отличаться как-то друг от друга какими-то своими наборов тех же параметров тузов и так далее тому подобное на них выкатываются но разработчиками драйвера определенные и каждая база данных от своих разработчиков она имеет определенно свой драйвер записи это такая кроссплатформенная штука которая позволяет все эти драйвера со всеми базами данных путем воплощение работы с этими драйверами в последующем java разработчику в коде без каких-либо усердие поц присоединиться к

    01:12:22 - 01:13:38

  • той же база данных работать с определенным стоит ментами ну и так далее тому подобное то есть и тасс найди работу с драйверами кроссплатформенность ok ну да на самом деле prime мы можем записывать а специфика со zara хорошо у них по я вполне удовлетворен этим ответом давай пойдём тогда ближе всё расскажи пожалуйста в чем разница между sql и наука скилл не обязательно детали под просто в чем базовое отличие sql это язык запросов ok она с к носке ел не язык запрос на вас клеил ну в чем вот сможешь ли ты расшифровать

    01:13:01 - 01:14:26

  • аббревиатуру sql что под ней на самом деле на 5 ну точнее какие-то три слова волшебные располагаются за этой аббревиатурой у sql statements не стоит на первой до последней последний буквально все таки which in which первое 2 блин почему нет никогда не интересовался таким вопросам как вообще у это было она артроз как страх вчера говорил and на русский язык перевозя язык структурированных запросов значит гореть какие-то структуры но sql у него привязки к структурам нет большей степени нету привязки к связи как мы

    01:13:58 - 01:15:33

  • говорим но это вопрос под дых как говорится сказки о и поговорим об очень интересные штуки скажи слышал ли ты такого слова constraints или ограничения на русском говоря ограничению до слышал есть ну вообще всё такое но в таблицах есть такая вообще вещь которая называется ключом есть различные типы этого ключа есть яндекс есть они а ник ключ это уникальные есть праймари это она она просто нам она просто обозначает какое-то определенное ограничение на значение типа этого типа которым вы которым просто содержим

    01:14:50 - 01:16:33

  • до на самом деле да то есть это ограничение для наших полей которые разумеется мы можем наглого расскажи в отыскал есть unique уникальность почему он применяется он применяется к таблицам или к чему то есть хотя мне надо это ограничение шанель ну к таблицам и если говорить более подробно трубки чайкам которых ну-ка значением которые содержат себе ячейки эти вот что под собой подразумевает уникальность ну вообще тут если если детально так углубляться то в принципе есть есть определенная таблицы которая ну содержит

    01:15:46 - 01:17:09

  • описание презренными как сущности и и таблиц таблиц может быть много они между собой могут быть связаны и эта уникальность она просто она просто не дает вы какой-то связи возможность повторения и ну по сути ломания вот этой вот логике связи вот это если так вот а скажи может этого ты затронул prime реки правильно реки уникальные или все-таки можно дублировать примерный ключ первичный ключ на русском языке английском прайма реки он слушай ну вот именно по базам данных я работал с москве только лишь

    01:16:29 - 01:18:01

  • да но правильно вот в именно в москве именно сам вот этот ключ праймари кей он ну вообще бы все он всегда с разным значением применяется но может быть такое что в таблице у нас случилось так что прайма реки хранит для двух разных записями раз добавим что-то в таблицу потом эту таблицу еще бы что это добавили может быть такая ситуация что прайаге и в частности его значения для некоторых записей в одной и той же таблицы повторять одну и ту же таблицу вообще вообще я этот тест лыж скажу исходя из своих ты бывала у меня такое

    01:17:20 - 01:18:47

  • что я я один раз помню когда составлял таблицу именно вот описывал сущность я над один раз на такое что я нечаянно ввёл у меня не было автоинкремент а я случайно напоролся на то что я вел тот ключ который уже был чем я делал это через консоль в запросе резерв составлял у меня просто выдал у меня консоль выдал ошибку этот момент а чё за шитова что-то по типу что-то по типу параметр уже используется красная строчка ввода параметров дословно не помню как-то много но что-то вон в ту сторону то есть

    01:18:04 - 01:19:26

  • параметр параметр уже использовать ее и все-таки с учетом этого как ты думаешь про америке он должен быть уникальным он уникальный и ледника по америке уникальный дороги до на самом деле ты прав америке уникально потому что в этом ты сказал его что это первичный ключ это способ идентификации записи данной таблице и разумеется одна запись один уникальный prime реки повторяться они должны иначе как проискал это нарушит в будущем связи или по-крайней мере индексацию на и разумеется доступ к данным там же все

    01:18:50 - 01:20:00

  • будет работать не так как и ждать ну хорошо тогда пройдем немножечко дальше скажи пожалуйста слышал ли ты что-либо про нормализации баз данных до слышал обрисовать первую форму первую нормальную форму чем не должны быть в принципе то что таблицы могут если так своими словами говорить таблицы могут подразумевать под собой различные сущности и различные описания вот каждая сущность она должна быть отражена отдельно и из ее сущности могут быть связаны по какому-то ключу тут вообще основная идея в том чтобы оптимизировать

    01:19:25 - 01:20:49

  • оптимизировать процесс работы с таблицами и чтобы ключей которые ни к чему нет не соотносятся и не связывают чтобы они ни использовались в принципе в наших struct ok я тебе пошарю экран и нарисую следующую табличку а ты мне скажешь вот у нас есть соответственно наша табличка здесь такая красивая какие то есть поля и какие то у меня есть соответственно значение может быть такое что предположим меня поле защита city я написал n-ой вверх потом маску здесь а простым шоу москву есть сингапур ну и какие то там дальше

    01:20:11 - 01:22:05

  • адрес вероятно или еще что-нибудь какие-то другие поля здесь у нас лишь африки это 12 здесь три и это скажи нормально ли то что мы через запятую бившие иной и москву соответствует ли это форме нормализации не соответствует uses нууу брайану но смотри получается что у нас в одном ключе в первом айдишники описывается new york москва во втором описывается просто москва ну и было бы справедливо выбрать допустим если у нас отдельно описывается москва втором поле с первого через запятую брать-то составе

    01:21:17 - 01:22:37

  • просто new york ну потому что у нас описывается одна сущность как бы отдельно с одним названием и впихивать в один в один столбец два названия ну как бы если даже рассмотреть другие поля которые потом будет описываться показал то есть не понятно к чему это соотносится в принципе потому что здесь описано уже мы знаем что это два разных города свежий творог две разные сущности непонятно к чему идет соотношение здесь окей а что если вот у меня ситуация что все-таки как крути не крути но вот в нью-йорке москва они должны относиться

    01:21:57 - 01:23:13

  • к записи 1 ну то есть имя решетки картофеля компик один да то есть у меня должно быть к ситуация что все-таки и нью-йорке москва к этому имени должны относиться чем тогда как я могу из этой ситуации выйти нью-йорк и москва к одному имени относится я не могу оторвать нью-йорке москву от имени shark один там по-любому можем должно быть два этих города но ты говоришь что нужно что-то выбросить либо нью-йорк либо москву до выбросить но так искал мы не можем этого сделать по любому должна быть какая-то связь с

    01:22:35 - 01:24:06

  • числом 1 здесь имеется узкими иначе говоря days мы напишем баг в игре образом да вот он вот наш корп 1 он по-любому связаны с нью-йорком и москвой и ну никак не куча вот как на можно видоизменить и таблицу что здесь можно поменять может быть не там ли все изменить может быть как-то иначе на что можно сделать при этом чтобы не потерять города посмотри мы говорим то что у нас по сути к первому номеру относится две разные сущности соответственно по вообще по принципам нормализации можно это вынести

    01:23:21 - 01:24:42

  • в какую-то отдельную сущность и допустим указатель какой-то индификатор один условно допустим у нью-йорка и у москвы допустим их все-таки соотнести как бы ни один все-таки столбец а в 2 разных но завести какое-то определенное этот столбец который будет связывать эти две сущности между собой ну да что угодно допустим мы описываем какой-нибудь там найди вот это будет примерный ключ для какой-то отдельной сущности на таблицы с именно названием городов вынести какой-нибудь тот же самый на и мы едим

    01:24:05 - 01:25:33

  • но не примерно который может повторяться и тогда мы можем и для москвы и для нью-йорка вписать один и тот же как бы эти строки будет иметь одинаковые как бы по сути ключи но уже не прямо на и но они могут быть связаны одним вот ли это соответствовать форме нормальный ati если мы с тобой пишем 1234 здесь напишем с тобой маску здесь опять мозг сингапур направили пишу будет у меня прости здесь у нас 11 и соответственно 3 я убил сон как он будет ли вот запись которая находится у нас с правой стороны табличек с правой

    01:24:49 - 01:26:30

  • стороны соответствовать первой нормальной формы там случае первой нормальной форме да нет ну взгляд не будет а что что гласит то что первая нормальная форма гласит то что есть разные сущности описывающие разные свойства которые если в случае необходимости могут быть связаны между собой одним параметром вот здесь ну смотри здесь получается у нас три столбца иди город и имя и тут вообще указан нью-йорк москва москва и у нью-йорка с москвой 1 одно имя через этот sharp выглядит как-то подозрительно на самом

    01:25:55 - 01:27:31

  • деле на самом деле ты говоришь про вторую нормальную форму что у каждого потенциального ключа здесь до должно быть какая-то я тишка то есть очевидно что москву повторяется несколько раз для разных записей и сингапур и иной потенциально будет опадет то есть ты предлагаешь создать дополнительную таблицу где перевестись на просьбу переиспользовать и хойниш кино это уже вторая форма первая форма говорит о том что у нас не должно быть повторений в таблице то есть иначе говоря есть про повторения социалиста мы создаем одну запись один

    01:26:47 - 01:28:00

  • проект в нем не должно быть перечисление через запятую потому что потом идентифицировать это по связям будет крайне сложно ведь нам нужно будет по сути парсинг строку учитывают запятую или какой-либо другой символ следовательно это неэффективно и разумеется вот эта таблица по сравнению с той гор находится села она находится в 1 normal находится в первой нормальной форме ты предлагаешь сделать еще вторую форму да и создать дополнительную таблицу да и выглядело бы она соответственно вот таким образом

    01:27:23 - 01:28:39

  • таким образом добавим да то есть на скрытая кишка не поехали иди 12 м здесь москва ну и так далее . это уже что-то про вторую форму на сцену ты не плохо описано то есть ножка сумбурно но в целом неплохо хорошо давай тогда здесь заглубимся с нормальными формами и перейдём к следующему вопросу на котором мы и здесь и закончен расскажи что такое join такая 8 самая известная для нас операция join в чем разница между сэр джон чем разница между rayjet и в чем отличия всего этого от inner join номер знаем как я уже сказал из

    01:28:04 - 01:29:37

  • нормализации то есть что разные таблицы разные сущности себя представляют и мы можем описывать у них что-то общее части те самые как указал указатель это будет тот самый ключ чем смысл дюймов но джон и вообще очень часто любят виде кружков рисовать этого но наиболее удобнее всего но я построю словом есть какая то определенная сущность которая по каким-то определенным по какому то определенному значению в зависимости от условия джоном обычные условия ставят пересекается пересекается с какой-то другой сущностью вот это вот

    01:28:59 - 01:30:11

  • пересечении которое в центре находится и не выходя как бы outer зовут этого пересечения это это будет inner входящий входящий присоединение выше называется входной или входящих inner есть у нас другой другой вид это лифт лифт это та присоединение когда ну что что такое что такое левая вообще таблицы левая таблица это это выборочный таблицы то самое селектора у которой с которой и берутся по сути параметр указывается в принципе все лекса самое первое вот а лев джейн говорит о том что при внесении в результирующую таблицу ее

    01:29:35 - 01:31:05

  • значение которые которые не нашли сходств обязательно и тот inner который найден в правой таблицей приступ при соединяющая таблицы рая join это присоединение которое она в обратном порядке есть вот это левая которая в селекции таблица есть райт таблица она говорит присоединим что то что находится справа в обязательном порядке нашло на совпадение или не нашло и то что то что как бы будет совпадения с левой счастливой таблицы обещайте то нужно кружочках да вот inner это посерединке лев это кружочек слева

    01:30:20 - 01:31:41

  • это что пересеклось а райт это тоже гиганты интеллект все что слева you to say the right наоборот а скажи а что будет когда мы предположим выполнив join мы возьмем все что мы нашли соответствующие совпадение слева и возьмем где мы нашли совпадение справа а что будет с теми случаями когда совпадение не произошло пустые строки и столбцы пусто станции ну столбцов пустые строки будут по где слева присоединения будет все то что обязательно как бы а то что и венеры не нашлось она просто будет пустое окей хорошо для palm столь конечно

    01:31:01 - 01:32:37

  • хорошо хорошо он звучит звучит неплохо слова такие диаграммы называется диаграммой бена это не кружочки это диаграммы бегая да поэтому они страшные дни многие на самом деле что только диаграммы венна но тем не менее вполне неплохо описывать на слова хорошо тогда мы заканчиваем 100 scroll и давай сдвинемся с тобой в пачку вопросов по спаррингу и разумеется с здесь закончен поскольку буквально будут простые вопросам через супер-сложно расскажи что лежит в основе spring framework фрэймворк лежит взаимодей вообще самое основное это

    01:31:57 - 01:33:23

  • внедрение это инверсия контроля 1 умершим в control иди ой теперь здесь и кришна это внедрение зависимостей это самое важное то что контейнер спринга берет под себя на на себя контроль и наших сущностей вот зависимости от тех или иных scope of и производит то есть вытекает из названия производит внедрения зависимости определенных у тех же самых целкой определенных типов а в чем разница между ты горел in вершил в control или и об и dependency injection ну инверсия контроль это такое общее но это такое общее понятие которое

    01:32:40 - 01:34:02

  • включает себя внедрение зависимости в принципе но лишь оно нахуй она находится выше и а скажи посредством чего внедрение зависимостей реализовано в стрельбе ну я имею ввиду какие виды dependency injection ты знаешь что там так называется это очень такой вопрос путающих но тем не менее какие виды dependency injection ты знаешь о есть такая штука которая называется апликэйшен контекст собственность вообще начинают обычно изучение спринга это такое конце и это такой контейнер содержащий в себе бен бен бен это по

    01:33:21 - 01:34:32

  • сути java объект который описывается с пингом и есть значит xml конфигурации первый вид это тогда когда у нас в контейнер и вопреки шин контексте в принципе это все описывается второе это и если про зависимости это ну авто варят квалифаер то бишь указание на определенный компонентную vista собственном компонента да по сути объект который может использоваться во внедрении и это через java class то бишь это определенная конфигурация и внутри этой конфигурации как бины как методы описываются определенные бен и это по

    01:33:56 - 01:35:13

  • сути сущности те самые трендовые а подскажи not all applications контекст по сути это есть наш контейнер под самые стринги и о контейнер его реализация в экс премьером ты затронул беды конфигурации как нам нужно пины конфигурировать а посредством чего или посредством каких способов мы можем внедрить зависимость то есть через какие двери нам нужно зайти чтоб зависимости внедрить и речь пойдет не про аннотации речь пойдет скорее действительно через какие двери нам нужно зайти чтобы применить аннотацию

    01:34:38 - 01:35:49

  • или применить тот же самый java конфликт или миксом а то есть речь идёт именно о внедрении пойдем сингер таким способом эту цену есть есть такой определенный components co который дает понимание спаррингу где лежат вообще сущности по-разному он реализован в апликэйшен контексте это так компонент по моему многое по моему помогать компаниям : и там указывается соответственно путь в нашем проекте указывается путь на наши соответственно сущности есть аннотация components кабана указывается над классом оболочкой из сущностей из бинов

    01:35:13 - 01:36:56

  • этого самого can конфиг и в принципе в скобочках через ну как значение указывается просто тот же самый путь но это по сути уже реализации ты правильно отметил что мы можем использовать компонент станут а чтобы искать наши компоненты которые от маркированы какими-нибудь аннотаций например как ты отметил компании на то есть компонент скан будет искать аннотации компаунды по указанному пути но речь не об этом а что если нам необходимо внедрить зависимость ну то есть у меня есть класс а и есть класс

    01:36:04 - 01:37:17

  • b-klasse b является зависимостью мне необходимо при создании моего объекта через конструктор передать ему какой-то другой объект который по сути от которого он зависит поэтому назвать внедрения зависимостей injection как это можно выполнить если рассмотреть в африке шин контексте через ссылку лев передается она есть конструктор вес и пристраиваться ссылка на определенный одну там указывается иди объекта ну мы когда вы прикажете контексте есть определенное dish некоторым бену указан вот если таких

    01:36:41 - 01:37:50

  • каких бинов может быть несколько они могут быть то бишь типы подходящие в конструктор они могут быть их может быть несколько ну я когда практиковал spring на музыкальном плеере то есть типов музыки может быть много и в конструктор не подходит все в принципе здесь можно использовать на самом деле мы тоже этаж компоненты просто и есть допустим если рассмотреть те же аннотации есть авто варят есть нация квалифаер квалифаер она говорит нам о том что spring ну spring пол components co но отправиться искать в принципе что ему

    01:37:17 - 01:38:24

  • предложено из всех вот этих вот объектов и если вы допустим множество таких сущностей существует допустим они им применятся новый интерфейс она условно тобишь они являются однотипными вот spring ну просто не поймет что то что туда внедрять возникнет ошибка есть квалифаер который указывает условно вот это вот сюда вот вот именно вот это вот сделай это газ прям через танцев и понимает всякие мне нужно именно вот этот этот определенный объект и нет и суда да скажи можно ли внедряется зависимости не только через конструктор

    01:37:52 - 01:39:12

  • если какие-то и способа не через конструктор до внедрении через поля и и через мире через сеттер и вообще 33 смотрит варианта ну вообще говорят что через это же самый такой принятый более рот-в-рот вообще полиамид самый распространенный это как раз конструктор ладно это такое дело тоже просто община конструкторы сеттер этом нечто другое дело хорошо а вот подскажи мне что выполняется раньше конструктор сеттер или поле но внедрение по этим трем местам что вы из них выполнится раньше и что самое последнее

    01:38:34 - 01:40:09

  • если условно мы указали 33 внедрения да ну точно словно это и поле и то и другое и третье да что же внедриться раньше обязательно что мы указывали их месяца что принципе как оно происходит вот что есть это приоритет наверняка и вот что произойдет раньше конструктор центр или поле но вообще ну вообще здесь даже не спринга скорее вообще то есть если java брать изначально для того чтобы объект был создан нам что-то для этого нужно есть специфи специфической тот самый метод это конструктор на что самый в

    01:39:24 - 01:40:47

  • принципе для для создания объекта он и нужен то бишь это самое вообще основополагающая то что в принципе поставляет нам сущность вот ее как-то реализовывая то бишь исходя из этого можно скачать конструктор все-таки отработать самый первый это логично для то логично отправил отжав абсолютно as подскажи про то кто тогда выполнится последний последний если если у то бишь опять же здесь если брать так чисто логически то поле наше это описываемое свойства объекта это то чем он обладает а метод это все же то что

    01:40:06 - 01:41:38

  • взаимодействует этим полем скорее то что ну как будет этот мир это свойство то бишь в поле будет использоваться уже непосредственно в алгоритме в каком-то ну и соответственно создавать века это что поле принципе zeroes вторым а метод третьем она и так оно и есть первый конструктор потом более потом все конфигурационные методы чаще всего мы говорим про setra здорово мне понравилось как ты отвечал на эти вопросы и тогда последний вопрос самой интересной какие есть скупы в стрельбе сейчас утром бинов с кабину синглтон он

    01:40:51 - 01:42:05

  • вообще самые он еще дефолтный он всегда указывается недавно он явно просто содержится в каждом дне есть прототайп какие еще и вообще общих большой множеству 6 до но самая самая дальше он начинается это символ прототип это вообще всегда про остальные вот такой вот показания не затрагивала сам бог с ним с остальными хорошо оставим остальные остальные это у нас там соки table гейшей мачте небесами и просто сашин и request с это 4 пробу блики вмф еще предстоит изучить их даже страшно скажем чем разница между синглтон а мы

    01:41:32 - 01:42:55

  • про то самое важное вообще здесь синглтон это скоб который в принципе ну мы о нем говорили да то есть простым пол в принципе его такая реализация то есть как он себя показывает это то что ну spring он создает какой-то бевин отдает нам и spring постоянно держит в управлении этот бин он постоянно за ним и он постоянно слеживается и при попытке возвращения этого gett uber den то бишь до получения крупной он не вернет новый экземпляр а будет возвращен будет уже возвращен тот который уже spring а тот отдал провода ип эта

    01:42:15 - 01:43:50

  • область видимости когда spring отдал сущность и все он больше не управляют он отдает нам ее управление и больше и больше ее не трогать и таких сущностей каждая новая сущность она будет она будет новый она не будет как-то относится к старой это это это это просто новой сущность каждого раз но вы на самом деле не вдаваясь в глубокий подробности как она там внутри у страны ну что ж вот мы и подошли к концу я думаю мы можем завернуться в целом нашими вопросами идут хочется тебя спросить как ты себя

    01:43:02 - 01:44:23

  • чувствуешь было довольно таки интересно но на самом деле мы не первое интервью вот но все же это это круто это круто проверить свои знания на каком-то этапе вот особенно когда то что то новое и так изучил вот в принципе только положительные эмоции может быть ты уже себе записал что нужно изучать на будущее какие знания нужно подтягивать определил себе уже будущий ровно ну запись сто процентов вы пересматриваете нашего ней уже и так знаешь уже голова немножко остынет так уже со спокойным там пересматриваю уже

    01:43:43 - 01:45:03

  • буду записывать что там это правильный подход сам себя анализирую сам себе составляешь план сам себя двигаешься к направленной цели действительно большое тебе спасибо за твое интервью получить крыло мне кажется довольно таки достойно держался единственное не стоит так волноваться интервью это не расстрел интервью это не казнь будет более спокоен а остальное приложится ты отвечал действительно хорошо достойно безусловно есть косяки которые нужно устраняет нет ничего такого чтобы мы не могли преодолеть и я

    01:44:26 - 01:45:48

  • тебе как обычно желаю как и всем ребятам успехов я больше уверен что все у тебя получится видно как горит твой глаз 1 2 играет на какой-то мистический 3 по поводу будущей работы будущего внедрения антисфена вы так далее поэтому желательно сюда тебя все получиться главное не сворачивает с пути но на сегодня это всё пока удачи тебе все пока удачи итак друзья вот таким образом выступил зима классников и он показался вам скажу очень хорошо конечно же не все было идеально ну кто может ответить идеально

    01:45:07 - 01:46:19

  • я не всегда идеально отвечают ли не всегда чаще это нормально наша задача всего лишь совершенствовать наши знания и закрывать какие-то наши темные дыры в нашей голове то есть заполнять эти пустые ячейки какими-то новыми знаниями и знаете что вам интересно расскажу мы специально решили диме помочь для становления в качестве junior java developer мы дали ему задачу в рамках нашего внутреннего проекта для того чтобы он там принял участие как int n разумеется принимал участие в реально разработки под контролем middle of и

    01:45:43 - 01:46:46

  • сеньоров и разумеется это будет для него плюшка с которой он уже вперед для получения новой работы пойдет то есть он сделать себе такую отметину в себе и пожелаем ему все друзья удачи чтобы он справился на нашей интернатуре и конечно же побыстрее получил официальную свою первую работу ту которую он так ждет тем не менее наш выпуск подошёл к концу друзья напоминаю вы на канале jet бал подписывайся на него оставлять в колокольчик и пиши комментарии это так важно потому что именно так youtube работает и к сожалению по другому мы

    01:46:14 - 01:47:15

  • продвигаться с вами просто не можем а на сегодня это все друзья увидимся пока

    01:46:45 - 01:46:55