Тестовое собеседование Java разработчика #7 - Владимир Крылов

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

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

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

    00:00:00 - 00:01:39

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

    00:00:50 - 00:02:24

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

    00:01:39 - 00:03:30

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

    00:02:38 - 00:04:26

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

    00:03:32 - 00:05:02

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

    00:04:18 - 00:05:59

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

    00:05:10 - 00:06:41

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

    00:05:58 - 00:07:48

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

    00:06:52 - 00:08:22

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

    00:07:38 - 00:09:17

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

    00:08:28 - 00:09:54

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

    00:09:13 - 00:10:51

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

    00:10:03 - 00:12:02

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

    00:11:02 - 00:12:47

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

    00:11:55 - 00:13:50

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

    00:12:50 - 00:14:58

  • и поле skills то есть спел сайдик и получается что у одного юзера может быть много сколов и на варде что у нас будет две таблицы на этом случае все получается три этапа жена будет компьютер skills внешних нужно хорошо согласится давайте rachel's приложение нашего и сбежался и шум бы не думаете и что эти пытались объяснить 4 heavy rain вот этими нотациями как как идет mapping по самой базе данных и в одном случае мы указываем нужно лишний ключа а в другом случае мы указываем or motorbike положен выбираем

    00:13:58 - 00:15:44

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

    00:14:57 - 00:16:41

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

    00:15:54 - 00:18:08

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

    00:17:04 - 00:19:10

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

    00:18:19 - 00:20:20

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

    00:19:20 - 00:21:28

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

    00:20:33 - 00:22:04

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

    00:21:19 - 00:23:09

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

    00:22:40 - 00:24:33

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

    00:23:35 - 00:25:24

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

    00:24:50 - 00:26:28

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

    00:25:47 - 00:27:35

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

    00:26:45 - 00:28:41

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

    00:27:47 - 00:30:10

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

    00:29:00 - 00:31:00

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

    00:30:05 - 00:31:58

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

    00:31:07 - 00:33:10

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

    00:32:18 - 00:34:09

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

    00:33:15 - 00:34:45

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

    00:34:01 - 00:35:25

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

    00:34:40 - 00:36:14

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

    00:35:30 - 00:37:04

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

    00:36:15 - 00:37:53

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

    00:37:05 - 00:38:32

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

    00:37:49 - 00:39:44

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

    00:39:23 - 00:40:49