Топ-10 вопросов на Backend Java / Собеседование с разбором ответов и материалами

Поделиться
HTML-код
  • Опубликовано: 26 июн 2024
  • Мок интервью на Java Backend нового образца с полным разбором ответов и рекомендациям по изучению. Статьи и документацию по всем вопросам можно найти в таймкодах.
    Социальные сети участников:
    Телеграм Камиля "IT-Отец" t.me/kamil_it_mentor/349
    Ютуб Камиля "IT-Отец" / @it-father
    t.me/problem_hunter
    / vsratb
    Вступай в сообщество для входа и роста в IT: bit.ly/3Vq8nF7
    Читай уникальный контент в телеге: bit.ly/3ztzy9i
    Узнай как проходит день из жизни ITшника: bit.ly/40Dkbqz
    Найди ментора или стань им в один клик: bit.ly/410NrYl
    Таймкоды:
    0:00 - Приветствие
    0:24 - План собеседования
    01:09 - О компании и вакансии
    03:24 - Обсуждение резюме. Функциональное программирование (Scala)
    05:26 - Какой использовал алгоритм проработки архитектуры проектов с нуля?
    06:10 - На каком уровне выбирал технологический стек?
    07:31 - Почему так часто менял работу в начале карьеры?
    09:05 - Какие у тебя сейчас требования к компании?
    10:03 - Какие планы по росту на ближайшие 2 года?
    11:19 - Назови ТОП-3 сложных задач из твоей практики
    15:59 - Какие были факапы?
    16:47 - Как ты оцениваешь сроки?
    18:26 - Как был устроен релизный цикл и какие были церемонии scrum в твоей компании?
    19:49 - Что бы ты хотел поменять на последней работе?
    21:32 - Техническая часть. SOLID (принцип подстановки Лисков)
    23:10 - DIP, DI, IoC
    24:39 - DDD и его абстракции, TDD
    26:00 - Какие паттерны проектирования применял?
    26:38 - Зачем нужен паттерн Repository?
    26:49 - Какая разница между паттернами Factory и Abstract Factory?
    27:17 - Слышал ли про паттерн Decorator?
    27:50 - В чем суть паттерна Proxy?
    28:34 - Типы данных: в чём разница между String и string?
    29:10 - В чём разница между int и Integer?
    30:34 - Чем отличаются динамический и статический массив? Какие есть реализации динамического массива в Java?
    32:43 - Как работают под капотом HashMap и ConcurrentHashMap?
    35:05 - Что такое Heap как структура данных?
    35:49 - Какие есть виды деревьев и для чего они используются?
    36:44 - Лайвкодинг. Задача №1
    38:54 - Когда не нужно объявлять переменную через ключевое слово volatile?
    39:43 - Что под капотом AtomicInteger?
    42:53 - Задача №2
    48:16 - Какие клиенты знаешь для создания HTTP-запросов?
    50:19 - Как работает Thread Pool?
    50:49 - Что такое лямбда в Java?
    53:14 - Какие альтернативы StreamAPI знаешь? Расскажи о преимуществах и недостатках StreamAPI и HashMap.
    54:05 - Какие функциональные интерфейсы знаешь?
    54:53 - Есть ли в Java функции?
    01:01:30 - Что такое CompletableFuture и чем отличается от Future?
    01:03:25 - Что знаешь про параллельные стримы?
    01:05:25 - Final, EffectivelyFinal, Finally, Finalize - в чём отличия?
    01:06:43 - Что ты знаешь про замыкания?
    01:08:02 - Зачем нужен Finally, если можно написать блок кода после?
    01:09:53 - Exception, try/catch. Отличие if/else от try/catch
    01:11:33 - Отличия checked от unchecked
    01:13:07 - Для чего нужны профили в Spring?
    01:13:30 - Embedded и @Embeddable
    01:14:14 - Иерархия JPA. С какими реализациями чаще всего работал?
    01:15:10 - Hibernate. Lazy Loading vs. Eager Loading - в чём разница?
    01:16:21 - Задача №3
    01:20:15 - Чем отличается WHERE от ON?
    01:27:00 - Какие индексы знаешь?
    01:28:11 - Какой индекс стоит в postgres по дефолту, если не указывать тип?
    01:28:27 - Какие есть риски в добавлении индекса в высоконагруженную таблицу?
    01:30:22 - ACID - что это и как расшифровывается? Уровни изоляции. Serializable, SSI
    01:35:00 - Кейс про скорость запроса к базе и способы оптимизации
    01:37:52 - Что ты знаешь про денормализацию?
    01:38:19 - Какие знаешь нормальные формы?
    01:38:47 - Приходилось ли работать с встроенными абстракциями postgres?
    01:39:37 - Шардирование и репликация
    01:40:28 - Какие моменты нужно учесть в архитектуре для реализации шардирования?
    01:42:34 - Кейс: локализация 500 ошибки
    01:45:13 - Какие есть способы взаимодействия между микросервисами? Kafka
    01:49:23 - Преимущества и недостатки микросервисов
    01:51:00 - Какие ты знаешь паттерны микросервисов?
    01:51:28 - Паттерны повышения отказоустойчивости
    01:51:52 - Паттерны мониторинга
    01:52:35 - Паттерны управления данными
    01:53:57 - Вопросы кандидата. Вопрос о команде
    02:11:19 - Завершение мок-интервью
    02:12:12 - Обратная связь от Камиля
    02:16:26 - О Камиле и его образовательном проекте "Codemania"
    #антонназаров #мокинтервью #программист
  • РазвлеченияРазвлечения

