На всем русскоязычном Ютубе есть единицы таких качественных собеседований по Java. Спасибо за топ контент, очень познавательно и информативно. Подчеркнул для себя много нового! Приятно, что появился канал по Java, который не только выпускает актуальную информацию, но так же следит за качеством контента и его улучшением)
Спасибо большое за видос. Очень классно, что после ответа ты от себя дополнительно что-то добавляешь и показываешь возможные опции для ответа Очень круто, жду еще видосов в формате собеседований!
Посмотрел всё, легче конечно на скорости 1.5 воспринимать информацию) спасибо за отличный контент! Было бы здорово добавлять вопросы по паттернам проектирования, с которыми сталкивались в работе
34:56 не согласен - консистентность можно воспринимать как целостность, а не бизнесс-смысл. Здесь скорее всего про то, что транзакция фиксирует допустимые значения в рамках констрейнтов. Нельзя добавить в поле со внешним ключом на фейковый первичный ключ (например его нет после удаления в другой транзакции параллельной). Поправь, если не прав.
здесь имеется ввиду, что за согласованность отвечает разработчик и он должен повесить необходимые констрейнты и форин кеи, так как база сохраняет данные, она не знает, что для нас будет означать согласованность. Поэтому он правильно и говорить, что зависит это от бизнес логики например, баланс не должен быть отрицательным, если мы не повесим констрейнт, то база сможете сохранить отрицательное число, но получится, что данные не согласованы
Спасибо! Сегодня смотрела, сегодня же собес проходила. И прошла таки! Блеснула на нем про postgres на уровне reapeatableread устранила фантомное чтение. Это просто супер, что вы дополняете ответы полномасштабными ответами. Однозначно подписка!
15:50 что-то не то сеньер рассказал, что значит похожи? И там же не value проверяется, а проверяется hashCode ключа, если равны hashCode, то идет сравнение по equals, если равные то заменяется иначе уже список или в дерево добавляется, смотря сколько объектов уже в бакете. 16:42 там больше совпадение hashCode может быть из-за коллизий. 36:50 тут тоже что-то напутал, грязное чтение, это , когда вторая транзакция может увидит изменённые данные первой транзакции , которые еще не были закоммичены. 1:03:10 асинхронность нужна, если обработка отправленного запроса требует много времени. А по ресту можно еще и закешировать многие запросы. 1:11:00 слабо раскрыта практическая часть. Я так понимаю, у тебя будет таблица transaction, при обращение к сервису, мы создаем запись со статусом например CREATE и в запросе отправляем наш ид этой записи в этот сервис, сервис обрабатывает и сохраняет у себя со статусами SUCCESS или ERROR и отправляет ответ, тут как раз можно было взять пример с предыдущего вопроса про асинхронность и отправлять ответ через кафку, если как в вопросе, то мы потом по джобе такие транзакции со статусом CREATE пытаемся повторить через некоторое время и чекать по ид у сервиса статус операции. А с его ответа с request_id я так и не понял, когда мы должны отправлять это сервису. По моему мнению на сеньера парень не тянет, странно, что он не подготовился к собеседованию, да знать все и запомнить нельзя, но таке вопросы как по hashMap и изолированность должны от зубов отскакивать, так как эти вопросы всегда задают.
И опять вопрос про hashmap... ищем в команду профессионального знатока реализаций hashmap )) очень жалко бизнес, в котором так собеседуют людей в команду
Очень слабое собеседование, не стоит идти работать в компанию с такими интервьюерами. В конце таких собеседований надо обязательно запрашивать показать кусок из кодовой базы, что бы не оказалось, что сервисы внутри построену по паттерну Big Ball Of Mud, зато распределённому по микросервисам.
@@igarskachko696 и это является определяющим фактором для найма? Это нужно в очень малом количестве случаев, это тонкая настройка. А мы ssl для hazelcast через дикомпиляцию сделали, что же теперь, гонять кандидатов по реверсинжинирингу?
если он фигачит фичи сложные и спринты закрывает ровно, мне кажется это сеньор. может по старой памяти проходит этот мок. можно проходить собесы как боженька, а писать плохой код. синьора определяет твой грейд и точка. бизнес решает кто ты. а не вот это вот все
И проблема даже не в том что важно понимать боксинг и анбоксинг, просто хер пойми чего этот чел с другой стороны экрана от тебя хочет, задай вопрос нормально и далее углубляй. Любители мля.
@@sgs882в том-то все и дело, что сеньор понимает проблему примитивных типов в Java и всех костылей типа оберток, которые вытекают из этой архитектурной ошибки, допущенной разработчиками языка. Если ты инженер, то должен это все понимать. Потому что инженер решает задачи, а не просто пишет код на языке Х. Здесь вопрос в другом, а почему автор сам не раскрыл эту проблему?
Когда количество объектов в бакете(которые хранятся в связном списке) достигает 8, связный список превращается из связного списка в красно-черное дерево (не бинарное)
слишком поверхностные вопросы, и слишком заученные ответы на них. такое интервью мало что дает в понимании скилов кандидата, если человек норм отвечает, нужно задать более сложный вопрос, потом еще сложнее. очень круто, когда кандидат знает больше чем ты, такого точно нужно брать. если это синьер, нужно спросить в какой задаче конкретно он использовал многопоточку, какие проблемы встретил и тд, а дальше уже обсуждать конкретный опыт человека. ну а здесь кандидат рассказал на уровне статьи на джавараше
согласен, что ответы какие-то заученные, про GC вообще не понимаю смысла такое рассказывать, интереснее тогда уже про память, а именно ситуации memory leak, более практические вопросы надо и реальное применение на практике.
Привет @sorokinpavel от тезки по фамилии) У меня такой вопрос. Я увидел, что у тебя есть свой курс. А ты проводишь мок интервью? Из всех мок ведущих, которых нашел, сложилось впечатление, что ты глубже всех знаешь.
В котлине не все объекты, там компилятор решает что будет примитивом, а что объектом по факту. И это важно знать при использовании типов, т.к. например нуллабельный тип всегда будет объектом и не стоит его использовать если можно не использовать
@@iFunkyJuice в Котлине всё таки всё объект. С нулабельностью несогласен т.к. её нужно использовать когда реально есть прикладная необходимость, задумываться во что конвертится там не нужно
@@Das.Kleine.Krokodil В Котлине не все объект. Тут можно почитать: Marcin Moskała -> "Effective Kotlin" -> "Item 45: Avoid unnecessary object creation" -> "Using primitives". Где я написал, что не нужно использовать nullable тип, если для этого есть прикладная необходимость? Я написал что если можно не использовать, то нужно его не использовать, в этом основная философия Котлина, его в том числе для этого и разрабатывали, чтобы закрыть эту брешь Джавы. Примитивы надо использовать по большей части при обработке жирных числовых/символьных коллекций и в критических местах кода, например в либах.
отказывают, если мы говорим про сеньорскую позицию. Например в банк нельзя не ответить про все уровни изоляции не четко, да и не только в банк. Пострегресовые индексы тоже можно было описать и в целом глубже по бд показать знания (в частности описать типы индексов, хотя бы основные, а это не только BTREE)
Путать базовые термины метод и функция 12:32 в контексте ООП языка позволительно только стажеру :) А в чем разница метода и функции, если интересно, можете загуглить :)
Это тоже разработка) Большую часть времени тратишь на чтение чужого кода/документации. Проект - это всегда живой организм, за которым надо следить, дополнять, улучшать.
Забирай бесплатные материалы от меня по изучению Java и подготовки к собеседованиям: t.me/JavaLearnBot?start=c1724626210163-41-ds
Павел, очень здорово, что каждый ответ вы комментируете и дополняете! Такое редко встречается в выкладываемых мок-интервью. Спасибо за видео!
Спасибо!
На всем русскоязычном Ютубе есть единицы таких качественных собеседований по Java. Спасибо за топ контент, очень познавательно и информативно. Подчеркнул для себя много нового!
Приятно, что появился канал по Java, который не только выпускает актуальную информацию, но так же следит за качеством контента и его улучшением)
Ура! Наконец-то нормальный звук, спасибо!!!
Спасибо большое за видос. Очень классно, что после ответа ты от себя дополнительно что-то добавляешь и показываешь возможные опции для ответа
Очень круто, жду еще видосов в формате собеседований!
Посмотрел всё, легче конечно на скорости 1.5 воспринимать информацию) спасибо за отличный контент!
Было бы здорово добавлять вопросы по паттернам проектирования, с которыми сталкивались в работе
34:56 не согласен - консистентность можно воспринимать как целостность, а не бизнесс-смысл. Здесь скорее всего про то, что транзакция фиксирует допустимые значения в рамках констрейнтов. Нельзя добавить в поле со внешним ключом на фейковый первичный ключ (например его нет после удаления в другой транзакции параллельной). Поправь, если не прав.
здесь имеется ввиду, что за согласованность отвечает разработчик и он должен повесить необходимые констрейнты и форин кеи, так как база сохраняет данные, она не знает, что для нас будет означать согласованность. Поэтому он правильно и говорить, что зависит это от бизнес логики например, баланс не должен быть отрицательным, если мы не повесим констрейнт, то база сможете сохранить отрицательное число, но получится, что данные не согласованы
Спасибо! Сегодня смотрела, сегодня же собес проходила. И прошла таки! Блеснула на нем про postgres на уровне reapeatableread устранила фантомное чтение. Это просто супер, что вы дополняете ответы полномасштабными ответами. Однозначно подписка!
Дополняешь ответы👍
Супер! Ждем 2ю часть :-)
15:50 что-то не то сеньер рассказал, что значит похожи? И там же не value проверяется, а проверяется hashCode ключа, если равны hashCode, то идет сравнение по equals, если равные то заменяется иначе уже список или в дерево добавляется, смотря сколько объектов уже в бакете. 16:42 там больше совпадение hashCode может быть из-за коллизий. 36:50 тут тоже что-то напутал, грязное чтение, это , когда вторая транзакция может увидит изменённые данные первой транзакции , которые еще не были закоммичены. 1:03:10 асинхронность нужна, если обработка отправленного запроса требует много времени. А по ресту можно еще и закешировать многие запросы. 1:11:00 слабо раскрыта практическая часть. Я так понимаю, у тебя будет таблица transaction, при обращение к сервису, мы создаем запись со статусом например CREATE и в запросе отправляем наш ид этой записи в этот сервис, сервис обрабатывает и сохраняет у себя со статусами SUCCESS или ERROR и отправляет ответ, тут как раз можно было взять пример с предыдущего вопроса про асинхронность и отправлять ответ через кафку, если как в вопросе, то мы потом по джобе такие транзакции со статусом CREATE пытаемся повторить через некоторое время и чекать по ид у сервиса статус операции. А с его ответа с request_id я так и не понял, когда мы должны отправлять это сервису. По моему мнению на сеньера парень не тянет, странно, что он не подготовился к собеседованию, да знать все и запомнить нельзя, но таке вопросы как по hashMap и изолированность должны от зубов отскакивать, так как эти вопросы всегда задают.
это тояно SENIOR?
Точно
Это вообще угар, но нет.
Точно, мамой клянус
Ответы здорового человека, а не мастера спорта по прохождению собеседований
Каким образом знание подкапотки работы гарбач коллектора помогает в реальной работе над бизнес задачами?
И опять вопрос про hashmap... ищем в команду профессионального знатока реализаций hashmap )) очень жалко бизнес, в котором так собеседуют людей в команду
Очень слабое собеседование, не стоит идти работать в компанию с такими интервьюерами. В конце таких собеседований надо обязательно запрашивать показать кусок из кодовой базы, что бы не оказалось, что сервисы внутри построену по паттерну Big Ball Of Mud, зато распределённому по микросервисам.
Помогает. На одном из аппликейшенов диснея мы апдейтили GC для бизнес нужд
@@igarskachko696 и это является определяющим фактором для найма? Это нужно в очень малом количестве случаев, это тонкая настройка. А мы ssl для hazelcast через дикомпиляцию сделали, что же теперь, гонять кандидатов по реверсинжинирингу?
Никак
Это точно не сеньор :)
если он фигачит фичи сложные и спринты закрывает ровно, мне кажется это сеньор. может по старой памяти проходит этот мок. можно проходить собесы как боженька, а писать плохой код. синьора определяет твой грейд и точка. бизнес решает кто ты. а не вот это вот все
Ну после первого вопроса стало уже понятно😅
Меня бы бомбануло уже на второй итерации вопроса. Встал бы и ушёл.
И проблема даже не в том что важно понимать боксинг и анбоксинг, просто хер пойми чего этот чел с другой стороны экрана от тебя хочет, задай вопрос нормально и далее углубляй. Любители мля.
Ну да вопрос явно не к сеньеру скорее к студенту. Сидишь такой пишешь фичу и тебя накрыло про примитивы ага..
@@sgs882в том-то все и дело, что сеньор понимает проблему примитивных типов в Java и всех костылей типа оберток, которые вытекают из этой архитектурной ошибки, допущенной разработчиками языка. Если ты инженер, то должен это все понимать. Потому что инженер решает задачи, а не просто пишет код на языке Х.
Здесь вопрос в другом, а почему автор сам не раскрыл эту проблему?
Крутое видео
Крутые у вас интервью
очень большой вопрос, как он прошёл собес в Яндекс...
На самом деле на большинство вопросов ответил правильно, просто отвечал много раз на то что даже не спрашивалось.
Если в хэшмапу сувать объекты с одним и тем же хешкодом, по какому принципу строится бинарное дерево в бакете?
Когда количество объектов в бакете(которые хранятся в связном списке) достигает 8, связный список превращается из связного списка в красно-черное дерево (не бинарное)
@@ГлебЛеонтьев-г4щ по какому принципу это дерево строится если хэшкод одинаковый у всех
@@ГлебЛеонтьев-г4щ там обычное бинарное упорядоченное дерево. И красно-черное дерево не может быть не бинарным
@@ГлебЛеонтьев-г4щ там 7 элементов по умолчанию в условии, и еще элементов должно быть больше 64, когда их меньше то увеличивается количество бакетов
Klass!
арррррхитектурррррррре
слишком поверхностные вопросы, и слишком заученные ответы на них. такое интервью мало что дает в понимании скилов кандидата, если человек норм отвечает, нужно задать более сложный вопрос, потом еще сложнее. очень круто, когда кандидат знает больше чем ты, такого точно нужно брать.
если это синьер, нужно спросить в какой задаче конкретно он использовал многопоточку, какие проблемы встретил и тд, а дальше уже обсуждать конкретный опыт человека. ну а здесь кандидат рассказал на уровне статьи на джавараше
согласен, что ответы какие-то заученные, про GC вообще не понимаю смысла такое рассказывать, интереснее тогда уже про память, а именно ситуации memory leak, более практические вопросы надо и реальное применение на практике.
31:25 - Пессимистические блокировки это не бесплатно, это ресурс на стороне БД и весьма дорогой.
Согласен с тем, что это не бесплатно. Любое решение - не бесплатно. "весьма дорогой" - субъективная оценка. Дороже, чем что?
Я смотрел на скорости 1,5, и это было медленно. Представляю, как это было в реальности:)))
Не надо представлять, включи х1 и послушай
никого не хочу обидеть, но я вот только вхожу в айтиху, уже почти 2 месяца как являюсь стажёром по направлению java и за такие ответы меня бы кикнули
известная история, джун все знает но ничего не умеет, а синьер все умеет, но уже ничего не помнит )
справедливо) пока практика даётся очень и очень больно)
Ответы явно не сеньйора. Уровень Джун+ максимум
Ждём тебя следующим кандидатом на собесе по Java. Покажешь, как отвечает Senior Java Developer 😎
@@CzechB4 А чего ждать? На ютубе мало видосов?)
На мастера спорта не тянет по прохождению собеседований, но он вполне может отлично водить ))
Возможно он не готовился к собесам и многое просто забылось,да и 80% вопросов с собеса тебе в работе не так часто встречаются
Привет @sorokinpavel от тезки по фамилии) У меня такой вопрос. Я увидел, что у тебя есть свой курс. А ты проводишь мок интервью? Из всех мок ведущих, которых нашел, сложилось впечатление, что ты глубже всех знаешь.
Привет! Провожу мок-интервью. Можешь написать в телеграм, обсудим @pave1s
Чел явно не сеньор, так отвечать по БД)
3:21 к ответу - скорее это устаревшая модель
к примеру в котлине всё объекты
В котлине не все объекты, там компилятор решает что будет примитивом, а что объектом по факту. И это важно знать при использовании типов, т.к. например нуллабельный тип всегда будет объектом и не стоит его использовать если можно не использовать
@@iFunkyJuice в Котлине всё таки всё объект. С нулабельностью несогласен т.к. её нужно использовать когда реально есть прикладная необходимость, задумываться во что конвертится там не нужно
@@Das.Kleine.Krokodil В Котлине не все объект. Тут можно почитать: Marcin Moskała -> "Effective Kotlin" -> "Item 45: Avoid unnecessary object creation" -> "Using primitives". Где я написал, что не нужно использовать nullable тип, если для этого есть прикладная необходимость? Я написал что если можно не использовать, то нужно его не использовать, в этом основная философия Котлина, его в том числе для этого и разрабатывали, чтобы закрыть эту брешь Джавы. Примитивы надо использовать по большей части при обработке жирных числовых/символьных коллекций и в критических местах кода, например в либах.
@@iFunkyJuice отсюда вывод, что ты принимаешь решение не по тому нужна ли переменная как примитив, а нужна ли она как налбл.
@@iFunkyJuice твой ответ про подкапотную оптимизацию компилятора, которую ты никогда не будешь использовать. А в семантике Котлина нет примитивов.
На какую сумму будет оффер после такого интервью?
отказывают, если мы говорим про сеньорскую позицию. Например в банк нельзя не ответить про все уровни изоляции не четко, да и не только в банк. Пострегресовые индексы тоже можно было описать и в целом глубже по бд показать знания (в частности описать типы индексов, хотя бы основные, а это не только BTREE)
25400 + премии
Путать базовые термины метод и функция 12:32 в контексте ООП языка позволительно только стажеру :) А в чем разница метода и функции, если интересно, можете загуглить :)
В котлине нет методов, там только функции и это ООП язык. В JetBrains работают стажеры?)
а чем метод отличается от функции? помню в паскале есть разница из-за возвращаемого типа. В Java все методы, функция как синоним
Вообще не поняла это джава или дба? Определитесь
А вместе уже всё - не бывает?
@@johngraham8220 бывает)) можно нанять программиста- дворника и экономить на уборке офиса
@@johngraham8220 можно проверить как разраб моет пол и уборщицу не нанимать. Такие собесы говорят что ты будешь в компании мастер на все руки)
Павел, давай ищщо
По моему чувак нормалтно отвечал, взяли кго обосрали
По факту где-нибудь в провинции джависиы будут сидеть в сбере в чужом коде, а не что-то разрабатывать
Это тоже разработка) Большую часть времени тратишь на чтение чужого кода/документации. Проект - это всегда живой организм, за которым надо следить, дополнять, улучшать.
Чтобы понять чужой код 3+ летней давности без документации и влезть туда ничего не сломав, зачастую больше скиллов нужно, чем с нуля наваять что-то
@@crackinglad7644 поэтому и не понятно ажиотаж на джаву, когда на том же Питоне который легче и полно библиотек делают к примеру ботов и трендят
Доработка уже существующего проекта - это 90% всех проектов у разработчиков. Даже если новые начинать, то берется уже существующий и допиливается.
@@crackinglad7644а если старше, то уровень явно повыше миддла
Капец как скучно было
слабоват для сеньёра
согласен к вопросам про hashmap и изоляции транзакции можно подготовиться было бы. Так как эти вопросы всегда спрашивают
ва сюньера обсуждают примитивы в разрезе математических операций, а не в разрезе места хранения... рукалицо
почему, он говорил что примитивы в стеке, а объекты врапперы в хипе
Что он несёт)) сеньер....😂
слово SAGA этот "SENIOR" никогда не слышал)