Подготовка к собеседованию на 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 каналы и чаты
Транскрипция видео:
Привет мир Сегодня я провел собеседование с действующим синьо разработчиком зовут его Антон у него семь лет коммерческого опыта но будет он отвечать сегодня не на вопросы сеньора А на вопросы Джуна и метла для чего для того чтобы Вы могли посмотреть как должно проходить идеальное собеседование или близкое к идеальному а теперь поехали я не прошел испытательный срок есть вот на вот и скорее всего это очень хороший подход тебе вообще не товарищ поехала Антон привет Сегодня у нас такое собеседование Да
00:00:00 - 00:01:26
соответственно Ну что Антон готов отлично соответственно Я посмотрел твое резюме видел большое количество опыта поэтому наверное такой вопрос с которого постепенно бы я бы хотел начать наше обсуждение Расскажи немножко просто о своем опыте Да что ты вообще делал Чем занимался последнее время [музыка] в конце учебы в школе Я уже подумал что самая близкая ко мне существо в мире это компуктер поэтому мне даже не было сомнений На кого учиться но возможно я сделал неправильный вывод из этого Потому что я
00:00:53 - 00:02:14
поступил в непрофильный Ну ладно густо может быть каком-то смысле профиле хоть поэтому как бы программистов из нас особо не делали инженеров делали поэтому чертить все подряд рассчитывать страшные вещи типа диаграммы железа углерод надо знать всякие разные языки программирования это достаточному принципу слава Богу хотел Ну когда закончил Универ Как бы мне было все равно на чем писать такой большой плюс незнание никаких языков программирования одинаково не знаешь все я более-менее знаю два языка это Sharp и
00:01:46 - 00:03:20
Java писать мне было все равно на чем поэтому я искал вакансии как и пожаре и так уж вышло что первое место куда пришел мне сказали что ну парень Нам нужен Java разработчик написать будешь на груве вот типа блин какой еще груве знакомая история Ну ладно так поспрашивали такие простые вещи и сказали вот тебе значит ссылка на книжку поиграл две недели сделать тесто я сделал тестовое меня позвали такое молодец сумел делать что наоборот что чуваки расскажут сколько у меня есть скажет короче переделал нормально тогда меня взять
00:02:38 - 00:04:15
в тот момент я узнал что в мире есть я подработка И что как бы на всяких тяжелых языках условно тяжелых языках можно писать очень даже б вот В группе очень много теперешний наверное еще больше но к сожалению я был не сильно расторопны молодым человеком хоть и старательно и я не прошел испытательный срок после чего Оказалось что в моем городе есть две конторы пишут на ГРЭС в одну из них меня не возьмут по той причине что там скажем так ладно три конторы получается в одной работал потому что в ней
00:03:29 - 00:04:55
руководство это мой бывший тимлид с места Испытателей второе место там сказали что блин у тебя что-то опыта вообще мало Нам нужен американский проект они оказываются соответственно и оказалось что в мире не так уж много мест где Куда я могу добраться где пишут нагрелся пришлось учить жару заново потому что К тому моменту короче оказалось что давным-давно вышла восьмая А я к этому моменту такой думал что блин Java она конечно такая старомодная короче многословная не интересно ничего там нет блин замыкание
00:04:14 - 00:05:45
динамическая типизация все на свете блин как и обратно казалось что это и функциональный интерфейс соответственно появилась много чего Я до этого не видел Блин пришлось заново осваивать язык пришлось познакомиться с прингом и я наверное столкнулся с той же проблемой с которой многие его изучает это то что ты хватаешь книжку книжка по как у меня тогда было по Spring 3 короче в мире давным-давно 4 я такой ну блин Сейчас я все напишу бинокль все дела Все красиво все про все замечательно короче Примерно с таким настроем делал тестовое
00:05:09 - 00:06:37
задание на следующую работу на этом тоже посмотрели неандертальцы которые будут есть вот на держи Как много мать тот момент я был офигел что Spring Data джипа есть примерно та же Магия что грело-совском горле только поменьше конечно за меня кто-то будет писать запросы так приятно не надо писать самому и все-таки я попал следующий место где проработал 4 года писал всякие разные вещи начиналось все с того что мы писали серьезный enterprice Soft который будет считать модели прогнозирования считать
00:05:56 - 00:07:35
планировать потребление энергии ресурсов для больших супер мега корпорации в том числе для тех кто будет эту энергию покупать подешевле купишь подешевле продаж в общем потом нечаянно нас занесло в криптовалюты и это было очень такая версия меня не лучшая Как мне кажется потому что я тогда прошел наверное все стадии это Гнев принятия потому что принятие было в самом конце вот гнева было много Потому что когда вас очень мало у вас супер-пупер Мега амбициозный проект Мы хотим создать свой банк с нуля Никто из этого ничего такого
00:06:48 - 00:08:17
не делал У нас как бы нет идеи но есть рисунок на доске маркером правильному правлению казалось Вот это заняло три года моей жизни то есть работа с криптой там было разное я писал в основном как обычно букет на Джаве потом пришел хайп на котлин я перешел на него мне все так сильно нравилось я думал Блин сейчас точно все подписать на кофе оказалось что моя мечта разбилась простой проблему Что кроме меня есть и так много людей кто готов со мной вместе писать поэтому как только Короче мы взяли еще
00:07:31 - 00:09:12
одного человека на этот проект оказалось что блин придется все переписывать обратно на javaх и это блин очень плохой опыт переписывать то что было сделано то есть это смотреть Короче когда вот ты такой пилишь какой-то другой софт и у тебя есть доступ и ты просто смотришь в истории как планомерно выпиливается гредал позволяет тебе выполнять компиляции последовательно поэтому так получалось что мои написанные всякие штуки написано менялась а я просто сидел И грустил другие вещи мне кстати котлин был такой первый серьезный язык
00:08:25 - 00:10:03
программирования я вот сначала скоттлин на начал вот настолько я тебе завидую он короче если бы я начал с него я бы наверное считал что программирование это вот попроще немножко то есть такие гибкие языки оказывается есть люди которые говорят что вот этот живым это вот многосложно это все сложно это все очень просто мы такие крутые модные У нас есть конечно это хорошо но последнее время стол ну на github всякие Пэт проекты потому что сильно не хочется отставать от мира он что-то сильно сейчас прогрессирует
00:09:28 - 00:11:10
новые версии Java выходит коснется время обновляется фреймворки дистанция обновляется 21 даже есть я даже не хочу та старая мания что-то поменялось это все как-то нет вот поэтому последние годы я так сказать померил свой пил пишу на том что дают читают то что написано в архитектурном паблике без практики все соблюдаю как могу версии беру те которые лежат нашим хороший мальчик далеко не отклоняюсь от линии партии все возможные свои порывы Я уже себе очень скучным человеком потому что я вообще ничего
00:10:32 - 00:12:20
на них начинают их начинаешь писать другой стороны ничего не понятно будет Блин у меня было много непонятного вначале а потом блин как-то это странно короче дело пишешь микро сервисы пишет что системки потом ищешь книжки Анти паттерны по микросервисам и узнаешь Это мой кот Да блин ну да ты думаешь почему так нельзя было смысле так нельзя было Разве это плохо было мол антипатерна то что поначалу казалось хорошей идеей неудачи типа ошибка это то что изначально было поэтому ошибочные решения чувство очевидно
00:12:19 - 00:14:03
я вот на это делать ужас сколько не читаю почему-то я не при исполняюсь этим святым направлением Почему наверное потому что Сколько лет прошло Я кроме разве что всяких едосов всяких конференций выступлений на эту тему не видел ни одного настоящего сервиса так написано Я имею ввиду большого учебных Я видел много но большого Почему не видел может я в такой среде просто обитаю где другой подход архитектурный это очень печали возможно но как есть Ну что давай потихонечку перейдем конкретно уже к вопросам я начну попроще
00:13:11 - 00:14:44
потом посложнее там как получится давай начнем типа прям с таких скоро наверное можешь рассказать про класс обжег методы его и в целом модификатор найти Боже мой Ну в общем отец всех объектов есть даже мнение что отец даже того что не очевидно является объектом включая янамки и рекорды джайли после 14 отец всего имеет штук 15 методов самые известные которые все спрашивают есть конечно всякие Клон там есть Очень интересный метод [музыка] Какие же там такие очевидные о которых часто вспоминаю помню что их очень много
00:14:09 - 00:15:50
и многие из них на этих По той простой причине что их реализация полностью ложится на платформу то есть на реализацию gpm либо кто-то говорит даже на операционную систему Может они правы по правде говоря кроме как Где больше конечно каких-нибудь обертых классным я не помню там точно реализации Окей смотри Знаешь ты вот сказал про прохож код мне Мне вот интересно можешь в целом знаешь такие условно но обозначить там одну или больше проблем которые могут возникнуть если условно я хаш кот реализую там типа Return единица
00:15:17 - 00:16:45
например где может выстрелить Вот это Да блин это как бы типичная беда про то что есть куча разных структур которые Хеш таблицу в просто массив из связанных списков или у тебя будут другие какие-нибудь проблемки совсем Где тебе приходится выполнять сравнение объектов стало быть тебе придется слишком часто приходить к сравнению объекта по полям или Еще как-нибудь получится что придется всегда придется сравнивать время числительные сложности и говорят не очень хорошо сказывается вообще на производительность
00:16:28 - 00:18:13
кто-то даже блин помню вырабатывал методики Как правильно считать хеш-коды на разных реализациях кто-то говорит типа Давайте просто согласитесь с тем чтобы целочисленный адрес какого-то объекта в оперативки Честно говоря я не видел как реализовано допустим кто реализации лимерику мне честно говоря даже все равно как реализовано главное что это работает Кстати да проблемы у Хеш куда-то очевидно что хешко о том ментовый и данный диапазон значение все на свете упихнуть не удастся поэтому коллеги будут рано или поздно
00:17:34 - 00:19:03
но слава Богу не так часто может показаться Мало таких Ну вот как раз как раз кейс единицы это как раз постоянная коллизия получается но блин да Ага Так что хотел спросить как раз наверное наш Вопрос такой уже отстраненный Да там обжиг то но вот немножко версиях Java которых мы поговорили не то что появилось до Это я не нравится этот вопрос типа что появилось каждой версии Java Человек сидит читает вопрос потому что я вот недавно читал там типа от 9 17 [музыка] как бы это же надо какой иметь память
00:18:29 - 00:20:01
чтобы запоминать что стало Блин как это называется у них это в инкубаторе это типа у нас что-то из отряда это быть тестирую это инкубаторе это вот видите и там короче с помощью разных флагов и всего такого можно разрешить тебе это все использовать Блин я не хочу так делать короче меняете Периодически я лучше Вот и мне кажется спрашивать Это нечестно Поэтому просто немножко про другое вопрос простирание типов для чего для чего эта штука где она используется Почему так появилась если какие-то проблемы связанные с тиранием
00:19:21 - 00:20:44
Ну стиральный типов это такой механизм интересно очень про то что сведения о чем мы прием сведения о типе якобы стираются во время фронтальной действительно с помощью темной магии все можно вернуть типизированный параметров параметров Какие из этого всего у нас возможны проблемы так как в фронтальная проверки типов Нет она есть нехороший человек засовываешь животных список чисел но как бы кто тебе мешает написать Нехороший ты сначала создашь лист чисел потом присылаешь переменной объектов а потом начинаешь работать с
00:20:11 - 00:21:46
этим листом объектов как-нибудь нехорошо например попытаешься запихнуть туда животное какой-нибудь он скажет Ой подожди мне же есть числа подожди ты же лист объектов Нет я не лист объект классный Ладно таки ситуации на самом деле мне кажется умозрительные в основном потому что ловишь ты их редко относительно редко тем не менее их можно поймать И вообще вот это вот стирание типов [музыка] по моему очень такой интересный механизм потому что Java пошла не выбрав шаблонизацию и скорее всего это очень хороший подход
00:21:21 - 00:23:05
Вот и под капота работает на слава Богу мы можем это все проверять сейчас еще такого сказать что далеко не уйти наверное уже никак не получится далеко не уйти в целом в целом наверное вопрос ответил Я как раз ждал Да вот этого момента по 5 джавы того как Как устроена обратная совместимость в целом наверное Вот это холиварная тема писали же без оглядки кто-то сейчас делает Зачем вот это все поддерживают Видимо кому-то это нужно честно говоря правда блин если это кому-то нужно почему же иногда код скомпилированный
00:22:29 - 00:24:02
под какой-нибудь 8 Java может не завестись это редко но может тем не менее так и было решено и мне как-то свободно спокойно живет с этим я еще тогда не программировал Когда это случилось так я тоже получается Я тоже я вообще попала Это было 7 Короче я думал Какой сложный язык мне это было справочник шилда по 7 джавеет я так думал Блин я сейчас все самые интересные прям сидишь такой листаешь пакеты методы в коллекции так по-любому Шарп открываешь Так давай наверное двинемся потихонечку внезапно может быть очень
00:23:31 - 00:25:17
быстро но к мейвину вот мне захотелось в таком порядке вопрос задавать не знаю почему смотри если вопрос довольно такой практически Я думаю что проблем не возникнет Если у тебя есть какой-нибудь толстенное приложение и условно ты его условно Расписал Да у тебя был Монолит и разделил на много много микросервисов И в целом они в чем-то очень похожие между собой как бы ты реализовал вот менеджмент плагинов зависимости между этими микросервисами может быть чем бы пользовался моей войне Ты про то что взяли страшные люди
00:25:09 - 00:26:31
создали понимаешь стартеры Ну в том числе там на самом деле оказывается не Мы единственные вообще белых материалов сприн бутовой это блин Классная штука когда можно перечислить все стабильные Ну ладно используемый разрешенные версии те библиотечек на будущее если кто-то захочет что-то подключить это все не ломало наш бил но это не работает ломает ведь по факту Но короче так ты быстро узнаешь что dependence есть exclusion Иногда приходится много а если ты сильно крутой Джедаи ты еще можете использовать и уже говорить типа
00:25:50 - 00:27:24
Какая бы версия тебе не нужна была знает я конечно плохо сделал Я задолбался сказал Ну если тебе надо будет аннотации ты пожалуйста Бери 17 версию 13 все На этом вопрос да про менеджмент плагинов подробнее расскажешь там что вообще использовал какие-то и Ну как бы знаешь до сдэка я не пользовался мамином Почти вообще то есть я пользовался поэтому это для меня было новинкой то что есть плагин Я думаю что вообще есть процесс сборки в мае настолько привык гвоздями что вообще чего изменить нельзя Но
00:26:45 - 00:28:27
оказалось что Вполне есть и настройки разные из коробки есть просто иногда надо подкрутить допустим у меня почему-то ресурсы плагинами нехороший пытаться что-то сделать нехорошее Поэтому просишь пожалуйста если будешь складывать то пожалуйста ничего с ними делать так-то вообще плагинов очень много если говорить есть даже там для тех кто любит суап есть ну как бы мамины сами по себе умеет авторские выполнять команды короче но в своей жизни пару раз мне приходилось пользоваться Я даже называется такой
00:27:58 - 00:29:49
плагин который умеет по ВСД компилировать иерархию класса плюс конечно же есть там для документации плагин чем там используется дабы все красиво собиралась что еще [музыка] были даже не знаю что еще интересно а в основном по моему [музыка] по моему Я использовал для прогона тестов плюс еще там что-то конфигурировал его чтобы в те времена когда у нас сервисе процветал 5G процветает но по какой-то причине кто-то догадался в разнобой написать часть классов на пятом какие-то четвертом и стандартный
00:28:55 - 00:30:53
точнее как было все было 4 и ты чисто случайно осознаешь что то что написано 4 допустим выполняет при сборке допустим когда ты выполняешь там начинается небольшой танец пожалуйста Пятый тоже привело к тому что мы просто выпилили не помню ни одного может если ты подскажешь так как-нибудь Какие еще бывают у нас я тебе скажу но часто Ну вот Какие вещи еще есть вроде dependence и менеджера когда ты прописываешь когда ты прописываешь все зависимости спасибо С очевидными версиями упомянул просто не назвал конкретно
00:30:13 - 00:31:45
штуку но в целом таких много кстати поджар плагин классная тема когда ты его не было Я помню Еще Были времена Эх классные Были времена это правда уже несмотря на когда короче не было встроенного вернее спринт тоже был Но хотелось иногда отлаживать путем того чтобы поднимать у себя там как там Как складывался твой в армии собирали короче хотелось отлаживать запущенным там капель чем без падает такой красивый все можно было бы сделать руками поднял открыл порт для отладки пошел туда хотел чтобы классное было время Слава Богу что
00:31:40 - 00:33:11
прошло страшное время не хотят его вспоминать когда мы варники как складывали вроде никому не хочу такое смотри она у нас сейчас там осталось 4 минутки надо переподключение Можешь пока вот за эти четыре минуты там условно рассказать про транзитивность рассказывал про их слюды Я думаю как раз это будет уместно так в целом что это за механизм может быть почему он есть Для чего нужен Что может быть плохого ситуации например то есть что ты допустим проекте конечно и они скорее всего если ты не сделал
00:32:45 - 00:34:16
какой-нибудь короче если ты их не отрубил как-нибудь то вся эта штука будет присутствовать в итоговом джарнике соответственно оно все перенесется произойти как каждая зависимость те от которых она зависит В итоге большой проект получает просто кучу версий одной что они могут даже конфликтовать мамин конечно умеет строить зависимостей подтягивать ту которая но иногда встречаются проблемы Хуже всего когда нет встречаются вронтами у меня такое было Я помню использовал которая умеет экселевский писать читать
00:33:45 - 00:35:30
тоже использовал тоже увеличила Да вот у меня была хорошая Блин что делать и я упаду на всякий случай очень было неприятно но слава Богу слава Богу что мы пользуемся плагинами идеи Слава Богу что они все конфликт показывает потому что иначе я конечно понимаю что умные люди умеют 3 использовать что там у него в дереве как она выглядит Но честно вот это еще надо ходить все это дело намного приятнее разработки это конечно минусы что я типа сейчас уже даже как бы наверное пользоваться терминалом у многих случаев
00:34:43 - 00:36:34
но тем не менее как бы если дано то лучше использовать я прослушать и там столько лет не пользовался это терминала честно я понимаю не было галочки надо запушить блин нет людей которые [музыка] короче там ограничилось Вот именно вот этой операции сейчас полностью уже сейчас Давайте переключимся Спасибо так так и мы продолжаем наверно в принципе по мейвину У меня просто кончаются сейчас рубрика те вопросы которые у меня давно просили задавать многопоточность не очень часто спрашивают мы так говорим
00:35:54 - 00:37:40
для тебя [музыка] Расскажи может быть наша базовых способах базовый способ создания потока чем пользовался чем можно пользоваться есть два замечательных стали трек или реализовать реализовывать рад был еще Кола был как их много я хотел поймать уже около был короче можно реализовать и тогда к сожалению не сможешь или все-таки реализовать в принципе большинстве случаев тебе надо что-то хватает Из минусов что если стартовать надо не забыть передать можно говорить про различия Ну что там различие рано был ничего не возвращает Это мой
00:37:43 - 00:39:43
коллабо возвращает можно вызвать Если хочешь получить результат было бы круто не приходилось бы ждать сразу Я помню время Короче когда появились что охрененная штука можно просто спрашивать все или еще и ждать одновременно даже удивительно что скорость нифига не повысилась Почему Все равно долго если по 2 секунды отвечай что говорит вообще классная тема если рассматривать всякие разные сервисы разные время те же самые хочется шли потому что можно было какое-нибудь действие планирую тебе пожалуйста действие
00:39:12 - 00:41:08
выполняя его и вот говорю через сколько мне это вообще заходила Потому что некоторые действия с помощью этого делать [музыка] в тот момент показалось мне как повысилась это быстродействие Ну ладно просто скорость ответа на листы Но блин на самом деле выигрыш никакого Особенно учитывая что там подружился Так что дальше чем простые задачки Вот это сделать Зачем это делать потому что на практике где У меня в жизни будет коллекция Стрим запихиваешь это правда должен быть такой какой-то прям очень специфичный продукт для всего
00:40:55 - 00:42:36
этого есть парки и так далее очень классно Я как раз вот Летом Летом когда уходил в компанию X и потом из нее ушел как раз вот занимался спортом Так что это было интересно правда я помню времена на конференции но проблема в том что бабки поэтому были прикольные кейсы что есть методы которые могут принимать не более 8 параметров Сейчас расскажу тебе не помню просто помню что это был Прикольный такой кейс когда Джейк Что почему Я тоже не видел я даже не вспомню потому что не видел так поэтому я понял В целом Тут прям
00:42:16 - 00:43:56
знаешь начинаешь рассказывать о такой вот вопрос и ты начинаешь рассказывать дальше вот у меня сразу четыре четыре такое время Короче не знаю не задавал А я просто знаю какие я не знаю это лайфхак для всех кто посмотрит Да так Так давай немножко такой тоже вопрос не сложный Да прям ютексы мониторы что это для чего вот я вообще не товарищ простой причине что я не помню что такое Вот правда реально не помню это сам это база Но в моей голове все это перемешано начиная с того что типа Это явно для того чтобы
00:43:40 - 00:45:39
как-то разделять доступ определяет что-то захвачен что И что я не скажу я эту штуку когда-то себе Ладно что-то там является одноместным чем-то другим Да тут ты прав но так мне могу подсказку дать какую-нибудь здесь хочешь мне это не поможет Да уже все свое лицо Да не подожди Посмотри на мужа когда сохранились пишем мы мы же на объект правильно и мы говорим что мы захватили у этого объекта что-то Ну на самом деле индекс монитор данном случае типа это одно и тоже вот а Вот как раз символ Форд там это другая штука
00:44:46 - 00:46:26
может быть может быть это что тебе подскажет это которая демонстрирует состояние Ну получается как раз когда говорил про про одноместный много местный вот эту всю штуку что получается мютекс или монитор это одноместный семафор то есть соответственно Ну в данном случае у каждого типа объекта если тут монитор Да который захватывается вот получается мы только условно одним потоком то можем что-то делать А симофор это типа несколько мест несколько короче потоков могут доступ получить мне это придет пересматривать
00:45:56 - 00:47:22
точно записано короче Потому что я в свое время Короче когда книжку по Java concards читал плюс еще потом помню я даже курс купил на купил короче прошел и забыл С тех пор я знаю про существование штук типа Блин как я так забыл Итак интересного было Фейзер не помню вообще помню пока тоже помню и вот там было самом начале на самом деле я тут такую не знаю свою боль расскажу я буквально этот же вопрос вот ровно как это я тоже момент когда мне спросили там последний раз и такой Ну вот да там что-то одноместное много
00:46:45 - 00:48:34
местное вот так что я думаю я думаю я тут не просто так тоже добавил Я думаю что и многопоточку почему-то ожидания много спрашивают просто потому что я думал какой-то общее понимание этой темы в комьюнити Мне кажется есть просадка какая-то [музыка] потому что в таком виде в котором написано потому что мы как бы из своей жизни коллекции потому что кон Карен хашмар были там копии он играет встретишь всякие такие крутые штуки типа Да я вообще не видел не слышал поэтому как-то так сложилось наш Короче
00:48:02 - 00:49:49
мы испорчены спиннинговый Да я думаю в этом есть беда Потому что часто даже не знаю что кроме него даже вот на собеседованиях Я сколько был не знаю раз в четыре раза спрашивать это такой Ну все понятно значит сюда и в эту компанию не попадаю блин это такое правда я прям короче бросайте Мне прям было я помню меня чуть 40 минут из меня пытались это слово выжить реализацию Я понял что я туда точно не пойду они тоже поняли так Ну давай вот мне тут таких три вопроса Я их на два разделю Наверно так будет точнее объединю Вот про voltail
00:48:55 - 00:50:33
что можно сказать вообще когда-нибудь видел последние последнее время это я вот лично Нет я давно видел очень очень давно я видел тогда когда Раз уж есть какой-то мифическое куда-то Наверное это плохо не актуальная версия да я читал книжек написано что плохая практика потому что в алатаем он же позволяет выполнять разные оптимизацию во-первых перестановку операций разрешает без него можно Ребята может выполнять установка операции то есть они будут выполняться как компилятор считает будет быстрее
00:50:06 - 00:51:30
сначала прочитали потом записали Казалось бы ну по ходу компилятор может делать вещи которые я не ожидаю Да поэтому короче модификатор для потока безопасного какого-то взаимодействия с переменной дабы она нигде не кэшировалась Стопудово взаимодействие с ним с ней получается было упорядоченным и Да я его использовал очень давно Если вы беспокоитесь Может вам не нужно общее Может вы хотите чтобы каждый потока была своя на самом деле грязно очень использую Потому что потому что где мы используем тоники я иногда внутри лямбда выражения
00:51:09 - 00:52:58
представляет я нехороший человек потому что теперь когда говорят а я еще остаюсь и Слава богу Никто этого и Слава Богу что это не не массив из одного элемента тоже кстати прикол был в том что меня свое время как раз мой наставник говорил мне Смотри как я могу реально создаешь значит массив из одного элемента вообще не меняется блин работал кофе не с этим конечно проще наверное последний вопрос по многопоточности Вот блин класс Ну так мы можем здесь обсуждать очень-очень много полтора часа у нас прям максимум потом
00:52:29 - 00:54:09
замучаемся после работы наверное скажи так Да просто расскажи про дедлок и рейс кондишен какие-то кейсы может быть может у тебя из реальной жизни где-то это было потому что дэдлоков у меня прям таких по-моему не было потому что ситуация когда ты из двух массивов Взаимно пытаешься захватить ресурсы друг дружки говорят что у кого-то Бывает такое что действительно не могут падение может отпустить а другой тоже не может отпустить они вместе в мелодрамах могут схватить вот такая ситуация когда два или более
00:53:46 - 00:55:23
потока не могут получается обменяться данными не могут захватить ресурс потому что тот который уже этот ресурс держит пытается захватить ресурс своего товарища противника делает наоборот не могут Как захватить так и получается вот интереснее лайфхаки у меня были и это вообще лайфлок это получается такая ситуация когда потоки якобы не заблокирован потому что Ну как бы в ожидании часто сильно желаешь Вот они вообще не ожидают они все деятельные очень но при этом какую-либо полезную работу бы если как обычно говорят представьте
00:54:36 - 00:56:25
себе двух людей которые не могут никак поступить друг другу дорогу и все такое И знаете в жизни происходит У меня такое бывало правда я почему так есть не помню просто ситуация когда у меня было два потока Я никогда пытались данными обменяться якобы такое было И причем работа шла Я смотрел на тот момент была такая классная штука мелодия не вижу уверен по круче состояние потоков замечательно работают метод выполняет заблокированы потоков Нет при этом время идет и ничего не происходит вот я ловил более страшные ситуации в
00:55:38 - 00:57:23
прадеду Там уже все связано с тем что я читал данные чаще чем обрабатывал Ну кто работал склад стримс Может это уже проработал краски спиннинговых ивентов и про то что такое applicational сколько Red starvation всякие штуки которые можно искусственным а про райском пишет все это время я думал что та самая ситуация когда они не могут обменяться Возможно там есть какой-то более глубокое значение сейчас как бы объяснишь я резко вспомню Да Сейчас я начну писать я буду неправильно объяснять Ладно я постараюсь я постараюсь соответственно
00:56:36 - 00:58:23
допустим у нас опять же та ситуация с какой-нибудь одной переменной есть потоки и они все допустим в эту переменную там инкрементирует Примерно вот какая ситуация может произойти какой-нибудь условный как у нас происходит запись переменную мы считываем значение переменной но потом там добавляем Да соответственно может быть такая ситуация что Мы считали в одном потоке до значения переменной другой поток соответственно в этот момент все еще действием он уже записывает новое значение и мы тоже как бы увеличиваем на один и
00:57:59 - 00:59:22
записываю это же значение хотя у нас должно было только бы сделаться плюс два получается всего плюс один Так давай смотри у нас сейчас там в районе 20 минут есть но я не спросил у тебя ничего по спрингу и у меня была пара Просто таких типа как бы ты оптимизировал запрос и так далее В таком формате Давай сейчас пару вопросов прошу спрингу И потом такие более открытые задам Сколько сколько успеем короче хотелось бы короче да В идеале вас полтора часа чтобы было такое стандартное хорошее собеседование
00:58:45 - 00:59:55
[музыка] так смотри очень такая типичная ситуация не сложная Вроде бы да для решения У нас есть два вина они условно говоря одного типа в итоге мы куда-то их происходит двузначность как ты бы решал какими подходами [музыка] говорит я ожидал что будет один бина нашлось два ставить аннотацию правильно одним из них или использовать квалифаер Когда будем вставлять или еще что-нибудь поинтереснее потому что в поинтересней короче вот поинтереснее у него Бывает такое что допустим ошибки текст ошибок валидации
00:59:21 - 01:00:59
но при этом а оказывается что в какой-нибудь из сервиса где я ожидаю что 11 он меньше Так что вопрос так разрешает эти ситуации начинают смотреть один вот это все оказывается что ситуация когда и не совпадает он может эту ситуацию спокойно разрешить то не всегда надо париться правильно Вот это правда там еще такие грустные ситуации когда у тебя тип бинов какой-нибудь дженерик и короче всегда интересно что он туда вставит Хорошо ли правильно ли это все такое Просто недавно такая была проблема создаешь какой-нибудь
01:00:31 - 01:02:41
что-нибудь И потом я хочу чтобы все реализации и почему-то не все ни одной потому что как это объявил так и проси Ну либо конкретно пиши Какой из типов это про то что типа на самом деле очень даже коллекции разные так Ну в целом В общем все на этот вопрос Меня меня наверное думал будешь спрашивать про аннотации Я видел Ты у всех спрашиваешь Я подготовил Я подготовил вопрос про аннотации Просто я вижу что хочу короче уложиться в полтора часа так что посмотрим посмотрим может быть спрошу мне больше интересно вопросы которые на
01:01:49 - 01:03:43
которые такие ну типа посложнее поинтереснее Вот например например про виды прокси Какие какие виды прокси Ты знаешь может какой примерчик я вообще один который стандартный а второй который из cg либо пришел и я помню что спринт год сейчас пока что использовать и мне в принципе это Вполне устраивает потому что вместо того чтобы придумывать интерфейсы внедрять интерфейсом замечательный механизм когда придумывает тебе класс потом и при наказали что много чего на этом работает кибернейт но недавно для себя узнал до этого как
01:03:10 - 01:04:48
догадался что так работает на блин это все гениальные просто просто обмазываешь прокси что-нибудь делаешь до и после выполнения и вот тебе магия Мне понравилось как вот с подключением radissa буквально там в три строчки это происходит Просто потому что ну условно конечно был ты ставишь на каком-нибудь метод условный и он кэширует стандартным образом потом ты просто Подключаешь какую-нибудь клиент радиесса И все и он просто начинает использовать Ну опять же также используют прокси и просто берет уже
01:04:16 - 01:05:36
конкретно Бин редиса Китай все вроде прям типа очень круто Мне почему-то все вот эти вот штуки которые появляются что типа одним простым название ну наоборот распределенному это блин слишком круто да сидишь читаешь такой Так блин Может не надо Вдруг сломаешь вот у меня сегодня сломался не работает до сих пор не работает распределенные планировщики я что-то не беспокоюсь и это все как-то конфигурируется и работает под капотом вообще и по аннотациями все eviction policy можно писать короче Ой так кажется что к еще можно базу
01:04:56 - 01:06:47
заменить иногда если он еще поиск по нему делал типа как по базе Типа Найди мне что-нибудь похожее на Вот это вообще было огонь но пока так не научился Ну я тоже такого не знаю Так ну давай я спрошу Да если знаешь что именно спросить Я хотел про основные аннотации спросить тебя основные типа ну три да которые все которые пользуются это контроллерва из репозиторий можешь рассказать знаешь не только для чего Где используется Я думаю это понятно что ты знаешь А может быть то что они добавляют да то
01:06:22 - 01:07:43
есть что-то репозиторий добавляет слышал видел про такое Ты знаешь вот твой вопрос Почему Потому что я помню что типа Есть такое мнение типа что все вот эти вот аннотации они являются якобы алиасом компонент Хотя по факту как бы если кто-то задаст вопрос Можно ли наследовать аннотации то он столкнется с проблемой что нельзя ставить другой нотацию значит что она будет типа некоторые контракт представляет и все что помечено вот этой нотации но тоже в свою очередь будет расширять контракт поэтому сервис он на самом деле
01:07:17 - 01:08:43
компонент но с приколами в остальном даже не знаю потому что все что я помню про это то что репозиторий он добавляет некоторых функционал но все приколы они в самом центре живут то есть которые оборачивает все связаны с базы данных стало быть обрабатывать и я не заметил особой магии конечно же она есть то что ты пометил аннотации контроллер явно контроллер как это называется все такое но честно говоря не могу тебе ответить так как ты хочешь наведешь на мысль целом Ну наверное как каждый вопрос подразумевает свой уровень и я наверное
01:08:08 - 01:09:48
как раз например на этом уровне спрашивал Я уверен что к нам опять придут там кто-нибудь комментариях и пишет что можно еще можно 50 миллионов всего еще рассказать но это примерно тоже И мой уровень восприятия этих трех аннотаций поэтому как-то выше глубже Я тоже когда короче узнал есть контроль Ну ума хватило исходники посмотреть эти правда весь контроллер аннотация контроля над ним аннотация стоит контроль стоит resport Body вот все как сказано Так есть [музыка] все так очевидно что хочу сказать по спрингу наверное
01:09:22 - 01:10:58
все у меня тут осталось два вопроса и закончилось опять время Давай бы еще раз переподключимся и 10 минут Ну может не может не 10 минут может 15 максимум про то что время кончилось Ну да как-то вот очень быстро Давайте приключимся Так мы продолжаем Вернее уже заканчиваем я хотел перейти к такому блоку вопросов типа открытых вот у меня вот такой вопрос Да я ничего не спрашивал сегодня по басам данных это было запланировано чтобы чтобы это запихнуть условно в один вопрос [музыка] такой У тебя есть какой-то тяжелый очень
01:10:31 - 01:12:05
страшный запрос и он прям очень плохо работает буквально ситуация у меня вчера Вот такая была Что там обычный селектор работает час чтобы запросом сделал Как бы ты его оптимизировал такие шаги сделал для того чтобы найти проблему Я человек ленивый я весь запрос начинаю спрашивать запрашивать Explay на Лайс получать такой ответ и потом скормить его но я просто как бы мне лень читать самому я и скармливаю всяким сервисом и начиная смотреть детям так начинается самый простой ситуации накрутить и накручиваешь
01:11:31 - 01:12:58
ситуации поинтереснее когда у тебя там документы на природе быстро напротив внезапно долго Ну как бы поэтому долго но у них план запрос совершенно разные и оказывается что планировщик по какой-то причине решил что у него очень мало записей в продуктовой базе и решает что ему Нафига по индексу смотреть когда сиквенском замечательно сработает и там уж надо помогать планировщику через табличку иногда быстро работает Так что большинстве случаев что делать Идешь смотреть План запрос смотришь индексов не хватает добавляешь потом
01:12:21 - 01:13:49
думаешь всякие разные ухищрения можно придумать какие-нибудь запросник может переписать Но это кстати редко приходится делать запросе К тому же начинаются такие в голове идеи типа А если вот это Ешка использовать Она же быстрее будет А если вместо положеного запроса использовать А если вместо Джона вложили короче я думаю умный db-шники Как правильно но на самом деле я просто проверяю Что быстрее работает так так вот и по плану запроса смотришь там как бы разные ситуации бывают допустим Ну как бы не знаю как у тебя У меня
01:13:05 - 01:14:52
многие таблички провоцировали на партии и То бишь никак Каким образом не взаимодействуешь с лицом с ключом по которым убивал то он начинает либо параллельно сканировать а вот и тот ты начинаешь придумывать блин как бы ему сказать подсказать Говорят что в новом возрасте 15 можно подсказывать в моем 13 всего по одной ходить Вот это может каким-то образом можно примазать этот ключ строились все такое чтобы он только одну сканировал до этого пришлось короче сначала провести целое исследование В каком диапазоне тогда
01:14:02 - 01:15:57
находиться не всем подойдет вообще не всем всем на индексы подойдут или чуть-чуть запрос нормально переписать Ну вот нормально кстати буквально в понедельник выкладывалась Задача в которой просто в команде забыли добавить индекс удаленный и запрос вместо там условно секунды отрабатывал час Да блин там знаешь эти индексы такая штука там же выкладываешь Короче когда-то давным-давно я для себя открыл что индексы можно конкурентно строить Ну типа не блокирует оказывается что его можно процессе периодически такой
01:15:07 - 01:16:47
останавливается смотреть запросов нет дальше продолжаем и для меня открылось просто Такое непаханое поле возможность даже я получается могу не останавливать все накатывать индексы во время работы К сожалению вот у меня был такой негативный опыт когда индекс в любом случае за обозримое время не накатывался Я надеюсь что никто не узнает что на самом деле потом что сказать Типа скорее всего старые данные нам вообще не нужны отцепить это сотрут наверное все все запомнили короче разные бывают запросами Я блин вообще
01:16:08 - 01:17:48
с базы был на Вы сейчас я тоже с ней на Вы Но я уверена новый до этого когда у тебя есть только и ты там эти аннотации query очень это все выглядит как магия короче что там будет делать это не наше вообще не знаешь там конечно не придумают всякие графы все такое Но короче говоря когда можно было все использовать мне уже это стало ситуации в мои батисе какая классная штука в целом Я этим понял наверное последний вопрос задам Можешь ли ты рассказать о том что не запрещено рассказывать об архитектуре модуля не знаю почему не
01:17:05 - 01:18:38
запрещено кто читает эти документации Ну ладно давай так в том что расскажи я не знаю какие какие вот такой финальный Вопрос такой легенький в плане ослабиться и отдохнуть перефразирую его какие ты такой Нравится не нравится Вопрос какие паттерны проектирования тебе действительно нравится которые ты чаще всего используешь там или просто используешь или нравится тебе никакие может быть тебе не очень нравится качество какие-то неправильные поэтому это просто не вопрос я тут Недавно вспоминал паттерны который
01:18:12 - 01:19:38
классический паттерны в принципе оказалось что многие из них понятия не имел что они есть а некоторые вообще не понимаю до сих пор вот допустим [музыка] если цепочкой обязанностей я как-то разобрался то вот с командой честно говоря не сильно Вот И там если говорить про такой легковес Это тоже не представляю кому может понадобиться выносить состояние жирное состояние наружу чтобы все объекты на него ссылались или там но Прототип Прототип вообще как бы какой интересный паттер был и то как о нем пишут
01:19:05 - 01:20:48
короче в чем проблема про такой прототип я узнал после того как узнал про такой скол блинов Как наверное тоже самое но нет оказалось что как раз таки то что можно назвать клонирование знает как его клонировать снаружи вообще не знаешь и короче основная моя беда это то что накладываются слова короче из одной области типа как тот же да Или Вот чем шаблоны метод отличается от фабричного так это вообще разных это вообще а потом еще абстрактная фабрика там рядом такой абстрактная фабрика или там допустим
01:20:00 - 01:21:43
Какие вопросы типа чем вот есть декоратор А если допустим прокси чем разница вот он типа Можно оборачивать одни объекты какими-то полезными вопросы меня могут реально поставить потому что много знаний много типа разрешает одним объектом взаимодействовать с другими и предлагает удобный интерфейс и все такое должно Ладно я все понял хорошо а вот есть у тебя допустим этот называется [музыка] фасад короче тоже ну как бы фасад тоже мне разрешает взаимодействие с какой-то страшной штукой понятным способом
01:20:55 - 01:22:46
адаптер тоже я как бы взаимодействие с чем-то вообще неведомым с той стороны находящиеся благодаря интерфейсу ручки и все эти паттерны Блин так путают на самом деле нифига не легче и когда ты там идешь дальше начинаешь узнавать что есть крутые другие паттерны начинаешь думать Вот есть репозиторий А есть да Что круче типа или там что есть что и повод Да он репозиторий а репозиторию он когда вот типа взаимодействия так или иначе есть данные получаешь объект доступа к данным репозиторий это объект
01:22:25 - 01:24:05
доступ к данным или нет типа объект Ну да доступ к данным но так как все эти штуки может находиться в разных плоскости это блин так все короче такие страшные проблемы когда ты начинаешь все это изучать потому что все эти термины блин появляются все эти странные вещи Блин все эти одни паттерны покупаешь ты книжку допустим сначала чистый кот Зашибись Я знаю какой живешь Сколько какое-то время живешь покупаешь книжку чисто архитектура который все говорят Ну как бы она Конечно чистая Вот смотри как бы есть вот такие штуки как ДДТ
01:23:27 - 01:25:15
архитектура как они все соотносятся книжку давайте для чайников и дальше выявлено придумали много разных слов и знаешь вот эта вся фигня как ты там поднимал уже Вопрос с синдром самозванцев Она капец как его провоцирует то что ты всегда самозванец ты думаешь что ты вот понял какой тут концепцию оказывается что у него есть еще двойное тройное но еще что-то такое о чем ты раньше не задумывался Вот ты только блин книжку какой-нибудь не знаю допустим прочитал ты книжку по предатель в принципе работать
01:24:22 - 01:26:01
с базы данных а потом тебе приносит типа блин какие-то индексы разные B3 Что за фигня Подождите что нет одного индекса индекс это индекс все нет смотри там типа база вообще штука сложная начинаю думать где-то там лежит все надо читать страничками все оптимизировано блин ну что это правда я первое время я думал что стал работать а если все знаешь так просто жалко конечно и тут ты понял они выстроили классный такой забор из всех этих блин паттернов понятий концепции что короче мы становимся каким-то тайным органом
01:25:18 - 01:27:07
причем много орденов конфликтуют друг с другом это такой Блин надо тогда плеваться вдруг Короче как это в этом мире мой синдром самозванца настоящих программистов Я бы даже твою последнюю фразу не знаю как вырезал вставил просто да я всегда говорил что программирование такая штука типа репчатого лука условного то есть такой Окей я понял какую-то часть углубляешься и оказывается что он какой-то бесконечный Ты каждый раз новую узнаешь о том что вроде бы уже знал я рассказываю про переменные Да там
01:26:22 - 01:27:53
условно на Первом занятии там пожаре вот у меня у меня бывает типа раз через несколько занятий какого-то озарения получить простой теме которая оказалась абсолютно понятна и ты такой думаешь а так вот почему она так работает Не потому что так сказал какой-то умный дяденька а потому что вот так понятно Да блин постоянно какие-то озарение так иногда обидно еще показывать что ты думал всю жизнь что ты это знаешь вообще на самом деле это вот так и тебя какое-то время данные объяснения устраивает а потом кто-то другой
01:27:18 - 01:28:47
поставит его под сомнение короче и так изо дня в день ты живешь дальше Вот какое-то время назад я думал что возможно modelview Controller всё как бы всё на свете можно под это поднести Да блин я так долго жил очень долго жил сказал что нет сказал что на свете кроме http запросов есть много других способов получения данных Просто когда как-то раз на старой работе к нам пришел фронтальный рассказал А зачем мы пишем так много запросов значит когда есть давным-давно для всех людей Какой нафиг Подожди это очень больная штука
01:28:10 - 01:29:46
другой приходит понимаете все проблемы и Блин я боюсь узнать что будет завтра потому что я устареваю быстро а мир что-то куда-то движется новый формат придумал новый Блин фреймворки вот когда вот вышел этот флаг вроде недавно Ну как по-моему недавно самом деле реально не блокирующий сервисы все такое и вот иногда так хочется за ними погнаться куда-то туда вдаль реактивные джинсы но как бы я пока что справляюсь с этим согласны ты вот как с этим согласным справляешься И я пока не справляюсь я пока пока поглощаюсь все что есть
01:29:13 - 01:30:55
вокруг делал пока не оказалось что я все одинаково плохо знает короче все попробовал какие там я как часто приходит тебе оповещение появилась новая статья про микронавты проходит приходит статья вышел новая версия хочется потрогать или потом лет пять назад когда на джейконике было куча конференции проверки елки-палки Какие Бедные люди до сих пор и Блин все хотелось потрогать все хотелось выучить Но блин знаете писать Hello world на пяти разных фреймворках это небольшая он на меня блин в репозитории есть типа
01:30:29 - 01:32:05
расчет этих чисел Фибоначчи там на 5 или 6 фреймворках и что я от этого же месте те же самые крутые приложения не преуспел Вот спасибо тебе Мне понравилось у нас получилось такое на 80 процентов собеседования на 20 процентов прям какое-то интервью поговорить наоборот может быть может быть наоборот Но это такой интересный формат получился Я думаю я думаю что очень полезный Спасибо тебе за него Да все тогда пока пока
01:31:27 - 01:32:57