Комментарии • 123

  • @user-rd3uq8ug3x
    @user-rd3uq8ug3x 6 месяцев назад +53

    Спасибо за интервью. Я тоже с 11 года в индустрии и сейчас обратил внимание, что часть тонкостей уже просто забыл. Самое неприятное, что знание этих тонкостей в работе может ничего не давать, поэтому они держатся в памяти только короткое время. И придётся их повторять исключительно для собеседований, что весьма уныло, ведь одно дело, когда осваиваешь что-то новое и совсем другое, когда снова и снова заучиваешь ненужное.

    • @flint2159
      @flint2159 3 месяца назад

      Согласен

  • @m0rtymerr
    @m0rtymerr  6 месяцев назад +9

    Найди ментора или стань им в один клик: bit.ly/410NrYl
    Таймкоды:
    0:00 - Приветствие
    0:24 - План собеседования
    01:09 - О компании и вакансии
    03:24 - Обсуждение резюме. Функциональное программирование (Scala)
    05:26 - Какой использовал алгоритм проработки архитектуры проектов с нуля?
    06:10 - На каком уровне выбирал технологический стек?
    07:31 - Почему так часто менял работу в начале карьеры?
    09:05 - Какие у тебя сейчас требования к компании?
    10:03 - Какие планы по росту на ближайшие 2 года?
    11:19 - Назови ТОП-3 сложных задач из твоей практики
    15:59 - Какие были факапы?
    16:47 - Как ты оцениваешь сроки?
    18:26 - Как был устроен релизный цикл и какие были церемонии scrum в твоей компании? www.atlassian.com/ru/agile/scrum
    19:49 - Что бы ты хотел поменять на последней работе?
    21:32 - Техническая часть. SOLID (принцип подстановки Лисков) alexkosarev.name/2023/03/02/solid-in-details-lsp
    23:10 - DIP, DI, IoC habr.com/ru/articles/131993
    24:39 - DDD и его абстракции, TDD www.geeksforgeeks.org/domain-driven-design-ddd
    26:00 - Какие паттерны проектирования применял?
    26:38 - Зачем нужен паттерн Repository? habr.com/ru/articles/248505
    26:49 - Какая разница между паттернами Factory и Abstract Factory? medium.com/bitmountn/factory-vs-factory-method-vs-abstract-factory-c3adaeb5ac9a
    27:17 - Слышал ли про паттерн Decorator? refactoring.guru/ru/design-patterns/decorator
    27:50 - В чем суть паттерна Proxy? refactoring.guru/design-patterns/proxy
    28:34 - Типы данных: в чём разница между String и string?
    29:10 - В чём разница между int и Integer? habr.com/ru/articles/104231
    30:34 - Чем отличаются динамический и статический массив? Какие есть реализации динамического массива в Java? otus.ru/nest/post/902
    32:43 - Как работают под капотом HashMap и ConcurrentHashMap? progler.ru/blog/raznica-mezhdu-hashmap-i-concurrenthashmap
    35:05 - Что такое Heap как структура данных? foxford.ru/wiki/informatika/kucha-heap
    35:49 - Какие есть виды деревьев и для чего они используются? codechick.io/tutorials/dsa/dsa-trees
    36:44 - Лайвкодинг. Задача №1
    38:54 - Когда не нужно объявлять переменную через ключевое слово volatile?
    39:43 - Что под капотом AtomicInteger? www.javacodemonk.com/what-is-atomicinteger-class-and-how-it-works-internally-1cda6a56
    42:53 - Задача №2
    48:16 - Какие клиенты знаешь для создания HTTP-запросов? reflectoring.io/comparison-of-java-http-clients
    50:19 - Как работает Thread Pool? habr.com/ru/articles/656515
    50:49 - Что такое лямбда в Java? metanit.com/java/tutorial/9.1.php
    53:14 - Какие альтернативы StreamAPI знаешь? Расскажи о преимуществах и недостатках StreamAPI и HashMap. habr.com/ru/companies/jugru/articles/307938
    54:05 - Какие функциональные интерфейсы знаешь? metanit.com/java/tutorial/9.3.php
    54:53 - Есть ли в Java функции? javarush.com/groups/posts/592-java-functional-interfaces
    01:01:30 - Что такое CompletableFuture и чем отличается от Future? www.baeldung.com/java-future-completablefuture-rxjavas-observable
    annimon.com/article/3462
    01:03:25 - Что знаешь про параллельные стримы? www.baeldung.com/java-when-to-use-parallel-stream
    01:05:25 - Final, EffectivelyFinal, Finally, Finalize - в чём отличия? www.javatpoint.com/difference-between-final-finally-and-finalize
    habr.com/ru/companies/piter/articles/281026/
    01:06:43 - Что ты знаешь про замыкания? habr.com/ru/companies/piter/articles/281026/
    01:08:02 - Зачем нужен Finally, если можно написать блок кода после?
    01:09:53 - Exception, try/catch. Отличие if/else от try/catch www.baeldung.com/java-exceptions
    01:11:33 - Отличия checked от unchecked javarush.com/groups/posts/1944-iskljuchenija-checked-unchecked-i-svoi-sobstvennihe#
    01:13:07 - Для чего нужны профили в Spring? www.baeldung.com/spring-profiles
    01:13:30 - Embedded и @Embeddable www.baeldung.com/jpa-embedded-embeddable
    01:14:14 - Иерархия JPA. С какими реализациями чаще всего работал? www.baeldung.com/spring-data-repositories
    01:15:10 - Hibernate. Lazy Loading vs. Eager Loading - в чём разница? www.imperva.com/learn/performance/lazy-loading/#:~:text=rendered%20or%20executed.-,Lazy%20Loading%20vs.,entities%20referenced%20by%20a%20resource
    01:16:21 - Задача №3 postgrespro.ru/docs/postgresql/9.6/queries-table-expressions
    01:20:15 - Чем отличается WHERE от ON? www.pluralsight.com/guides/using-on-versus-where-clauses-to-combine-and-filter-data-in-postgresql-joins
    01:27:00 - Какие индексы знаешь? postgrespro.ru/docs/postgresql/9.6/indexes-types
    01:28:11 - Какой индекс стоит в postgres по дефолту, если не указывать тип? tproger.ru/articles/indeksy-v-postgresql
    01:28:27 - Какие есть риски в добавлении индекса в высоконагруженную таблицу? www.postgresql.org/docs/current/sql-createindex.html
    01:30:22 - ACID - что это и как расшифровывается? Уровни изоляции. Serializable, SSI www.ibm.com/docs/en/cics-ts/5.4?topic=processing-acid-properties-transactions
    01:35:00 - Кейс про скорость запроса к базе и способы оптимизации appmaster.io/ru/blog/kak-optimizirovat-sql-zaprosy-dlia-rdbms
    01:37:52 - Что ты знаешь про денормализацию? habr.com/ru/articles/64524/
    01:38:19 - Какие знаешь нормальные формы? habr.com/ru/articles/254773
    01:38:47 - Приходилось ли работать с встроенными абстракциями postgres? www.postgresql.org/docs/current/rules-materializedviews.html
    www.postgresql.org/docs/current/tutorial-views.html
    www.postgresql.org/docs/current/sql-createtrigger.html
    01:39:37 - Шардирование и репликация cloud.yandex.ru/docs/glossary/sharding
    01:40:28 - Какие моменты нужно учесть в архитектуре для реализации шардирования? habr.com/ru/companies/stm_labs/articles/650327
    01:42:34 - Кейс: локализация 500 ошибки
    01:45:13 - Какие есть способы взаимодействия между микросервисами? Kafka habr.com/ru/companies/maxilect/articles/677128
    01:49:23 - Преимущества и недостатки микросервисов javarush.com/groups/posts/2015-mikroservisnaja-arhhitektura-pljusih-i-minusih
    01:51:00 - Какие ты знаешь паттерны микросервисов? microservices.io/patterns/microservices.html
    01:51:28 - Паттерны повышения отказоустойчивости
    01:51:52 - Паттерны мониторинга
    01:52:35 - Паттерны управления данными
    01:53:57 - Вопросы кандидата. Вопрос о команде
    02:11:19 - Завершение мок-интервью
    02:12:12 - Обратная связь от Камиля
    02:16:26 - О Камиле и его проекте Codemania

  • @rogerwilko118
    @rogerwilko118 6 месяцев назад +2

    Спасибо Антон и Камиль, очень крутой собес!

  • @Galoscope
    @Galoscope 6 месяцев назад +34

    Орнул с истории про компанию, круто

    • @it-father
      @it-father 6 месяцев назад +11

      Рад что тебе зашло) не зря значит над легендой заморочился

    • @user-kb5kd7ln3h
      @user-kb5kd7ln3h 6 месяцев назад +3

      ​@@it-father реально интересно придумал😂

    • @vitaliy0192
      @vitaliy0192 5 месяцев назад

      Ага, круто придумал: все кто смотрели сразу увидели, что это просто придумано. Собеседующие тоже не идиоты. Если человек вежливый, это не значит, что он не понимает, что вы ему врете.

    • @Galoscope
      @Galoscope 5 месяцев назад

      @@vitaliy0192 так это мок интервью, это лишь пример реального собеса

    • @dragerjeji5279
      @dragerjeji5279 4 месяца назад +1

      я чуть не умерла от истерики

  • @HappySmite
    @HappySmite 6 месяцев назад +1

    Спасибо тебе огромное, Антон, за твою работу!❤

  • @DimaIvanov
    @DimaIvanov 6 месяцев назад +5

    Это лучшее mock которое я видел!

  • @user-dy3og1bu7j
    @user-dy3og1bu7j 3 месяца назад +1

    Спасибо ребят! Проверил себя.

  • @ivangavrilov104
    @ivangavrilov104 3 месяца назад +1

    реально круто!!! спасибо!!!!

  • @evgenyk5871
    @evgenyk5871 6 месяцев назад +11

    Вроде не сложные вопросы, но я бы на собесе на половину не ответил бы по теории. Конечно, это отдельный навык уметь все это сходу так рассказать

  • @maksimus.ssirotkin1124
    @maksimus.ssirotkin1124 3 месяца назад +7

    Все себя мнят супер психологамии и придераются к фразам, Он сказал плыву по волне а не по течению, и ее еще надо взять, затем он сказал, что берет ноаые задачи и хочет взять тским образом более высокие волны)
    да и много хороших слов он сказал, но в любом случае это просто слова

  • @user-gn2hi7di6g
    @user-gn2hi7di6g 5 месяцев назад +7

    всем привет
    про where and on
    Камиль прав только от части
    1) в целом, без планировщика запросов это чистая вкусовшина
    2)в данном примере, запрос отработает не верно - вернет все папки
    1) подробнее
    планировщики сейчас на столько умные, что они понимаю и могут перестроить запрос внутри полностью
    если хочется себя более обезопасить от того, чтоб фильтрация выполнилась ранее джойна, то можно использовать when, но и это планировщик может мутировать во все, что ему угодно
    пишите как хотите, если нет доступа к планировщику
    если есть, напишите любой пример, посмотрите планировщик(не запуская запрос) и тогда уже тюньте запрос, чтоб ускорить его,
    а возможно, стоит добавлять индекс/индексы, но помните, что любой индекс это увеличение таблицы, в больших(по столбцам таблицах) индексы(так как их будет много) могут весить в разы больше, чем данные в самой таблице
    2) подробнее
    == в постгресе не используется - но это мелочь
    запрос вернет все папки, так как любой файл лежит в папке - file.folder_id is not null
    значит left join вернет все папки
    проверим на вариантах
    папка пуста - left join -> эту папку как пустую
    папка содержит только ави - left join -> эту папку как содержащую ави
    папка содержит ави и другие - left join -> эту папку как содержащую ави
    папка содержит другие - left join -> эту папку как пустую(файлов ави нет в ней, значит в выборке 0, значит папка выглядит как пустая)
    данный запрос НУЖНО было написать 2 запросами и объединить их через union all
    select folder.id, folder.name from folder left join file on folder.id = file.folder_id where file.folder_id is null - это пустые папки
    union all - это склеить 2 запроса
    select folder.id, folder.name from folder join file on folder.id = file.folder_id where file.name like '%.avi' - это папки где есть ави
    group by folder.id, folder.name - иначе для каждой папки с ави, она будет упоминаться столько раз, сколько ави файлов в ней есть

    • @LPS-ln1mz
      @LPS-ln1mz 3 месяца назад +1

      может через union? union all в резльтирующем запросе оставляет дубликаты

  • @sealenochka
    @sealenochka 6 месяцев назад +6

    Камиль, потрясающая стрижка!

    • @it-father
      @it-father 6 месяцев назад

      Спасибо!

  • @it-father
    @it-father 6 месяцев назад +24

    Всем привет! Меня зовут Камиль, это я проводил интервью. Мы с Димой выжались по полной, но есть 2%-ая вероятность на мелкие недочеты. Их устранение могло бы занять 98% времени. Поэтому если есть какие то вопросы/доуточнения/пожелания, прошу их задавать в ответах на этот комментарий.
    Почему лучше так:
    - Я специально включу уведомления на ответные комментарии, чтобы быстро реагировать. А не мониторить все комменты подряд
    - Вам самим будет удобней, если все конструктивы будут размещены в отдельном топике, чтобы они не перемешались между остальными реакциями
    Просьба: если вы хотите похвалить или наоборот зашкварить меня, но без фактов/пруфов/аргументов, то пожалуйста не пишите под этим топиком.

    • @hoi_bj
      @hoi_bj 6 месяцев назад

      Про расположение условия после оператора on или where. Близко к тектсу "лучше фильтрацию производить до join-a, тк в одной таблице 1000 записей, в другой 1000, полсе уже будет 1_000_000 ...".
      Ну мы же не везде cross join используем, точнее сказать в большинстве кейсов его не используем) И откуда тогда мы возьмем n1 * n2 записей?

    • @it-father
      @it-father 6 месяцев назад +3

      @@hoi_bj я взял обширный кейс когда просто джойним без доп условий. А так если накидать это все, то конечно не будет миллион

    • @hoi_bj
      @hoi_bj 6 месяцев назад +1

      ​@@it-father понял) За интервью, проделанную колоссальную работу, классную картинку и звук, большое спасибо!

    • @it-father
      @it-father 6 месяцев назад

      @@hoi_bj да, работа была действительно колоссальная) спасибо за фидбек!

    • @rogerwilko118
      @rogerwilko118 5 месяцев назад +3

      В видео ты сказал, что к нему будет прикреплена ссылка на паттерны проектирования для микросервисов. Не нахожу, продублируй плз.

  • @vitaliy0192
    @vitaliy0192 5 месяцев назад +1

    Не узнал Антона! Помолодел!

  • @Andrzej3935
    @Andrzej3935 5 месяцев назад +4

    Блин, да почему так мало просмотров то!
    Контент годнейший
    Вопросы и ответы по теме(благодаря этому интервью - я прошел настоящее интервью 😊)
    Антох, тебе прост нужна хорошая реклама

    • @m0rtymerr
      @m0rtymerr  5 месяцев назад

      отличная идея, не хочешь этим заняться?

  • @wizardoflightnings6841
    @wizardoflightnings6841 6 месяцев назад +1

    Ого, настоящий Дима!

  • @ovsyannikovo
    @ovsyannikovo Месяц назад +1

    Компаниям нужны работники которые делают работу. А требование-претензия интервьюера чтобы человек хотел расти (обычно в качестве цели роста полагается рост заработка) это экстраполяция себя на него. А если он не такой как я то что-то с ним не то и не так. Как так он не хочет карьерного роста и роста ЗП? Если человек на отлично выполняет свои задачи то ему уже не нужно никуда расти! В смысле он не обязан этого хотеть если его все устраивает.

  • @maxkvasnikov
    @maxkvasnikov 6 месяцев назад +3

    Про join эксперт недоответил: еще при внешнем join строки которым не нашлось соответствия в сoединяемой таблице останутся при условии в секции on. Если это же условие спустить в секцию where такие строки пропадут из выборки

  • @Az1zdev
    @Az1zdev 6 месяцев назад +1

    🎉🎉🎉

  • @shef9192
    @shef9192 Месяц назад

    такую музыку включают всегда, когда делают массаж в Аланье )

  • @ferzzzzzz
    @ferzzzzzz 6 месяцев назад +6

    При иннер джойне можно менять местами условия в on и where, но не при внешних джойнах.

    • @LPS-ln1mz
      @LPS-ln1mz 3 месяца назад

      почему так? аутер джойн как раз содержит все строки одной или обеих таблиц, так что ему как раз вообще должно быть по барабану как расположены where && on местами

    • @ferzzzzzz
      @ferzzzzzz 3 месяца назад

      @@LPS-ln1mz условие во внешнем джойне не фильтрует, вот пример:
      hub_girls:
      id
      1
      2
      3
      sat_girls:
      id type
      1 sexy
      2 not_sexy
      RESULTS:
      select hg.id
      from hub_girls hg
      left join sat_girls sg
      on hg.id=sg.id
      and sg.type='sexy'
      sexy_girls
      id
      1
      2
      select hg.id
      from hub_girls hg
      left join sat_girls sg
      on hg.id=sg.id
      where sg.type='sexy'
      sexy_girls
      id
      1

  • @ruslanasvitiutinas1187
    @ruslanasvitiutinas1187 3 дня назад

    Автар спутал кучу Stack с очередью Queue. В куче LIFO принцип, а не упорядочность по размеру.

  • @Hardy_21
    @Hardy_21 6 месяцев назад +9

    18:20 Разница между джуном и мидлом) Хорош! Я тоже так отвечаю, ваши проблемы это ваши проблемы

    • @it-father
      @it-father 6 месяцев назад +3

      на самом деле не всегда от грейда зависит. Иногда сеньоры тоже могут прогибаться. Это вопрос характера еще

    • @Hardy_21
      @Hardy_21 6 месяцев назад +2

      Если цель компании это бабки, которые всем сверху вниз перепадут по убыванию, то "есть у нас контракт, работаем согласно ему".
      А джуны сейчас противоположность здравого смысла, на любые даже скам стартапы готовы за бесплатно влезть ради драхоценного "опыта".

  • @hoi_bj
    @hoi_bj 6 месяцев назад +1

    Про расположение условия после оператора on или where. Близко к тектсу "лучше фильтрацию производить до join-a, тк в одной таблице 1000 записей, в другой 1000, полсе уже будет 1_000_000 ...".
    Ну мы же не везде cross join используем, точнее сказать в большинстве кейсов его не используем) И откуда тогда мы возьмем n1 * n2 записей?

  • @monsstric
    @monsstric 6 месяцев назад +8

    Думал, на сеньора посложнее собесы ) Пора выходить тоже )

    • @MrJkeely
      @MrJkeely 3 месяца назад

      Да камон, какой сеньор, 4 года опыт работы с учетом стажировок..

    • @user-pq9zz8gs4s
      @user-pq9zz8gs4s 3 месяца назад

      ​@@MrJkeely ну напиши 5 лет и убери стажировку. Странный комент на этом канале, где не смотрят на года опыта

    • @LPS-ln1mz
      @LPS-ln1mz 3 месяца назад

      @@MrJkeelyдавай напиши автору пускай запишет с тобой видос мок интервью, посмотрим на твою сеньерность

    • @MrJkeely
      @MrJkeely 3 месяца назад

      @@LPS-ln1mzа я и не говорил, что претендую на что-то, кто в теме понимает что сеньор это про опыт и за такой малый срок шатаясь из компании в компанию ты просто поверхностно будешь знать всё по чуть-чуть

    • @LPS-ln1mz
      @LPS-ln1mz 3 месяца назад

      @@MrJkeelyага, а сеньера получают на пенсии, я правильно понял? Как раз дали сеньера и нотификейшен - вы уволен в позиции сеньера. Желаем всего.

  • @dothings6646
    @dothings6646 Месяц назад

    музыка на фоне кайф

  • @user-pt2lq1ik7i
    @user-pt2lq1ik7i 4 месяца назад +2

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

  • @user-cx4nj6io8x
    @user-cx4nj6io8x 5 месяцев назад +1

    По поводу Liskov мне кажется наоборот должно быть. Как раз таки у нас есть фигура треугольник и квадрат, который от него наследуется. Поведение метода площадь в результате будет одинаковой, а должен быть разный, так как в квадрате площадь будет a^2 а в треугольники другая..
    В результате по принципу мы создаем абрстракт, назовем его фигура, и метод площадь делаем абстрактный, тогда для каждой фигуры мы вынужденны реализовать данный метод и мы просто не сможем накосячить

    • @12zxqwas1
      @12zxqwas1 3 месяца назад +1

      ЛС обисняют на примере прямоугольник квадрат, наск я помню.

  • @dotherap
    @dotherap 6 месяцев назад +4

    Едрить, больше половины вопросов точно на джуновских собесах спрашивают! Кажется пора готовиться к мидловым собесам)

    • @it-father
      @it-father 6 месяцев назад +2

      ну вообще там отличий не более чем на 35%

    • @vasyavasin7364
      @vasyavasin7364 2 месяца назад

      Так сейчас галеры берут джунов и продают их как синьоров. Поэтому и вопросы для джунов такие

  • @theameow
    @theameow 2 месяца назад

    Антон, это на какую примерно позицию собес? Если говорилось в видосе, сори

  • @dmitriyobidin6049
    @dmitriyobidin6049 Месяц назад

    А где ссылки в описании к видео?

  • @olegpetrov3513
    @olegpetrov3513 6 месяцев назад

    1:21:35 Собеседуемый сказал, что возможно оптимизатор запроса сам поймет, что истественно лучше сначало отфильтровать данные потом джойнить. В таком случае без разницы где условие like в on или where. Так ли это?

  • @Libra7by
    @Libra7by 6 месяцев назад +2

    Кучу как структуру данных и Кучу как структуру памяти, конечно, не надо путать. Но названы они одинаково, так устроены очень похоже.
    И там и там, это граф объектов, которые имеют корень (В JVM их несколько), узлы и ветви связей.

    • @it-father
      @it-father 6 месяцев назад

      спасибо за дополнение!

  • @denispanasyuk1106
    @denispanasyuk1106 Месяц назад

    В задаче на sql(1:16:45) в итоговом решении в ответе появятся папки хотя бы с одним .avi файлом, а нужно ведь было папки, где ВСЕ файлы .avi
    В запросе нужна группировка:
    select folder_name
    from folder
    left join file on folder.id = file.folder_id
    group_by folder.id
    having max(file.name) = min(file.name) && max(file.name) like '%.avi' or max(file.id) = null

  • @Andrzej3935
    @Andrzej3935 6 месяцев назад +3

    Кандидат не плох, где не знает до конца, говорит что знает - остальное додумывает 😎

    • @it-father
      @it-father 6 месяцев назад +2

      выкручивался как мог) тоже навык

    • @flugeggenhaimen1722
      @flugeggenhaimen1722 4 месяца назад

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

  • @user-cx4nj6io8x
    @user-cx4nj6io8x 5 месяцев назад

    Также volatile можем не использовать если у нас всего 1 ядро, потому что кеш на уровне ядра, соответственной все потоки будут иметь доступ к этому ядру, а не другим ядрам. Но в другом случае может быть вертикальное масштабирование, поэтому все таки volatile

    • @neketavorotnikov6743
      @neketavorotnikov6743 3 месяца назад

      Нет, не можем не использовать. Философия java отрицает программирование под железо и семантика volatile с точки зрения jmm это не про согласованность кэшей в ядрах, а про гарантию отсутствия перестановок компилятора.
      Если же без jsr-терминов - то про установления частичного порядка между событиями в разных потоках, благодаря чему можем строить транзитивное замыкание.
      Короче для обеспечения гарантии видимости Volatile (или другие hb события) нужен, всегдас даже на 1 ядре

    • @user-cx4nj6io8x
      @user-cx4nj6io8x 2 месяца назад

      @@neketavorotnikov6743
      Согласен, Volatile обеспечивает не только мгновенное обновление, но и другие механизмы и если задача стоит не только в этом, то Volatile действительно необходим как раз как вы упомянули hb и про порядок выполнения. Большое спасибо что поправили

  • @ovsyannikovo
    @ovsyannikovo Месяц назад

    12:11 Кстати найти до чего докопаться чтобы отобрать ранее выданную награду это так себе с этической точки зрения )))) Нужно делать сплит акций то есть не награду отнимать а понижать ее коэффициент )))

  • @user-lv3hn6uz4e
    @user-lv3hn6uz4e 6 месяцев назад +2

    1:26:26
    Это условие здесь не нужно так как left join, ну и про то что нельзя менять в where и в on во внешних join уже написали, короче собеседующему саму нужно SQL подтянуть
    1:39:15 материализованные представления в РСУБД по крайней мере в том числе и в PG не имеет ничего общего с кешом. В двух словах если упростить, СУБД хранит рядом копию этих данных на лету обновляя всегда (соблюдая ACID, то есть там не могут не быть не актуальные данные) когда данные меняются в таблицах что лежат под запросом этой материализованной вью.

    • @user-pf3xv2cm6o
      @user-pf3xv2cm6o 4 месяца назад +1

      Про мат вью в постгресе всё же прав Камиль:
      A materialized view cannot subsequently be directly updated, so that fresh data can be generated for the materialized view with:
      REFRESH MATERIALIZED VIEW mymatview;
      ...
      This materialized view might be useful for displaying a graph in the dashboard created for salespeople. A job could be scheduled to update the statistics each night using this SQL statement:
      ...

    • @user-lv3hn6uz4e
      @user-lv3hn6uz4e 4 месяца назад

      @@user-pf3xv2cm6o походу да, признаю, большую часть карьеры работал с Ms SQL server, на ПГ год только как перешёл, не думал что такая для меня простая вещь будет так сильно отличаться

  • @erkinkasymaliev9777
    @erkinkasymaliev9777 2 месяца назад +1

    Какой же Кевин де Брюйне крутой: и ассисты Холланду раздает и собесы проводит

  • @user-gw6df6ns7e
    @user-gw6df6ns7e 4 месяца назад +2

    Greenplam - это OLAP решение. Никогда не тащите эту штуку как обычный Postgres OLTP.

  • @Eduard.Kardashov
    @Eduard.Kardashov 6 месяцев назад +2

    подушню немного 😀
    тайминг 34:50
    "в конкуррентой хешмапе все потоки могут работать с бакетами" - здесь стоило бы дать уточнение - когда это происходит, потому что вышеозвученная конкурентность всех потоков может быть нарушена ( о чем также ничего не сказано)
    "в то время как в обычной хешмае только один поток может работать со всей мапой" - очевидно, что здесь хотели сказать немного иное, потому что формально нет никаких ограничений одновременной работы потоков с обычной хешмапой и утверждение выглядит совсем неверным

    • @it-father
      @it-father 6 месяцев назад

      О первый пошел, напишу попозже ответочку. Заранее спасибо за душноту ❤

    • @it-father
      @it-father 6 месяцев назад +1

      "в то время как в обычной хешмае только один поток может работать со всей мапой" - это больше относится к синхронизированной хэшмапе, поэтому в 34:59 есть уточнение текстом. Да, с обычной мапой как бы можно работать и в несколько потоков, просто результат будет непредсказуемый. Поэтому не стоит использовать HashMap в многопоточной среде.

    • @Eduard.Kardashov
      @Eduard.Kardashov 6 месяцев назад +1

      @@it-fatherда, я это и имел в виду, что сказано было не совсем то, что подразумевалось

    • @flowname
      @flowname 5 месяцев назад

      ​@@it-father я понимаю, что притворяться успешным успехом перед неискушенной публикой отнимает много энергии, но настолько палиться в своих скиллах... Что значит непредсказуемый результат в многопоточной среде? А если моя многопоточная среда только читает данные, инициализированные конструктором при входе в main? А если у меня ровно один пишущий поток и множество читающих? А что если у меня ровно два пишущих потока, но у них кооперативное ручное переключение контекста? А почему ты решил, что свойство предсказуемости имеет отношение к исполнению рантайма, а не модели данных, к которым обращаются из рантайма? Что если у меня хэш-таблица, которая реализует исключительно ассоциативную и коммутативную алгебру над своими значениями и не позволяет никакие другие операции, включая удаление и расширение? Она у тебя всё ещё будет иметь непредсказуемый результат?

  • @user-ml9xs8kc4q
    @user-ml9xs8kc4q Месяц назад

    Собес сложнее чем на сеньора(тот самый душный собес)

  • @user-mb1dj3pk2d
    @user-mb1dj3pk2d 6 месяцев назад +1

    Это собеседование на какую позицию?

    • @user-kw4re1nr2r
      @user-kw4re1nr2r 6 месяцев назад +1

      Сеньор

    • @it-father
      @it-father 6 месяцев назад +1

      Да, метил кандидат на сеньора

    • @it-father
      @it-father 6 месяцев назад

      мой собес это сборная солянка из различных собесов начиная со всякого аутсорса и заканчивая стартапами в валюте@@denmob

  • @ohhmyivan
    @ohhmyivan 18 дней назад

    Собес по мьюингу не пройден

  • @LPS-ln1mz
    @LPS-ln1mz 3 месяца назад +1

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

  • @ovsyannikovo
    @ovsyannikovo Месяц назад

    если инт влезет в 8 бит то.... чет я не понял тут

  • @user-pt2lq1ik7i
    @user-pt2lq1ik7i 4 месяца назад

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

    • @user-pq9zz8gs4s
      @user-pq9zz8gs4s 3 месяца назад

      Комент от человека который за всю жизнь прошёл один собес и он оказался успешным с такой выборкой он пришёл делиться знаниями

  • @user-gw6df6ns7e
    @user-gw6df6ns7e 4 месяца назад

    Человек если получил креды от базы и имеет к ней доступ по сети ограничен только в своей фантазией.

  • @biguh3020
    @biguh3020 4 месяца назад +1

    музыка на фоне усыпляет

  • @jollyroger2757
    @jollyroger2757 6 месяцев назад +1

    Причем тут кеш и волотайл, откуда это пошло?

    • @it-father
      @it-father 6 месяцев назад

      раскрой пожалуйста подробней свой вопрос

    • @jollyroger2757
      @jollyroger2757 6 месяцев назад

      @@it-father волотайл не дает гарантий что процессор не воспользуется кешом. Перед процессором и байт кодом есть jvm + OS со своими инструкциями. Волотайл дает гарантии видимости изменений, но никак не влияет на кешировние, о чем нам говорит глава 8 спецификации языка java

    • @flowname
      @flowname 5 месяцев назад +1

      @@jollyroger2757 чего ты хочешь от инфоцыгана, чтобы он рантаймы языков знал?

  • @cognosce6193
    @cognosce6193 6 месяцев назад +4

    С каких пор Антон Назаров собеседует джавистов?

    • @andd3dfx
      @andd3dfx 6 месяцев назад +2

      Посмотри другие интервью на этом канале - вопросов добавится

    • @it-father
      @it-father 6 месяцев назад

      в ролике тут двое вроде

    • @moviefokll733
      @moviefokll733 6 месяцев назад +6

      Ребята, это шутка, что интервьюер похож на Антона, расслабитесь

    • @user-pq9zz8gs4s
      @user-pq9zz8gs4s 3 месяца назад

      ​@@moviefokll733спасибо, где ты был раньше 😂?

  • @mikhail6694
    @mikhail6694 4 месяца назад +2

    что-то очень борзая манера общения от интервьюера

  • @LPS-ln1mz
    @LPS-ln1mz 3 месяца назад

    А где топ 10 вопросов? тут 2 часа вопросов

  • @flowname
    @flowname 5 месяцев назад +2

    Камиль, а почему ты кидаешь теневой бан на комментарии, которые справедливы в контексте твоих выступлений про успешную жизнь айтишников? Мне не сложно, я продублирую его и здесь: я пролистал весь твой телеграм, который началася с лета 2022 года, и не увидел ни одной ссылки на примеры твоего кода. Максимум, что удалось найти, это вопрос с собеседования про типизацию map в джаваскрипте. А вот всяких розыгрышей, фото-отчетов успешного успеха и похвалы БМщикам, наоборот, удивительно много. Назревает два вопроса: 1) где пруфы, Билли? 2) Ева - твоя жена-коуч, которая тоже случайным образом "вышла на миллион", так же как и ты? Или она свободна и у вас там сообщество миллионеров такое, которое друг друга комментирует для придания видимости активной дискуссии?

    • @user-pq9zz8gs4s
      @user-pq9zz8gs4s 3 месяца назад +1

      А ты легко можешь код посмотреть у тимлидов и сеньоров? Может тебе ещё дадут в Гугле код с работы?
      С чего ты взял что лид вообще кодит?

  • @sternsurf
    @sternsurf 5 месяцев назад

    В 1 задаче лайвкодинга ошибка -
    1) тут главный поток завершается раньше чем выполняются дочерние - нужны Thread.join -
    2) volatile не нужен и AtomicInteger тоже не нужен - так как переменная static
    Задача решена не верно и интервьюер ничего про это не сказал...

    • @lalacomonsuiergvb
      @lalacomonsuiergvb 5 месяцев назад +1

      1) он потом добавил джойны
      2) и что, если static? Попробуйте выполнить код, AtomicInteger реально спасает в таких ситуациях.
      Другое дело, что оперировать static переменной в non-static методах не рекомендуется

  • @ITV-ITV-
    @ITV-ITV- 4 месяца назад +2

    Большая "софтскильная" ошибка Дмитрия в том, что он разрешает обращаться к себе как к Диме.
    Воспринимаемая разница примерно как между *Павел* Буре и *Паша* Техник

    • @madyaraitpayev996
      @madyaraitpayev996 16 дней назад +1

      Или как Дмитрий Нагиев и Дима Медведев

    • @ITV-ITV-
      @ITV-ITV- 15 дней назад

      @@madyaraitpayev996 (Не)Димон Медведев и Димо-о-о-о-он из "Бумера"

  • @vitaliy0192
    @vitaliy0192 4 месяца назад

    Джун джуном.

    • @flugeggenhaimen1722
      @flugeggenhaimen1722 4 месяца назад +1

      на 18:20 он явно доказал, что уже как минимум мидл+
      джуны так не умеют😂😂

  • @hugayda
    @hugayda 2 месяца назад

    Крутые разработчики, а текст для видео банально через редактор с проверкой орфографии не умеют прогнать. Не кАпнуть, а кОпнуть поглубже. Проверочное слово кОпка. Кругом безграмотность и непрофессионализм. Стыдно господа капиталисты!

  • @d31m07y1988
    @d31m07y1988 4 месяца назад

    монтажер еще тот. В школе тоже баловались спецэффектами в программах. Зачем это пьяная вставка с объяснениями.

  • @mwave3388
    @mwave3388 6 месяцев назад +18

    Меня на собесе спросили только 1 вопрос: вилкой в глаз или просмотр видео Антона Назарова один раз?

    • @13DAR10
      @13DAR10 Месяц назад

      Когда операция?

    • @user-fh9sm8nh9b
      @user-fh9sm8nh9b 10 дней назад

      Что то я в вашей компании одноглазых не вижу😂

  • @user-rn9rv4tv4o
    @user-rn9rv4tv4o 3 месяца назад

    n*1,5 + 1, а не в два раза ruclips.net/video/UyvbUkVkt7A/видео.html

    • @belovaf5
      @belovaf5 Месяц назад

      Не верно. При добавлении одного элемента ArrayList растёт в 1.5 раза с округлением в меньшую сторону.
      Например, при initalCapacity=3 он вырастет до 4.

  • @donpedro2125
    @donpedro2125 2 месяца назад

    Мда, пошел учить списки методов с лямбдами из стандартной либы, а то на работу не попасть походу, бл... откуда вы беретесь такие

  • @972gmailcom1
    @972gmailcom1 2 месяца назад

    Фигец как мешает и раздражает фоновая музыка. Лучше вилкой в глаз.