Подготовка к собеседованию на Java Developer
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
добрый день уважаемые подписчики до меня слышно видно я могу представиться да так вот меня зовут medhi борисов . меня зовут евгений борисов я более 20 лет работы войти последние много лет занимаем в том числе менеджерские позиции в результате чем мне приходится проводить многие интервью и сегодняшний доклад это вот моя возможность поделиться опытом и обсудить всякие разные технически не только технические аспекты потому что на самом деле вопрос брать или не брать человека по думаете с точки зрения которые проводят интервью
00:00:10 - 00:01:22
там 40 минут если хорошо час или два для того чтобы понять причем чаще всего мы нередко ищем человека который имеет какие-то определенные знания потому что вряд ли вот нужно именно есть у кого-то тоже такие знания которые нужны сейчас нам нашем проекте мы ищем чек на перспективу который быстро войдет работу понимаешь вот возьмем какое-то время и мы пытаемся предсказать что будет через месяц или два с этим человеком и у нас на это есть в полтора часа поэтому очень часто это быстро пальцем в небо но тем
00:00:51 - 00:01:50
ни менее данный доклад у может быть полезен и как людям которые проходят интервью потому что с одной стороны если мы говорим про сеньора java разработчика то большинство вопросов которые здесь будут заданы это вопросы которые либо я либо мои знакомые коллеги занимающий похожей позиции задают соответственно технические аспекты будут освещены что и как отвечать кроме того мы затронем вопрос и и чар как правильно отвечать на всякие разные стандартные вопросы как правильно себя подать и показать в конечном итоге это то что
00:01:22 - 00:02:26
оценивает тот человек которого интервьюирует вот итак наш сегодняшний позиция как обычно то есть мы сейчас ее разработчика я видел то делся специально свою рабочую форму в этой макет часто провожу интервью сегодня это часто происходит по зуму поэтому как бы я сейчас просто пришел на рабочий день свой и наша позиция мы ищем на проект несколько таких матерых сеньоров которые возможно будут архитекторами там по интервью будет понятно куда их точно какую нишу воткнуть поэтому я набросал много достаточно разных вопросов но все они
00:01:54 - 00:03:05
сферы глубокого понимания как работают самой популярной фреймворке с которыми мы будем иметь дело у нас на проекте то есть предмет как работают всякие разные инструменты при помощи которых программист работает постоянно что проверишь нам действительно в этой индустрии может быть консультантом и там помогать решать сложные проблемы то есть немножечко здания devops а понимание как настроить проектом зданием ее вина этого то что как бы часто мы спрашиваем интервью когда вы еще хотя на какой проект модный там перепишите монолитном
00:02:29 - 00:03:35
и красивой 40 никто вот значит давайте посмотрим какие у нас сегодня у нас около пяти шести кандидатов будут и начнем с первого галочка кто у нас по списку м здравствуйте евгений слышу отлично меня меня паша зовут мы можем над и или мы на вы с вами как вам удобнее довольно ты давали отдавая зеркально у нас такого слова даже нету вы ну немножко есть ну да но это нельзя к этому человеку не как применить расскажи мне двух словах а про свой опыт кто ты что-то и давай я тебе вопрос я более-менее подхожу
00:03:02 - 00:04:19
кажется под профиль я успел побыть инвертируем я успел побыть там тим ли дом я даже успел подписать на нескольких языках сейчас у меня правда не совсем не настолько техническая позиция я одевал про кейт я я занимаюсь big date и но мне что-то тянет на родину тянет обратно в 12 1 спринга opi аспекта ленте programming of всего вот этого вот поэтому давайте подробнее забыл как ты забыл его но также последнее время заниматься таким позициям еще сыщика красных людей которые будут очень много работать как говорится в поле такие
00:03:48 - 00:04:59
технические люди которые там за 2 секунды на строят себе проект помогут другим настроем проект правильно все сделают воспользуются best practice on для построения там правильно выбор монта и так далее как мне кажется я все помню но как бы проверить надо если что я как бы быстро обучаюсь всегда готов погрузить очень сознательно сюда пришел не мая нынешняя позиция такой типичную проблему представься ты приходишь в новую команду там одни сплошные джуны и devops ушел в отпуск а тебе надо помочь им решить какую-то проблему но для
00:04:24 - 00:05:33
должны быть проблему решить и сначала ее надо и продюсер у тебя кидают на вики лэптоп объясняют из какого git репозитория ты можешь скачать счас и проект который тебя надо попытаться у себя запустить увидеть проблема ты ставишь себе intel и джей ставишь себе 11 джавы потому что у них один стать java и соответственно начинаешь собирать проект там may be нам потому что там полный и у тебя все падает на том что какие-то артефакты не приходят вот такие действия так у меня написан если правильно помню
00:05:00 - 00:06:11
моего мне пишет урал с которого не может получить артефакт совершенно верно момент central он говорит main централа не могу получить артефакты там в этом артефакты группа иди название компании в который перешёл работать ага но тут у меня есть два предположения возможных может быть такое это совсем плохой случай я надеюсь что это не так все люди в этой компании все разработчики в этой компании устанавливают серце факты локально с помощью моего нэн стол из какого-то другого проекта это плохой вариант хороший вариант это что у нас
00:05:35 - 00:06:41
здесь есть эти факторы и пьяный или nexus не дай бог и не дай бог и тогда конечно же нужно нужно сходить с моим коллегам похоже попросить у них с этим с xml чтобы посмотреть их или будет чтобы посмотреть их настройки репозиториев браво браво замечательно хорошо значит это детина решила проблему потому что у тебя же новенький к webtop в котором . м2 пустого никакого садимся на не было ты переписал все таки cnl после этого все скачалось начинаешь собирать падают тесты тебе говорят оставь сейчас тест и нам
00:06:08 - 00:07:25
надо посмотреть фронтами у нас там их совершенно проди поэтому отключайтесь как отключать у нас есть две опции если не изменяет память совестью во первых мы можем сделать миланский птиц равно труп это сделать так чтобы тесты компилировали но не исполнялись или мы можем сделать мэй вам тест . что-то такое моего с ловким прекрасно в общем там есть две опции которые вторых 2 сделать так чтобы они даже не компилировали лисят зависит от того как у меня собственно подует тесты не проходит или не компилируется
00:06:47 - 00:08:01
не проходит если проходит неважно ты там этот вопрос просто вопрос замечательно молодец давай они дальше значит собрался наконец проект запускаешь ты main кстати как если спать бутовый проект мы в консольки запустим проект ух если у нас есть spring butt plug in мы кажется у нас есть что-то типа мэйвен spring утром или что-то такое или spring applications ну в общем это можно а у меня есть автодополнение понятное дело в моей вен поэтому он не покажи покажет все тоски который там есть я не помню наизусть я через моего на
00:07:25 - 00:08:42
плите и шум плагины можем сказать моего наплечных зак и это сделает нечто очень похоже если конечно у меня указан моим файл в pom.xml но ok замечательно запускаешь ты проект и у тебя начинает работать с kanger и все падает в runtime is exceptional метод missing вот какие твои мысли сразу когда у нас тоже вот как раз у вас недавно такая проблема началась отлично это не то ради чем у тебя позвали но вот у нас сейчас тоже у всех такое что метод missing это скажи пожалуйста какой какой пейдж tiji либо си джи линк
00:08:05 - 00:09:30
надо посмотреть если он а если у нас какой версии у нас celeb вообще говоря в класс party какой смотреть я могу сделать мои ван холт эффекте в помысле я не хочу связываться идея если если у меня открыта и тия как у всех людей конечно просто какой dependency граф там начнете части джип и увижу что же там собственно лежит но тут есть проблема очевидна и я я увиделся geely патчу дальше какой-то версию вот потому что в эффекте в памяти вообще его не нашел потому что транзитивной dependency по-моему вы ведь и в помине
00:08:48 - 00:10:01
отображаются это очень не не слушай да надо по-другому ты помнишь как по-другому посмотреть дерево зависимости которые у тебя позитивные есть мы в центре правом плагин вот запустил 353 и увидел что у тебя действительно есть какой-то артефакт который тянет а google тебе говорит что да такие вот эта ошибка связана с тем что нужно стейджинг версии 3-е ты смотришь этот артефакт тянет сидели версию 2 что теперь делать ну самое простое что я очевидно могу зайти сделать это зайти в мои винсент шел найти правильную версию сиджи либо
00:09:24 - 00:10:39
попробовать добавить его в зависимости и молиться потому что потому что если случайно шли вниз несовместим с библиотекой которая его тянет тогда ничего . это это очень хорошо и это поможет ну скажем не считаешь ли ты это красивым решение потому что ты сейчас в своей зависимости прописался джелем который тебе по сути не нужен ты ж на самом деле просто хочешь решить конфликт версий и запросить правильную но большом еще попросишь если мы говорим про spring и проекта и другие крупные проекты я могу
00:10:02 - 00:11:12
использовать бум который бил of materials который продиктую но моя если ты сам хочешь зал очень версию как это сделать у определить какую нибудь property которая есть где-нибудь в родительском пупами spring будто дослушали времени вдвоем в своем своем помню что то можешь написать чтобы указать правильную версию то я понял у нас есть специальный блок который говорит какие версии каких зависимости использовать дай мне минуточку и этот блок и минуточку я пытаюсь его вспомнить менеджмента и совершенно верно и очень хорошо значит
00:10:37 - 00:12:02
все depense менеджер прописал правильную версию сиджи либо решил проблему тебя все по обнимались коля теперь смотри в чем собственно у нас серьезная проблема значит мы когда запускаем вот этот процесс он должен писали брать сервис лвл agreement используя сервис надо да все все все так вот записали этот метод должен брать максимум пару секунд а он берет у нас 40 секунд и мыл а мы все тут джон и вообще даже не знаем код половина наш половина не наш мы сейчас как понять где где застревает ну очевидного способа нет окей самый
00:11:22 - 00:12:52
простой способ чего мы можем сделать это запустить a thing профайлер прямо из идеи прямо с ним запустить наше приложение с этим провайдером сделать ну понять как нам вызвать этот метод и в какой этим профайлер нам сгенерирует flame граф в этом flame график должен быть какой-то огромный кусок посвященный этому методу и мы увидим что происходит внутри это если мы вообще не имеем представления что же у нас происходит но вообще-то мы можем заглянуть в логе и вероятно мы увидим например что hummer на и пишет нам очень много запросов это
00:12:10 - 00:13:16
это часто бывает в приложениях бра бра ваше предположение холмс и я это подтвердилось таки да то есть объясню вам что можно сделать параллельно с этим ты курил сигару и уже читал о диска кстати ребята выключайте ваш профайлер вот же блогах я вижу у вас тут очень много времени уходит на огромное количество транзакций а да это мы писали но мы подразумевали что должна быть одна транзакция как вот мы те покажем дети показывают есть значит метод в каком-то сервисе который называется ну допустим двор это метод какого-то
00:12:42 - 00:13:54
скейлера этот метод подготавливает какую-то дату собирает какую-то коллекцию и после этого вызывает свой собственный транзакционный метод который называется солдата это транзакционный метод обычным старым добрым форум 4 руется по этой коллекции и по одному эти объекты перевод передает в другой сервис вызывая у него метод сейф который тоже помечен аннотации transaction вот тут у нас как бы один традиционный метод вызывать другой транзакционный метод насколько мы читали в документации бренда все равно должна быть одна
00:13:21 - 00:14:34
транзакция они они 1000 если у нас тысяч объектов этой коллекции а ты смотришь и говоришь то вот ребята у вас как раз тысячи есть вот проблема перформанса играть ну почему это и тут как бы вступили на почек хабер на это я бы не так хорошо помню ну давай я попробую ухо мир нет есть такое понятие как batch says мы можем сказать что даже если дорогой хабре на эту тебя делают много много инсультов цикле пожалуйста среди их в один это и это можно сделать это вообще-то говоря это как может работать жить без клеверу можем это сделать и на
00:14:00 - 00:15:04
уровнях hibernate а чтобы много-много enter но у нас это не на уровне берната происходит нас это происходит из-за того что транзакции очень много хотя должна быть одна и поэтому ты так решение должно быть чисто связано с транзакциями но я думаю что у меня есть подозрение скажи пожалуйста у нас значит есть какой-то с curler да и в нем есть внутри транзак шнур метод и в этом транзак сунул методе происходит for all правильно да и он ним ухаживать транзакционными все понятно как бы загадка разгадана
00:14:33 - 00:15:53
потому что на самом деле здесь конца акции нету потому что чтобы попасть к индукционный метод нам на самом деле нужно позвал попасть прокси который обеспечивает транзакцию а если мы зовем свой собственный метод неважно кстати публичный не приватный при условии что мы не используем аспект джей джей все будет работать корректно мы можем перейти к стадии обсуждения твой зарплаты спасибо спасибо большое паша спасибо показал явную уверенность и сразу стало понятно что даже если человек не уверен но он говорит такими терминами что явно
00:15:13 - 00:16:31
он знает что-то очень много похожего понимает принципы явно разберется во всем вам будет нужно вот и кроме того есть очень много знаний которые связаны с той позиции которые если в голове спасибо так что не знают нужны какие-то дополнительные комментарии что-то нужно обсудить или в принципе все было раскрыто мне кажется если я не пропустил важных деталей тогда мне кажется можно переходить дальше нет нет опять же может быть для людей которые никогда не служили никакими и доклады надо объяснить еще раз про то
00:15:55 - 00:16:53
что транзакционные методы спрингз достигаются тем что прокси руются объекты и соответственно когда мы делаем injection какого-то сервиса по trois транзакционные методы по фактам и injector nissan service a proxy обертку который для него создастся для того чтобы отвернуть все его методы который нужно в транзакции и соответственно если человек этот метод вызывается снаружи то он вызывает этот метод на прокси транзакции работают если он вызывает его есть внутри как будто сделана в моем примере то соответственно метод работать
00:16:24 - 00:17:22
на сервисе они на прокси никакие транзакции открываются и то есть не открывается та самая первая транзакция которая должна была завернуть остальные 100 внутрь себя и они должны были открываться теперь ее нет поэтому открылись все те 100 которых она кажется можете сделать а что тут кажется можно сделать еще одна некое дополнение что в принципе это популярная ошибка скидывал сервисах кажется можем сделать самой инъекцию тебе может бензин jackshit сам себя изнутри нашего метода на тюменский отлил обращаться к
00:16:53 - 00:17:56
своему instance у которой объявлен как поле не очень красиво но тоже сработать все правильно с версии 43 можно делать салфи джек это делается обычно аннотация тут можно в мае сервисами jacket мой сервис если в дебаты посмотреть то мы увидим что то что мы заметили это не мой сервис это его прокси название класса будет мимо сервис apple какой-то парусе и соответственно вот вызывая у него методы вместо что вызывать методы навис данного сервиса мы будем спасибо большое хорошо тогда убегу да если да пожалуйста все подписывал
00:17:25 - 00:18:40
бухгалтерии поэтому исключайте никаких вопросов по данному эпизоду перекроем следующему эпизоду а те кто там следующий кандидат если вопросов нет то заходите и заводите сейчас я на вас посмотреть он пришел как ваза вот добрый вечер евгений меня зовут фёдор вот у меня есть твердо я популярный продюсер онлайн-конференции и много видел докладов ивашка все доклады видел на самом деле мне кажется я готов пройти техническое интервью рассказать тогда двух словах о себе плане вас технически или там с какими
00:18:02 - 00:19:24
технологиями работали что какой опыт я честно говоря уже забыл с какими технологиями работал потому что я много много много лет на рынке вот мы начинали хиджабе [музыка] тех самых 21 noise а современные вот техники правильного написания кода у вас есть у тебе давай на ты сохранились у тебя ты следишь за тем как сегодня правильно подписать что мы ищем человека на позицию который будет ходить по пальцам by джунов придумать им правильное решение учитель патроном правильно пользоваться технологиями объяснять им
00:18:47 - 00:20:05
каталоге и устроены чтобы они ошибок не делали вот так что общаешься изобрели какие-то новые паттерны за последние 10 лет ну давай начнем тогда с простого синглтон расскажи мне про синглтон синглтона my наверное все достаточно просто мы знаем что синглтон и не надо писать синглтон и надо пить вот если если нас интересует исторический аспект да я бы сказал что наверное самый правильный синглтон это синглтон на и намах вот потому что это по определению синглтон давай так ok да хорошо а вот если делать его
00:19:27 - 00:21:05
ленивым и во времена и джи би наверно сталкивался тем как их было популярным сад ленивый синглтон и если будем делать синглтон до долго был ленивым очевидно мы можем сломаться на многопоточности вот придется нам с этим немножко побороться там уже не вспомню все нюансы давно было обработаю можно сказать там вроде провала то чтобы было вот и ансофф ух работал nude давайте писать volatile вот так я могу сказать окей ну да быстрым фрейдин какой-то понадобится поковырять и ты уже не вспомнишь все эти там сыгранной сдай
00:20:15 - 00:21:45
lucky villa тайлы я могу рассказать определение вот но собственно говоря там практического навыка как ты знаешь современными фреймворка мини так много с многопоточность у мы не пишем new thread очевидно да и вот за это уж точно можно пробить по рукам окей хорошо убедил давай тогда цена поговорим про современные вещи и раз уж мы начали сегаль tonight и справедливо заметил что это анти паторны ему не надо писать то можешь объяснить почему это антипод 100 миллер был по трубам станут типа там смотри
00:21:03 - 00:22:28
давай мы попробуем процитировать в этой части тебя самого вот синглтон не отвечает сингла responsibility принцип вот и мне кажется заявился важная история да там в том что собственно говоря он должен и какую-то логику нести и контролирует что он один это наверное не очень здорово ну в целом у нас есть spring контекста он понимает как управлять жизненным циклом бинов и например он нам делает те самые синглтон и да и гарантируют чтобы конкретный бен у нас был 1 вот ну и соответственно мы не будем это писать мы
00:21:46 - 00:23:16
это делегируем нашему контейнеры окей но это ты вот чисто математически я с тобой согласен что это звучит как убедительное доказательство но а в чем практический вред от того что вот тот гальтон ну синглтон и синглтон и мы же ну да можно с альбомом пользоваться можно в интернете с гегель это вниз по там для написания готовы вести купили через юного счет секунд чем-то плохо ну как по мне global стоит это в целом плохо вот такой у меня есть ответ откуда-то издалека из головы но я хочу понять если ты понимаешь
00:22:33 - 00:23:50
практически как бы вред этого или ты просто вот от меня будешь красивыми фразами одну книжку почитал у меня наверное нет сейчас конкретного примера под рукой ну потому что я давно не видел такого кода вот чтобы чтобы начать объяснять чем конкретно он плох но наверное нужно отталкиваться от пример почему вот так вот делать не надо окей ладно не буду я тебя мучить и готовом давай раз и ты уж spring раз ты затронул скажи просто of hot spring есть возможность записать несколько синглтон of из одного и того же класса это очень
00:23:12 - 00:24:23
возможно несколько всему тоже на картон это не совсем синглтон в понимании спрягать связи гальтон это просто бен который ну да обычный класс у него скальп синглтон собственно говоря у нас есть один экземпляр be no1 это нечто что характеризуется типом идентификатором собственно говоря который мы присвоили к этому типу к этому экземпляру поэтому создать несколько экземпляров например типа string и назвать их по разному почему бы нет если я правильно понял твой вопрос да все правильно ты понял хорошо скажите
00:23:52 - 00:25:11
просто а как какие способы прописать себе синглтон стринги томми xml берем разговора человека который нет нет нет рассказать человек который во времена и джи би начинал писать его сразу надо предупреждать их проекций говорить окей давай так то есть если мы просто объявим какой-то сервис и мы можем сказать по моему отдельную аннотацию скуп там мы можем сказать что это синглтон вот и также мы можем соответственно определить метод на котором внутри класса с аннотацией configuration соответственно все так классно мотоцикл
00:24:33 - 00:26:04
все правильно все правильно скажи мне ты знаешь какие-то способы зарегистрировать синглтон в контейнер который уже поднялся ну вообще говоря это можно мы должны определить [музыка] фильм дисней шин и создать бен ну да это один из способов да можно сразу объектом а можно через бенди финишем и потом выдернуть из контекста все правильно искажение а чем отличается вот аннотация компонентов аннотации сервис или аннотации repository очень люблю этот вопрос значит если мы берем аннотацию component это
00:25:20 - 00:26:49
[музыка] скажем так неким мета информ аннотация да там который определяет для нас там все потенциальные бен и вот если мы берем сервис repository контроллер мы добавляем спецификацию ну в терминах соответственно я не знаю это это называется не совсем спецификация это называется стереотип то есть мы определяем как бы функциональную нагрузку на этот бин и если мы берем там сервисы компонента они по сути равноценным там зайдем сервису видим там просто компания вот но соответственно сервис это сервис мы в общем как правило
00:26:06 - 00:27:33
имеем его стоит лис и он нужен для того чтобы там бизнес-логику какой-то прописать репозиторий аннотация репозитории ушла в небытие с появлением spring даты но тем не менее она нужна для того чтобы сказать что тот бен которым помечен на эту аннотацию он выполняет функцию дал и соответственно все эти исключения которые там могут возникнуть их нужно обернуть [музыка] exception или что-то там такое вот ты явно бишь этот вопрос это место доказал давай поехали дальше скажи мне а какие ты знаешь какие разные виды
00:26:49 - 00:28:11
джексона ну то есть мы пользуемся аннотация талант но где ее можно ставить джексон у нас есть значит я различаю три вида injection а два которыми чаще пользуюсь один которым пользуюсь реже но недавно я узнал дополнительно кисть в общем мы можем ставить над полем мы можем ставить of the war над конструкторам и над любым методом это так называемый сотерн джексон собственно говоря метод с аргументом который будет бином могу рассказать в чем разница как применять расскажи лучше кейс значит который ты
00:27:31 - 00:28:56
сказал кейсу очень интересный почему почему не нужно ставить of товаров над конструктором например нужно ставить над полем потому что мы используем ломбок и конструктор мы просто не пишем и если у нас бина нет в контексте там и это не увидим ну да место к и хорошо скажи мне пожалуйста ты в томском бесси немножко трогал какой да не суть важно немножко что же сказать кто вызывает можно сказать кто вызывает методы контроллера методы контроллера вызывают dispatcher все рулет от лечим скажи мне а если ты это не знал
00:28:12 - 00:29:46
как бы ты это нашел без без гугла без документации и из intel и g . мне сложно представить что я этого не знал [музыка] так ну то есть если мы можем папа профилировать код я не знаю то есть как бы я это нашёл а какие пропали а ты знаешь давай сейчас мы refresh подумаем над названиями что-то все вылетело из головы хотя бы один из а ведь ну собственно мы знаем sing профайлер это [музыка] фалер этом вспоминается норгей много слушай названия правда вылетела ну ладно я возможность помню еще до конца
00:29:07 - 00:30:47
скажи мне ладно давай последний такой вопрос на проверку твоего опыта работы со сложными ситуациями спарринге если написать аспект и в point катей этого аспекта указать тип а вообще все что скорее всего случится если мы на втором спрыгнуть и работаем до даже и на первом на самом деле указать вообще все ну дал ему будем очень долго стартовать но скорее всего мы свалимся с какой ошибкой скорее всего какой-нибудь stackoverflow и почему к чему приводит аспект который просит point cuthna звездочка . звездочка
00:30:13 - 00:31:57
ну то чему это приведет инструменти руется у нас соответственно каждый метод да и можно памяти людей стало не таким каким образом стринги instrumentation происходит что это значит инструменти руется ну соответственно что у нас создается прокси вот если каким образом каким образом во втором с пути создается прокси 2 скин путей используется и сиджи ли проба дефолт и у нас прокси получается как наши дьявола совершенно верно и теперь достаточно что один бин у меня будет из класса который финальный а вероятность этого в среднем
00:31:07 - 00:32:36
проекте очень высоко и просьбы за боксировать абсолютно все скорее всего придется тому что какой-то из беды скажете по меня нельзя я поймал это можно получить и в котле невеста не использовать лапин плагин совершенно верно все я думаю что вы закончили большое спасибо мне нужно подумать вот если хотите мой анализ если сейчас говорить только это я бы наверно в определенной ситуации андрея бы взял тоже не андрея фёдора федор то есть я почувствовал что человек хорошо теоретически все понимает но у него практического опыта сегодняшнего не
00:31:51 - 00:33:13
не совсем много то есть не каждый день пишет код поэтому если мне нужен был такой вот тех лив поле боя я бы подумал 2 разобрать его или нет то что его нужно было какое-то время связать ему память вот а человек такого уровня может не захотел бы капризный мог показаться польша есть когда за ваше время на самом деле если мы можем раскрыть тему про поиск сервлета наверное это было бы интересно а не имел ввиду опять же то чисто практическая штука но ты готов позвать метод моего контроля расставим бред point в метод моего контроллера и
00:32:33 - 00:33:53
смотрят нас так 3 кто вы вызываете поджидал я наверно это имел ввиду профайлер я понял я хотел сказать дебаггер вот видишь моим боевки чтение правильно не находишься в поле боя каждый день ты путаешь debates профайлер все федор больше не приходи к нам всем следующий а кто у нас дальше он знакомое лицо кого-то ты мне напоминаешь как я яша меня можно найти и в твиттере плохим до 32 дерево он у меня я его не очень упорно виду но это потому что большая часть моего времени заняться программированием на корень я люблю
00:33:17 - 00:34:39
котлин прежде чем ты задал вопрос вообще увлекаясь я люблю котлин я пишу на всяких модных капли мячик микро фреймворк их я не знаю кита многим гитары джуби все такое мне интересно но я знаю я знаю чем вакансия в ней интересно пробовать свои силы может быть может быть я вам подхожу тоже кто знает хорошо сканируйте много лет опыта то есть и давно становимся с разными проблемами в мире джавы у меня лет пять раз он разный я немножко писал под desktop немножко писал под веб ну чё ты понимаю как бы как какой-то [ __ ]
00:34:15 - 00:35:34
а вот дебаггинга имею ли факторинге понимаю вроде бы зачем теста писать тоже знаю мы сейчас ищем в том числе человека который хорошо будет уметь работать есть как раз для решения работы с реляционной базы поэтому давай начнем с того что не расскажешь какие способы ты знаешь какими способами тебе доводилось встречаться как работают в джаве с базой реляционной ну по большому счету немножко сложный вопрос он немножко как бы заставляет меня сомневаться вроде мы всегда работаем с базы данных в итоге
00:34:55 - 00:36:03
одинаково через джитибиси ну как бы у нас есть всего один стандарт но на века конечно поверните вести есть миллион over the chick всяких разных я не знаю есть о р м и g кей и сын hibernate есть я не знаю всякие штуки из кого любил doorstep a jug по рентгену были свои штуки spring то это spring jdbc спринт и сидим plate какой-то все-все убедил меня со ты давно в этой индустрии явно тут как бы много чем работал давайте последних вещей может мне объяснить чем отличается обернет от спринта ты так но это для меня звучит немного как
00:35:30 - 00:37:00
вопрос чем отличается теплой от мягкого спринг дэй то это просто штука которая на если я правильно помню я могу вообще то путать но мне казалось что она просто абстрактно нам дает декларативный слой доступа к данным и как-то хитро называем методы типа found all users в r&d равно в раде эклз и так далее там подобное hibernate это ну спринг дэй то наверно может работать через hibernate я честно говоря не помню работает ли она по умолчанию северная пичерс какую-то другую технологию но в общем там должен
00:36:16 - 00:37:27
возникнуть возникать код который вызов вызывает что то вероятность связаны со ён . да и точно по умолчанию же они возвращают нам entity это значит он должен быть hibernate ну или какой-то какая другая имплементация окей хорошо вот давай тогда мы уже по практике начали говорить поговорим про идите во первых скажем просто какая политика выверните для коллекций если есть и дать им пироги из коллекции других детей видимо я подозреваю что ты имеешь ввиду mapping то есть политика в виде политика это когда видимо у меня есть коллекция
00:36:52 - 00:38:10
ну лист например или лучше сет или или не вообще зависит или или зависит от но в общем в любом случае по умолчанию у нас эта коллекция не вытаскивается если правильно помню чтобы она можешь объяснить почему все аккуратно что уменьшает они не да да все штуки которые тумане то есть все все коллекции вставленные в наши объекты по умолчанию ленивые офсет u want штуки по умолчанию игр и сделано я не знаю точно почему это сделано у меня есть гипотеза штука в том что допустим у нас есть три каких-то entity я не mapper друг друга в
00:37:32 - 00:38:48
нет умение если они случайно будут тянуть игр то они из базы данных за запросит декартово произведение всех этих данных и это какой-то невероятный объем данных которые java потом будет очень долго молотить чтобы просто их от маппить как-то в связанные объекты но честно говоря я не уверен но мне кажется должно так при заглублении все правильно все все правильно это сказал скажи мне полоса ты знаешь как именно это реализовано вы вернете это ленивость коллекция реализован до самый простой вопрос сегодня это прокси
00:38:10 - 00:39:26
это очередной прокси у нас вместо поскольку у нас написан интерфейс лист или интерфейс от у нас приходит просто какая-то имплементация этого листа к которой если что-то спросить у нее она реально полезет в базу данных у этого есть и плюсы и минусы плюсы это что по умолчанию ничего не вытаскивается а минус это чем больше мы просим объектов тем больше раз он уходит в базу данных я правильно на самом деле но она немножко умнее работает она не ходит каждый раз в базу данных она пользуется доставил к шасси целиком сразу
00:38:48 - 00:39:54
заполняется или она его постепенно заполняет выставляем постепенно лазить за одними и теми же данными а даже первый элемент будет возвращаться один тот же прославил кэш я честно говоря забыл спасибо скажи мне просто а вот если у тебя есть транзакционный метод в котором ты взял персона сделал вызвал на нем persist винтики менеджера или вызван метод сейфу там person repository а после этого на следующей строчке добавил ему к возрасту один год хранится в базу в итоге этот реки у нас делается persist при закрытии
00:39:27 - 00:41:01
транзакции если это hibernate или или джи кей прямо по спецификации поэтому я не помню сохранит ли он первый раз кажется нет но во второй раз второе данные он сохранит абсолютно точная и перезапишет то есть у нас по идее должно в при закрытии транзакции произойти persist на все данные которые мы меняли все правильно окей взору хорошо скажи мне с базой она так дальше учить не буду видно что ты хорошо разбираешься как у тебя со ртом у меня есть некая свое восприятие того каким должен быть раз я не уверен что
00:40:14 - 00:41:33
она идеально правильная какое-то каноничная я бы хотел послушать но в интересного скажи мне то есть ли сказать что таких как я представляю себе раны с тобой внутренние новый протокол напишем я боюсь он называется джейсон надписи этот новый протокол мы в общем ладно в общем до 1 говорит нам про 2 парадигмы первое используйте глаголы http всякие гад пласт putty лета патч head up шанс общего они придумают не просто так как можно использовать каким-то смыслом ты можешь таскать чем отличается от патч от пут чего-чего кто
00:40:53 - 00:42:15
ск тот кого печь от пукач оттуда да тут с моей точки зрения путь должен использоваться для обновления сущности когда пришли все поля of patch у нас придут не все поля только те поля которые нужно изменить и вот их мы и должны где-то там своем хранилище изменить но это мое такое восприятие нем все все правильно скажите а можно паркету передать информацию агент запросу ну скажем так это не канонично нам ничто не может помешать это сделать более того и ластик search поддерживает например запросы прямо в теле как можно передавать ему
00:41:35 - 00:42:59
данные какие-то наш фильтр власик search но это не как вы идиоматика для стандарт для того как а вы не по качеству да не что нам не может помешать поправить живут ну а как правильно наверное наверное в пост правильно или ну и в зависимости от нашей операции но я хочу айдишник передать все делать букеты мне надо передать айдишник а а тогда мы можем использовать по спорам или но обычно мы используем по спорам с кажется это так называется приеду прямо в аннотации сети знаешь я не уверен что я правильно помню аннотации честно говоря
00:42:18 - 00:43:30
я их смотрел давно но я примерно понимаю что это а не бывает по спорам quelle парам и matrix парам matrix параметр точно вот здесь 2 яду есть вторая штука про которую restful она про ресурсы собственно и тут у нас кажется со стволом и идеологические расхождения месту говорит что каждая штука у нас должна храниться в собственном ресурсы и управляться должна начались этот ресурс я не знаю если у нас есть ядерная ракета мы ее должны получать по с лешими садил например но вот тут у меня проблемы со стволом
00:42:57 - 00:44:17
потому что получить ядерную ракету понятно как но как в restful запустить ядерную ракету и извини-извини перебьет а мы сейчас идем ужинать ему и драки удавались ситуации вот и грыж я там с этим не согласны символа что ты какой-то проект бросалась толстый не согласен с тем как тут работают или как выбрали патологию или как восприняли какой-то концепт я не согласен не смог переспорить прошло звуки были такие случаю жизнь мне кажется увольняться из-за этого конечно перебор ну давай так в такой ситуации я бы стал искать новую
00:43:37 - 00:44:46
работу потому что если работается плохо и это из мне кажется что технологии не достаточно чтобы уволиться я готов мириться с чужими но с чужими правилами условно говоря это у меня никого нет кажется нормальным но если вообще никак не живется но конечно от новую работу искать что поделаешь всем огромное спасибо возьмем тебя вместе с близнецом ты скажи как как ты скажи как как запускать ядерную ракету в лесу потому что я это делаю мисаил слышь launcher это это это не канонично раз нормально не знаю next лишь дальше надо сказать
00:44:13 - 00:45:29
мисаил и в патчи и придать прочей передать launched равно true вроде как стоит ракеты поменять но у ракеты нет этого поля понятное дело но это примерно также как спорить и лучше constructor injection или или фильм injection я тя найду ее здесь плюсы и почему такая конвенции поль никто так кому так будет удобней кому такая не нужна критично спасибо большое хорошо у нас есть какие-то не освещенные аспекты в данном эпизоде не знаю я чет пропустил вдруг мне кажется вроде нормально мы про базу данных
00:44:50 - 00:46:01
нет но такие на так и замышлял а вот и ты мне показал как много ты знаешь разных подходов и насколько и что все и все равно идет через бибиси и мне сразу все про тебя стало понятно у размер на это очень много проверил технически проверил что ты еще и как бы вот знаешь даже современная на танцы и значит а не какой то там старый архитектор к пружин на пенсию реально вот с практикой тоже между поэтому надо брать спасибо большое было приятно познакомиться жизнь да мне тоже так надо у нас также через рогожка
00:45:26 - 00:46:39
да включаем будто все кто да кто следующий кто следующий а евгений давно не виделись здравствуй здравствуй вообще никогда вам не виделись никого ты мне напоминаешь я был я запомнил как у личность как я зовут андрей можем над и родовая конечно расскажи мне два слова про свой опыт ну собственно сколько себя помню занимаюсь пинком люблю всякий разного пан source часто мы работаем со всякими базами данных ну как правило революционными поэтому у нас спринта то hibernate и всякое такое прочее строим всевозможные
00:46:10 - 00:47:44
сервисы вот в общем-то не знаю крайне 10 лет готовился к этому интервью ух ты черт понятно а как быть с практическими задачами решаем понемножку я сейчас ведущим разработчиком анти поэтому поэтому приходится руки как у поляков ты вот тягач я сколько себя попался с пальбой ты со спайком и то есть что-то там рассказать какую-то крутую штуку ты сделала . когда в инфраструктуру от себя добавил как-то его так закрутил греха если консистории знаешь есть история про то как spring приходилось дружить с
00:47:08 - 00:48:48
серьезным legacy вот и ну собственно говоря там мы понятно не любую аннотацию там которая есть в java x собственно говоря там спецификациях джес орда там которые применяются в java и можно взять и встретить в спрингз там я не знаю inject ресурс например можно до синглтон например нельзя вот и синглтон она конечно достаточно современная но всевозможные digby и они скажем так сильно похожи на спинку вы и беды да но сейчас уже так не работают потому что у нас название тех самых великих серверов вот железо в
00:48:00 - 00:49:42
общем-то ну приходилось решать задачку миграции вот написали написали [музыка] инфраструктуру для того чтобы сканировать аннотации из наших зависимостей для того чтобы формировать бенди финишной и поднимать соответственно все эти бина как вы как вы зарегистрировали как регистрировали если мне память не изменяет есть специальный специальный тип инфраструктурного бина но я здесь могу немножко и ошибаться регистра как вариант использовать или какой ли sonar можно заюзать на каком-то этапе добавится и технично и так что
00:48:51 - 00:50:40
приходится давайте немного про инфраструктуру покопаем а можно еще один кролик есть крутой кейс извне было совсем интересно в свое время ведь откуда вот это все идет да там потому что в свое время мы занимались тем что spring приносили туда где там те самые джи би работают и как известно spring он собственно говоря интегрируется с и jby контекстами и вот вот там приходилось решать задачку собственно того чтобы синхронизироваться по времени запуска контекста потому что они в общем то абсолютно независимые и мы ждем когда
00:49:53 - 00:51:19
соответствующий контекст появится чтобы оттуда бен вытащить чтобы достать что-то из джунглей 3 ну и так далее вот это вот было интересно но это было давно сейчас все гораздо проще сейчас все на спинку те на декларативных зависимостях и так далее но поля хорошо скажи мне пожалуйста как человек который много имел дело с инфраструктуры если бы тебе нужно было бы реализовать самому технологию которая будет давать людям может писать аспекты для этого способа аспектно-ориентированное технология мы хотим
00:50:38 - 00:52:02
собственно говоря сделать что то есть мы хотим каким-то образом размечать код и получать дополнительное поведение какое-то да ну собственно говоря наверно у нас [музыка] в нашем мире нет аспект джей то есть мы его как-то должны повторить да например я хочу понять если ты знаешь как можно такие штуки реализовывать вообще есть норка походы смотри то есть если мы ну там говорим чисто про то чтобы разместить код и про то чтобы прочитать аннотации ну наверное здесь там понятно особого вопроса нет вот
00:51:23 - 00:52:50
вопрос есть в том каким образом мы будем создавать новый код в ран тайме или в комп yld тайме тот который будет работать уже там при помощи вот этих самых аспектов вот я здесь вижу несколько вариантов но там соответственно в зависимости от того наверно какой мы хотим конечный результат если мы что-то делаем грантами мы используем [музыка] проксирование мы можем использовать именно instrumentation при помощи java агента вот использовать какой-нибудь какие плюсы и минусы ты можешь мне объяснить да это как бы два основных
00:52:09 - 00:53:35
подхода либо инструмен тировать либо проектировать но и треть третий подход соответственно я могу код генерировать ну собственно говоря еще там на этапе компиляции или до при помощи annotation процессинга ну или при помощи использования там соответствующих плагинов марина плюсы-минусы новый 100 дней касаться самая перспективная наверно то что последние сказал ну мы так так идем киску сначала очевидный потом перспективны собственно мне что кажется да там зависимости от того на что у нас больше там собственно
00:52:52 - 00:54:09
говоря пойдет времени да то есть если мы и и что для нас критично да если нам нужно быстро стартовать то наверное нам выгоднее потратить время на комп ultime и потом соответственно получать все быстро гигантами если нам соответственно это там не сильно критично мы можем потратить время на прогрев там инструктировать получать байт-код загружать использовать вот или мы можем прям фронтами что-то делать так слушатели я убедил что и spring ты хорошо знаешь и джалла узкую инфраструктуру тоже понимаешь а как у
00:53:37 - 00:54:52
тебя с современными стилями написания кода там оля функциональное программирование стримы и вот все такое с премиум наводят хвастают я кот лиц знаю код ли знают и очень и слова не сказал про современные языки как у тебя с этим у нас ребята любят всякие давайте я скорее не так сказать не активный пользователь котле надо там слышал что она бывает стримы мы естественно используем с 8 джавы куда без них это это конечно но вот можешь объяснить разницу между made of light map между map & fatman вопрос хороший
00:54:14 - 00:55:40
вопрос как объяснить вот ну соответственно наверно мне на словах не очень просто его объяснять мне наверное нужно нужно код ну может привести пример когда используется в map давай начнем с моим попросту но у нас что на входе и какую вот задачу мы хотим чтоб очень 0 исцелись person of на входе стрим персам ну мы хотим взять лист person of the мы достать допустимых иди будем использовать мать-то ok а в каком случае буду использовать ну в обратном условно если есть лист ойген анализ перца не совсем
00:55:01 - 00:56:40
[музыка] тяжело у меня сегодня идут не большой фанат вам за нашим я понял скажи мне пожалуйста последний такой вопрос к тебе тоже по поводу больше практического применения своих знаний в каждодневной жизни расскажи мне как ты напишешь класс который будет называться ну допустим вас будет называться часы и часах должно быть несколько разных режимов и режимы можно будет в каждой версии будут добавлять кита новый режим пример есть режим как называется календарь есть режим как называется будильник есть
00:55:54 - 00:57:11
режим который называется секундомер значит у часов есть три кнопки ну то есть три функции одна кнопка одна функция функция c она ли стоит между режимами по кругу по кругу то есть когда по дефолту создаются новые часы то они в режиме автоматически сейчас режим и вызов метода вызов метода б сделают что-то согласно режиму часы если мы вызовем метод с этому перейдём в режим календарь и теперь метод и метод б будут запускать другу логику которая связана с календарем надо более детально объяснить пример или понял принцип
00:56:36 - 00:57:54
честно говоря пока не покажусь в камеру мне надо сделать так чтобы метод а и мы метод б работал в классе часы в зависимости от выбранного режима есть режим календарь и если мы сейчас находимся в режиме коменданту метод а будет например устанавливать дату а метод b будет чистить календарь если мы вызвали метод c и тем самым перевелись перевели часы в режим секундомера то теперь метод а запускает секундомерами этот bay вас останавливает отдаляет если мы ещё раз вызвали methods мы вернулись обратно в режим часы и так
00:57:16 - 00:58:33
по кругу причем надо за дизайне тито так чтобы было легко добавлять в каждой новой версии нашего продукта добавить новые режимы которые клиенты будут заказывать вот надо так за дизайн естественно все будем писать о стрельбе смотри я бы наверное сделал лист [музыка] компонентов типа режима да если я правильно запомнил то что называется режима режим да хорошо да и собственно все эти режимы будут попадать туда ну и мы по листу по порядку будем их перебирать вот наверно как мы будем как мы будем этот лист
00:57:56 - 00:59:26
собирать а он соберется собственную автоматически по типу мы будем и где мы да мы его проинжектим и все собственно все режимы hd а что конкретно будет делать метод c тут не очень иногда такое огород городят хотя вроде казалось так просто ну метод все будет как двигать индекс я не знаю нашего листа в методе ой бета-теста делегирует делегируйте почему текущем индексу все все слухи замечательно очень хорошо видно что это и практические знания есть и глубокие знания есть надо брать 3 обязательно гибралтаре пожалуйста языком они
00:58:42 - 01:00:17
меня же не берет на работу я к этому готовился 10 лет ребята это счастье мне понравился вопрос последнего спасибо хорошо но имею ввиду теперь и вовсе будут знать и его же сдавать нельзя надо быть но выступать окия много пользовался если честно я бы попросил не это не раскрывать ответ на мы против вот map это мой любимый вопрос это это легко нагуглить поэтому я не думаю что люди потеряют что-то если сейчас мы не скажем чем разница давайте не будем давать не будем хорошо следующий гость следующий
00:59:32 - 01:01:09
интервью кто у нас на по списку вот тебе размечен чего разу не размечен вечно и на камин сломал сейчас подожди я каменку почему народ а то мы не можем без какого-то заказнике англия стала каминов куда не приди говорят везде камин у тебя я смотрю это видов камень и задниками дакар я решил да рассказывай кто ты умеешь до бархат здравствуйте вот занимаюсь вот этой всякой вашей джавы и прочим айти с дай бог памяти 2001 года в колледже учились хорошим там был нам джаву преподавали еще много хороших людей оттуда вышла без этого колледжа
01:00:21 - 01:01:59
который до сих пор вот понимают в чаде и спарринги и вот это все ну потом работал в фраги очень долго работал и вот пара значит пора на интервью говорят в японии интересно проектов наружный шов людей которые больше практически будут кодом заниматься ты не заржавел за годы ну вас мог ничего ты даже штампа спрашиваю я попробую тампопечати и посмотрим как пойдет чё делаешь такое мне кажется это как на велосипеде кататься как в 2001 году весь меня runs through и вернуть мою джаве появились ленты и вот давай я спрошу если можно
01:01:27 - 01:02:52
вот представитесь какой-то метод в этом методе ты определил локальную переменную x and x равно нулю а на следующей строчке ты вызываешь какой метод фурычит у данного модуля мeду суешь и в этой ленте пытаюсь этому иксу обратиться обращаешься из для дык вокальной переменной как ты думаешь сейчас секундочку час до нужно поверить что ты же мой кратно не видишь же до ну порождено при главное чтоб все остальное никого нет а то только мы с тобой даже мой экран главное не видишь ну очень хорошо вот это был важный
01:02:09 - 01:03:17
момент узнать потому что ну ты сейчас будут вопросы а мало ли что у меня тут на экране тебе нельзя его видеть час только на проверим что ты его диск не видишь до да сейчас тут говорят у меня ничего читать все че-то там наверняка будут сидеть под столом людей и подсказывать ему так вернулся да так вот я говорю уговорю вон отлично всё меня слышно меня видно тебе мой экран не видно и всем остальным его и все остальные было видно правильно ну теоретически да ну пока еще по моему bed замечательно ну давайте тогда еще раз
01:02:48 - 01:04:16
сформулируем вопрос второй раз да значит если я хочу из лямды обратиться к локальной переменной методов которым это лям бы определено если у меня с этим какие-то проблемы лям года я знаю про линды они это как типа что-то слегка напоминающий анонимный внутренний класс и там наверное видимость вот этих переменных она будет она будет похожа немножко на вот на как в как бы на нем нам иногда на анонимном классе да то есть на самом деле он будет виден внутри ты лямды но по-моему он будет что-то типа effectively файлов то
01:03:43 - 01:05:29
есть вот его нельзя будет его нельзя будет поменять и снаружи снаружи то есть ты можешь объявлять там переменные они будут там нужны а вот снаружи ты их не сможешь поменять вот а почему это все правильно сказала почему ну потому что потому что мы же создаем это линда мы создаем объект и life сайкл этого объекта он может отличаться от life сайкл а методов в котором этот объект создали и поэтому естественно мы не можем его менять ok прошел я понял скажи мне пожалуйста а что такое и new тобол так как реализовать и бьет вал джаве
01:04:42 - 01:06:17
может примерки это привести да ну для того чтобы в джаве создать класс который будет ими то было он должен отвечать на несколько на несколько параметров ну нескольким нескольким критериям он должен быть файнал у него все его мембран должны быть правят они должны быть файнал конструктор который принимает параметр и должен делать копии всего что он принимает для того чтобы тот кто передал в конструктор не оставил себе референсы который можно будет поменять и когда мы отдаем переменной в гитаре нам тоже
01:05:32 - 01:07:09
нужно не забыть что нужно делать копии для того чтобы потом нельзя было чтобы когда они ну чтобы их нельзя было поменять предстоящие счастья как прямо как энциклопедию служит можно хорошо скажи мне пожалуйста если мы говорим про плюсы и минусы бьют вал объектов да в чем собственно + + и методы чем это хорошо ну а когда у нас есть объект который не будет меняться нам не нужно создавать его копий в памяти то есть мы можем пользоваться одним и тем же объектом все время как это это как раз наоборот если объекты
01:06:21 - 01:07:42
бьют able to получается каждый раз я буду его копировать имею думал объект копировать не надо ты можешь делать кеш этих объектов и дальше просто пользоваться ими не нужно не нужно копировать да но если у меня объект мутабельные то я могу просто на нем делать изменения а если объекты ньюта бал иначе у нас же джабал у нас же reference и соответственно кто-то может держать объекта ты в нем будешь менять информацию которую человек считает что она не меняется правильно так если я делаю ему the black разрешаю такой
01:07:05 - 01:08:14
возможности очень хорошо отлично ты когда-то что ты отдала но то что есть дата объект и меда был это вот отлично окей я понял хорошо скажи мне это монтажер boolean байт short они имеют обл string тоже имеют а был то есть джоли пользуются все так хорошо скажи мне пожалуйста как работает garbage collector вот правильно ли сказать что если есть ссылка на объект то объект собрать нельзя и ссылки то можно ну это зависит давайте никому пример припяти что как может быть какие могут быть ну давай допустим объект указывает
01:07:39 - 01:09:19
сам для себя она его за его девочка ветер заберет или нет ну в принципе зависит от горбить коллектора если горбач коллектор считает референсы то он будет знать что у этого горбачев ушло этого объекта есть reference и тогда он его не заберет но есть люди имплементации и конкретно например вот в джаве в джаве у нас есть отлично у нас в джаве есть другая система она называется tracing горбач collections tracing горбач коллектора считают референсы по обходят их по дереву и поэтому если у нас есть какой-то
01:08:29 - 01:10:07
сверкала reference он останется вне дерево будет объявлен мусором и собран и ok откуда он начинает искать ну есть такое понятие как garbage collection roots [музыка] и это те вещи которых в которой могут быть в которых может быть вход в ну вот в объекты и значит это у нас наверное будет опять же какой нибудь список например [музыка] статические статические объекты они являются входом классы являются входом среды являются в ходом входом объекты которые висят на локальном стеке и объекты джиной они
01:09:18 - 01:11:21
тоже являются juicy fruit скажи мне а вот раз уж вы продаете референсы говорим ты знаешь что такое века reference да это это такой специальный вид референса в джаве который [музыка] лечиться от обычного тем что если на него нету никакого другого референса the garbage collector его заберет это может быть нужно например для кеша и хорошо для кеши очень удобно есть такой объект называется бы кэшбэк и выпьешь map содержит в игре princess и если у нас есть объект который кроме как в кеше в этом нигде его больше нет и у нас
01:10:19 - 01:12:13
начинается проблема с памятью вызывается garbage collector то тогда первым делом то он его заберет ну как бы да у нас начнутся мисс и в кеше но по крайней мере мы не были tiempo out of memory из за того что у нас перегружен кеш понятно-понятно суженого огромное спасибо я не знаю зрители поняли или не поняли но я все-таки наверно бы догадался что-то читаешь с гугла хотя можете в сторону периодически смотрел но настолько виртуозно была исполнена и по сути как бы когда я беру человека какая мне разница он это знает
01:11:18 - 01:12:28
или он настолько быстро может это загуглите что видишь человек не просто читает видно что он через себя интерпретирует то что он читает и понимает что он читает намного важнее чем человек который знает действительно вопрос хороший вопрос важно ли откуда ты можешь генерировать правильную правильные ответы то есть это просто из головы потому что это это вызубрил или потому что ты можешь найти где находятся правильные ответы мне честно говоря кажется что разницы нет и но это конечно больше вопрос к интервью
01:11:54 - 01:13:08
эру насколько это устраивает именно его да ну что у нас там остался последний гость до нас остался последний гость то так акции здравствуйте здравствуйте здравствуйте почему вас не видим меня зовут вася но у меня не очень хорошо сейчас у меня немножко бардак в комнате поэтому ну я даже не знаю как какая разница зачем мне мы вы меня слышите это нормально я просто по много людей в день интервью и мне важно без буквально виде человеке так я потом плохо запоминаю кто я не знаю у вас какие то по мелочам
01:12:29 - 01:14:05
каким-то цепляетесь ну хорошо ну ну ладно ну давайте что ли все-все-все вы очень не просто начинаете интервью ну но хорошо здравствуйте здравствуйте как вас зовут вася вася меня зовут вот вася вот и вот я хочу новую работу и вот решил сходить на интервью и заработать бабла запад можно на ты да можем над и но на самом деле ну я не знаю но какой-то опыт но у нее я не знаю ничего интересного так сплошная скука перекладываю и сын тоников формочки ночью-то ну-ка ничего интересного но давайте в порядке расскажите может
01:13:34 - 01:15:11
про какой там интересный случай из последних проектов какой большой провал например а да было дело я вот у меня в прошлый на прошлый работе как раз ноут не на этой которая сейчас а до этого там у нас было ну я там случайно не очень хорошо написал там был богов в конкурсе ну и в общем там все упало и было ну как ну ну короче за меня там компании считаете разорилась еще там ну конечно это не я потому что оно мне же не говорили сколько юзеров будет а там оказалось что у них очень много пришло я написал проверил ну человек на
01:14:23 - 01:15:56
10 работала там пришло 12000 и что-то как-то но она не очень хорошо получилось а потом еще не очень многом не очень хорошо они смогли разобраться в чем проблема но и другая история и ну короче вот такой не очень хороший она какой технологии это было написано ну там были что там было ну так дрова какая-то был плода хорошо давайте тогда просто оборот расскажите удачную хорошую историю там с положительным концом а ну так я же в итоге же этот баг же нашел про который вот я сейчас рассказывал я же естественно перед тем как увольняться я
01:15:10 - 01:16:26
себе весь source code слил ну потому что мало ли пригодится вот а потом я уже когда на новой работе был то я раз вспомнил что там же ну вот так вот все нехорошо получилось и я решил что это надо как-то вот пофиксить и поэтому я попробовал этот баг починить но у меня-то на компьютере тоже я не могу сильный прямо con carne сего создать поэтому я это к нам в продакшен ну вот в новой конторе залил но там в уголке чтобы не очень мешало и прямо вот туда дебаггер он подключился и в итоге значит вот я прямо нашёл нашёл этот нашел от
01:15:50 - 01:17:05
богдан такого trespass тоска по ней нет драгонию же разорилась же ты же я просто для себя уже но чтобы приятно себя чувствовать а тебе интересно кажется хорошо давайте уж к про технические вещи поговорим о том как то мы все технологии уходите вот у вас в резюме написано там всякие вещи вот конкретно парковку очень интересно поговорить а я не очень знаю что такое хорошо может быть какая-то другая альтернатива ну я не знаю чего ну вот он-то что-то с java же это кавказ вязаная ну друга альтернатив при наверно нет нет мы
01:16:28 - 01:17:47
говорим про грека у какой-нибудь kill jynx maze инженер не знаю не хорошо а как вы делаете асинхронную архитектуру микро сервис на не знаю про синхронную нет нет ладно киу это так это один из вариантов коллекции какие коллекции в коллекции знаю да есть такая библиотека google collection ей сказали не пользоваться понятно хорошо скажи со spring бутон доработал айдос по конечно я же а к костру том же конечно конечно я его очень хорошо знаю отлично скажи какая сейчас по диверсиям это на самом деле просто вопрос как
01:17:09 - 01:18:39
кажется потому что последняя версия последней версии дело относительно я ведь смотри например где последней версии может быть в nevian централи а может быть в артефакт ари которые у спринга и а там могут быть разной последней версии например или вообще может быть у тебя на компьютер есть версия и она у тебя последние у тебя нету новее а когда бы я не знала тебя на компьютер и последний раз он хорошо хорошо хорошо у вас вас проекте какая была вес и то же по-разному смотри у нас у нас работали slightest да то есть у нас вот
01:18:05 - 01:19:19
было написано типа spring mood дай мне самую новую версию wot вот и ты ты борешься и зря потому что это очень удобно потому что у тебя если как только вышла новая версия будто там могут быть security фиксы какие-то важные который ты можешь как который ты хочешь как можно раньше получить если работаешь ли ты с бац у тебя сразу же последней версии spring-у то очень удобно это вы так продакшене работаете ну конечно как же если есть security фиг цена даже всегда знать а если есть баги 1511 ну как нас найти выкатывается
01:18:42 - 01:20:00
сначала монет ну да да вот пожалуйста ты же понимаешь нас тренинги ли это тоже может быть другой города спрошу как последняя версия spring будто она где последняя на station гелена продакшене этот аят не важный вопрос не сегодня не сегодня мы узнаем ответ на их вопрос хорошо ты можешь сказать как что но вот во втором у тебя появилась во втором spring муки ада конечно да я когда в 2007 году бы ездил на spring была такая конференция напомним даже еще не spring гуан была она вот в майами я как раз первый раз майами был там очень
01:19:21 - 01:20:32
здорово там кубанский кофе продают очень вкусный я там сидел жену в первом ряду и там пришел как раз дэвид да и в ссср который пришел рассказывать про spring but что в принципе вот он придумал такую штуку это ее 13 лет назад придумали представляешь же 14 и он пришел причем такой смешной он вышел на кино в шортах и я такой сижу думаю блин ну кто то кто на сцену в шортах выходит что за позор а потом он говорит вот мы будем использовать мы when a к тому времени сожгли дал был и яду я ему кричу с первого ряда чувака что с горлом и он
01:19:57 - 01:21:07
типа посмотрел на меня как будто бы я что-то не то говорю но я же правило все говорил и как я знаю что я говорил с версии сайта это как связан вот так подожди вот как я знаю это просто буду как это знаю что я был проводив sair в шортах как дурак ноги ноуте был не прав потому что потом мы с юргеном хоррором встречались на джокере и я ему сказал юрген ты помнишь я вот кричал что нужен грей dawnguard каша помню я говорю смотри что вы сделали бы теперь нагрели вот значит я был прав и он говорит ну как-то он так плечами пожал ушел но я-то
01:20:32 - 01:21:46
понял что он про себя говорит да черт бору был прав надо было его слушать 2007 году вася то есть одну я к чему это все что вот же новая вот конец то они дошли до того что я в 2007 году говорил и теперь там грейбл spring будет я понял давайте поговорим немножко про архитектуру мы в принципе вот занимаемся тем что распиливаем многим компания монолит и на микро сервисы как у вас с этим опыт ну ты лучше это это это очень неоднозначное решение очень неоднозначно потому что ну как ну в microsoft тоже есть недостатки
01:21:09 - 01:22:22
потому что вы на самом деле размениваетесь сложность внутри одной единицы на сложность зависимостей между этими единицами я бы так быстро вот не стал вот сразу базовая если клиент просит если привет просто спицами к сервису что способна что клиент понимает слушай ну мы ж тут профессионал мы же тут консультанты наша работа это объяснить клиенту что он не прав я вам йоргену холеру с дэвидом сами рамы сумел объяснить что они неправы когда вот я рассказывал в 2007 году 2000 они там рассказывали про spring but i я им сразу
01:21:46 - 01:23:02
сказал не надо мэйвен надо делать на крэдл и также с микро сервисами надо говорить ребята посмотрел посмотрите может быть вам не нужны моя красавица потому что сколько лет мы делали монолиты все было отлично а какие преимущества в микро сервисов если ты можешь сказать валите всегда все не нужен смотри они маленькие они же микро сервисы они маленькие их очень удобно их читать и на них смотреть приятно потому что они такие вот небольшие вот ну как ну не очень много пользы хорошо слушай мне просто интересно
01:22:24 - 01:23:39
насколько адекватно целью самого себя вот какой нет из той точки зрения твой главный недостаток но главный недостаток главный мой недостаток это что я я я очень часто бываю прав и это раздражает людей то есть вот я вот вот я спорю и потому что ну я же знаю что я прав и вот иногда когда кто-то со мной не согласен вот и я им объясняю что я прав и вот я знаю что делать и они не согласны но там по-разному получать иногда приходится ну как-то ну не очень мило им объяснять ну там знаешь там попадаться подзатыльник
01:23:04 - 01:24:18
дашь кому-то ну потому что ну что он чушь несет ну и потом как-то неприятно получается ну может быть вот это мой главный недостаток до качество какая тогда у тебя главное ну как ну я же то что я всегда умею убеждать то есть вот я всегда умеют донести свою точку зрения и чаще всего люди со мной соглашаются не потому что я их там и там стулом понимаешь окатило потому что я прав на самом деле они в итоге понимают что я прав бывали случаи когда не получилось убедить кого-то ну тут всякая конечно бывает да а ну вали меня пару раз но это
01:23:44 - 01:25:13
потому что они знали что я прав на самом деле просто не хотели признаваться но это понятно ладно последнего просто так тебе скажи мне где ты видишь себя там через три года 5 лет ну давай честно я не люблю работать очень не люблю это вот это все я делаю через силу и она мне ну вот абсолютно вот-вот не в кайф поэтому я бы конечно через три года хотел бы уже быть на пенсии я бы уже хотел там на пляже такере попивать и вот как можно скорее вот-вот перестать работать вот это моя цель в жизни я понял большое спасибо
01:24:28 - 01:25:57
когда какого числа я выхожу из душа я жду я уже уволился с прошлой работы готов начинать да да вы нас обидели по другому не могу быть так ну что давайте вернем не пожарил обратно давай мы хотим и разобрать что мы сейчас видели то есть если первый баров показал профессионализм и умение искать информацию настолько высокую что все остальное не имело значения то сейчас мы видели максимально антисоциального человека который нарушил все правила и для того чтобы адекватно осталась какая-то практическая польза для людей
01:25:11 - 01:26:35
которые проходят интервью хочется несколько таких основных советов дать которые за рамками за рамками технических аспектов больше подходят под протестующий жизни есть очень важный принцип называется принцип спирали когда вы что-то рассказывать о себе-то думайте о том слушать который проводит вам интервью он не просто хочет узнать о вас он еще хочет понять насколько вы понятно умейте объяснять и насколько вы работали в значимых проектах поэтому вместо того чтобы сразу прийти говорить а я там будет ерунду делал или или
01:25:56 - 01:27:15
рассказать про какую-то конкретную технологию который чек писал если вас не интервьюирует какой-то супер африку ты техно и который не оценит сложно skoda то имеет смысл сначала объяснить для какого клиента это делался этот проект насколько это клиент значимый важный насколько этот продукт очень влияет если это возможно сказать про это потом объяснить какие команды работали над этим проектом потом сузится до своей команды какие задачи конкретно наша команда дела и потом уже рассказать про что именно я
01:26:37 - 01:27:38
делала в этом проекте это мой вклад то есть тем что вы предали значимость всей вашей работе то потом когда вы рассказываете про то что делали именно вы даже если вы формочки как говорю барахла джейсона к библейским это будет звучать намного более круто и кроме того вы показали что вы человек который интересуется что происходит вокруг понимает где он находился что он сделал зачем это делалось и это соответственно добавляет как бы какой-то серьезности по отношению к вам и есть у меня 3 золотых правила который
01:27:06 - 01:28:14
мне кажется работают всегда правило первое никогда не говорите слишком много информации потому что это во-первых может показаться что вы не знаете когда становиться опять же плохо объясняете и пытаетесь увести тему какую-то трубу и потратить время подумать о том что к тросами следует он знают меня из 40 минут я за 40 минут должен сделать прогноз он только что пять минут у меня украл рассказывая как они летали на конференцию я ничего не понял о нем кроме как шон прикольно рассказывает но мне нужен чек который бы писать код а
01:27:40 - 01:28:54
пять минут он потратил и он что тебя не понимает этого и это очень плохое теперь есть обратная штука как можно использовать дополнительную информацию про которую не спросили для того чтобы проявить себя с хорошей стороны например нас спрашивают про кафку тут мы переходим постепенно ко второму правилу который говорит никогда не надо говорить нет то есть боролся ровно диаметрально наоборот или на все вопросы отвечал нет нет я пытался ему помочь им нет нет и отрезал если чек спрашивают вас имеете ли вы опыт с кафкой а вы например ее в
01:28:17 - 01:29:28
резюме написали потому что это модно и молодежно но на самом деле ну естественно про него немного прочитали потому что понимали что спросят у вас реального production опыта нету и вы при этом совершенно не луками и даже без слова вранья говорите у меня в продакшене нету большого опыта сказкой этой фразе нет никого вранья и вообще я достаточно давно с ней работал но я про него хорошо знаю а поскольку выбор они прочитали то рассказать что вы хорошо знаете вы можете а дальше для того чтобы все таки ответить на
01:28:53 - 01:29:59
продакшен опыт вы говорите но сожалению последних проектах мне не доводилось работать скалкой но потому что мы все время выбирали по разным причинам другие альтернативные технологии например rabbit and you и дальше верить вам интересно рассказать как мы использовали на петельке у наподобие кафки и вроде как бы вы не заливайте человека ненужной информации периодически за эти вопросы по про это рассказать не создалось ощущение что вы сказали нет из вас просили ты-то знаешь то ожидали что скажешь да
01:29:26 - 01:30:25
иначе зачем была этот вопрос задавать есть такой анекдот который показывает как бы две крайности но в нем есть здорово и зерно и как бы здоровый цинизм студенты готовился к экзамену по биологии и поскольку билетом он не хотел учить про слишком большое количество животных он решил для себя такую стратегию карту любого животного есть плохие и поэтому я очень много выучу про блог и когда они будут спрашивать там расскажет говорить о том как на табло и рассказывать про как устроена блоха как этим заболеванием время закончится и
01:29:55 - 01:31:05
скажете по-английски так много знает даже про какие-то блок то понятно он приходит на экзамен и тянет билет там описано рыба и он говорит об а рыба живет в воде и поэтому у нее нету шерсти если бы она жила на суше у неё наверняка было большинства который бы абсолютно точно водились блоки а блохи и опять пошел рассказывать вот на собеседовании это в принципе если уметь чувствовать тонкую грань когда вы начинаете рассказывать про блоки когда вас просили про рыбу или когда вы переходите достаточно естественным путем очень
01:30:30 - 01:31:44
часто меня выручала потому что умный человек который проводил собеседования если смог оценить насколько глубоко вы разбираетесь какой то более менее похожей технологии он скорее всего предположу что то с чем нужно вы тоже сможете разобраться поэтому нет любом случае не отвечать ни на какой вопрос и последнее это чтобы вас не спросили вы должны заканчивать на позитиве и как вы спасли компанию как вы сделали что хорошая даже если у вас попросили рассказать про ваш провал даже попросили рассказать про какую-то очень плохую
01:31:07 - 01:32:18
самую неприятно конфликту ситуацию которого было или про там во времени произошел диплом это скажите как что случилось а почему чтобы вы не рассказывали в конце историю вы всегда должны выходить на позитиве то есть типа да вот был случай когда хотели использовать там реактив я был против и говорил всем что типа это будет это и люди не разбираются и потом результате мы запутались и было очень и был ужасный провал во времени стали дипломат но благодаря тому что я в конце там все баги нашел переписал и подчинил мы
01:31:43 - 01:32:54
сделали там реакции несмотря на то что со мной потом все согласились что лучше бы на реактивы не делали но я разобрался даже как наряд и вроде мы начали как бы с того что вас попросили рассказать или там про ваш недостаток значились недостатка закончили качеством всегда была как бы а вас позитивные впечатления вот что вот вам три золотых правил теперь один слайдам не говорить слишком много информации то есть но вопрос расскажи о себе не надо бы школе у меня была и заливать прочим прочие вещи которые даже
01:32:19 - 01:33:22
не спросив никогда не говорить нет но вопросы о знаниях и опыте и заканчивать любович на позитив вот и на этом позитиве хочется закончить если у вас больше нет вопросов
01:32:50 - 01:33:13