Тёмный

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

Антон Назаров | Осознанная Меркантильность
Просмотров 36 тыс.
50% 1

Мок интервью на 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"
#антонназаров #мокинтервью #программист

Развлечения

Опубликовано:

 

28 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 123   
@user-rd3uq8ug3x
@user-rd3uq8ug3x 6 месяцев назад
Спасибо за интервью. Я тоже с 11 года в индустрии и сейчас обратил внимание, что часть тонкостей уже просто забыл. Самое неприятное, что знание этих тонкостей в работе может ничего не давать, поэтому они держатся в памяти только короткое время. И придётся их повторять исключительно для собеседований, что весьма уныло, ведь одно дело, когда осваиваешь что-то новое и совсем другое, когда снова и снова заучиваешь ненужное.
@flint2159
@flint2159 3 месяца назад
Согласен
@rogerwilko118
@rogerwilko118 6 месяцев назад
Спасибо Антон и Камиль, очень крутой собес!
@Galoscope
@Galoscope 6 месяцев назад
Орнул с истории про компанию, круто
@it-father
@it-father 6 месяцев назад
Рад что тебе зашло) не зря значит над легендой заморочился
@user-kb5kd7ln3h
@user-kb5kd7ln3h 6 месяцев назад
​@@it-father реально интересно придумал😂
@vitaliy0192
@vitaliy0192 5 месяцев назад
Ага, круто придумал: все кто смотрели сразу увидели, что это просто придумано. Собеседующие тоже не идиоты. Если человек вежливый, это не значит, что он не понимает, что вы ему врете.
@Galoscope
@Galoscope 5 месяцев назад
@@vitaliy0192 так это мок интервью, это лишь пример реального собеса
@dragerjeji5279
@dragerjeji5279 4 месяца назад
я чуть не умерла от истерики
@HappySmite
@HappySmite 6 месяцев назад
Спасибо тебе огромное, Антон, за твою работу!❤
@evgenyk5871
@evgenyk5871 6 месяцев назад
Вроде не сложные вопросы, но я бы на собесе на половину не ответил бы по теории. Конечно, это отдельный навык уметь все это сходу так рассказать
@DimaIvanov
@DimaIvanov 6 месяцев назад
Это лучшее mock которое я видел!
@m0rtymerr
@m0rtymerr 6 месяцев назад
Найди ментора или стань им в один клик: 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
@user-dy3og1bu7j
@user-dy3og1bu7j 3 месяца назад
Спасибо ребят! Проверил себя.
@ivangavrilov104
@ivangavrilov104 3 месяца назад
реально круто!!! спасибо!!!!
@maksimus.ssirotkin1124
@maksimus.ssirotkin1124 3 месяца назад
Все себя мнят супер психологамии и придераются к фразам, Он сказал плыву по волне а не по течению, и ее еще надо взять, затем он сказал, что берет ноаые задачи и хочет взять тским образом более высокие волны) да и много хороших слов он сказал, но в любом случае это просто слова
@user-gn2hi7di6g
@user-gn2hi7di6g 5 месяцев назад
всем привет про 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 месяца назад
может через union? union all в резльтирующем запросе оставляет дубликаты
@Andrzej3935
@Andrzej3935 5 месяцев назад
Блин, да почему так мало просмотров то! Контент годнейший Вопросы и ответы по теме(благодаря этому интервью - я прошел настоящее интервью 😊) Антох, тебе прост нужна хорошая реклама
@m0rtymerr
@m0rtymerr 5 месяцев назад
отличная идея, не хочешь этим заняться?
@sealenochka
@sealenochka 6 месяцев назад
Камиль, потрясающая стрижка!
@it-father
@it-father 6 месяцев назад
Спасибо!
@wizardoflightnings6841
@wizardoflightnings6841 6 месяцев назад
Ого, настоящий Дима!
@it-father
@it-father 6 месяцев назад
Всем привет! Меня зовут Камиль, это я проводил интервью. Мы с Димой выжались по полной, но есть 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 месяцев назад
@@hoi_bj я взял обширный кейс когда просто джойним без доп условий. А так если накидать это все, то конечно не будет миллион
@hoi_bj
@hoi_bj 6 месяцев назад
​@@it-father понял) За интервью, проделанную колоссальную работу, классную картинку и звук, большое спасибо!
@it-father
@it-father 6 месяцев назад
@@hoi_bj да, работа была действительно колоссальная) спасибо за фидбек!
@rogerwilko118
@rogerwilko118 5 месяцев назад
В видео ты сказал, что к нему будет прикреплена ссылка на паттерны проектирования для микросервисов. Не нахожу, продублируй плз.
@vitaliy0192
@vitaliy0192 5 месяцев назад
Не узнал Антона! Помолодел!
@maxkvasnikov
@maxkvasnikov 6 месяцев назад
Про join эксперт недоответил: еще при внешнем join строки которым не нашлось соответствия в сoединяемой таблице останутся при условии в секции on. Если это же условие спустить в секцию where такие строки пропадут из выборки
@ovsyannikovo
@ovsyannikovo Месяц назад
Компаниям нужны работники которые делают работу. А требование-претензия интервьюера чтобы человек хотел расти (обычно в качестве цели роста полагается рост заработка) это экстраполяция себя на него. А если он не такой как я то что-то с ним не то и не так. Как так он не хочет карьерного роста и роста ЗП? Если человек на отлично выполняет свои задачи то ему уже не нужно никуда расти! В смысле он не обязан этого хотеть если его все устраивает.
@ruslanasvitiutinas1187
@ruslanasvitiutinas1187 6 дней назад
Автар спутал кучу Stack с очередью Queue. В куче LIFO принцип, а не упорядочность по размеру.
@ferzzzzzz
@ferzzzzzz 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
@monsstric
@monsstric 6 месяцев назад
Думал, на сеньора посложнее собесы ) Пора выходить тоже )
@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ага, а сеньера получают на пенсии, я правильно понял? Как раз дали сеньера и нотификейшен - вы уволен в позиции сеньера. Желаем всего.
@Hardy_21
@Hardy_21 6 месяцев назад
18:20 Разница между джуном и мидлом) Хорош! Я тоже так отвечаю, ваши проблемы это ваши проблемы
@it-father
@it-father 6 месяцев назад
на самом деле не всегда от грейда зависит. Иногда сеньоры тоже могут прогибаться. Это вопрос характера еще
@Hardy_21
@Hardy_21 6 месяцев назад
Если цель компании это бабки, которые всем сверху вниз перепадут по убыванию, то "есть у нас контракт, работаем согласно ему". А джуны сейчас противоположность здравого смысла, на любые даже скам стартапы готовы за бесплатно влезть ради драхоценного "опыта".
@user-pt2lq1ik7i
@user-pt2lq1ik7i 4 месяца назад
всегда со стороны кажется что программисты не понятно за что получают относительно не плохие зар платы, но они находятся в стрессе, или находились раньше, за частую у большинства подорвано здоровье, в основном у тех, кто сразу не понял, что программирование только со с физкультурой совместимо
@dotherap
@dotherap 6 месяцев назад
Едрить, больше половины вопросов точно на джуновских собесах спрашивают! Кажется пора готовиться к мидловым собесам)
@it-father
@it-father 6 месяцев назад
ну вообще там отличий не более чем на 35%
@vasyavasin7364
@vasyavasin7364 2 месяца назад
Так сейчас галеры берут джунов и продают их как синьоров. Поэтому и вопросы для джунов такие
@hoi_bj
@hoi_bj 6 месяцев назад
Про расположение условия после оператора on или where. Близко к тектсу "лучше фильтрацию производить до join-a, тк в одной таблице 1000 записей, в другой 1000, полсе уже будет 1_000_000 ...". Ну мы же не везде cross join используем, точнее сказать в большинстве кейсов его не используем) И откуда тогда мы возьмем n1 * n2 записей?
@olegpetrov3513
@olegpetrov3513 6 месяцев назад
1:21:35 Собеседуемый сказал, что возможно оптимизатор запроса сам поймет, что истественно лучше сначало отфильтровать данные потом джойнить. В таком случае без разницы где условие like в on или where. Так ли это?
@Az1zdev
@Az1zdev 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
@user-cx4nj6io8x
@user-cx4nj6io8x 5 месяцев назад
По поводу Liskov мне кажется наоборот должно быть. Как раз таки у нас есть фигура треугольник и квадрат, который от него наследуется. Поведение метода площадь в результате будет одинаковой, а должен быть разный, так как в квадрате площадь будет a^2 а в треугольники другая.. В результате по принципу мы создаем абрстракт, назовем его фигура, и метод площадь делаем абстрактный, тогда для каждой фигуры мы вынужденны реализовать данный метод и мы просто не сможем накосячить
@12zxqwas1
@12zxqwas1 3 месяца назад
ЛС обисняют на примере прямоугольник квадрат, наск я помню.
@shef9192
@shef9192 2 месяца назад
такую музыку включают всегда, когда делают массаж в Аланье )
@dothings6646
@dothings6646 Месяц назад
музыка на фоне кайф
@Libra7by
@Libra7by 6 месяцев назад
Кучу как структуру данных и Кучу как структуру памяти, конечно, не надо путать. Но названы они одинаково, так устроены очень похоже. И там и там, это граф объектов, которые имеют корень (В JVM их несколько), узлы и ветви связей.
@it-father
@it-father 6 месяцев назад
спасибо за дополнение!
@Andrzej3935
@Andrzej3935 6 месяцев назад
Кандидат не плох, где не знает до конца, говорит что знает - остальное додумывает 😎
@it-father
@it-father 6 месяцев назад
выкручивался как мог) тоже навык
@flugeggenhaimen1722
@flugeggenhaimen1722 4 месяца назад
я так экзамены давным давно в вузе сдавал. просто каменное лицо и додумываю то, что логически должно быть на мой взгляд никаких гарантий, что экзаменатор сам знает ответы на свои вопросы
@ovsyannikovo
@ovsyannikovo Месяц назад
12:11 Кстати найти до чего докопаться чтобы отобрать ранее выданную награду это так себе с этической точки зрения )))) Нужно делать сплит акций то есть не награду отнимать а понижать ее коэффициент )))
@user-cx4nj6io8x
@user-cx4nj6io8x 5 месяцев назад
Также volatile можем не использовать если у нас всего 1 ядро, потому что кеш на уровне ядра, соответственной все потоки будут иметь доступ к этому ядру, а не другим ядрам. Но в другом случае может быть вертикальное масштабирование, поэтому все таки volatile
@neketavorotnikov6743
@neketavorotnikov6743 3 месяца назад
Нет, не можем не использовать. Философия java отрицает программирование под железо и семантика volatile с точки зрения jmm это не про согласованность кэшей в ядрах, а про гарантию отсутствия перестановок компилятора. Если же без jsr-терминов - то про установления частичного порядка между событиями в разных потоках, благодаря чему можем строить транзитивное замыкание. Короче для обеспечения гарантии видимости Volatile (или другие hb события) нужен, всегдас даже на 1 ядре
@user-cx4nj6io8x
@user-cx4nj6io8x 3 месяца назад
@@neketavorotnikov6743 Согласен, Volatile обеспечивает не только мгновенное обновление, но и другие механизмы и если задача стоит не только в этом, то Volatile действительно необходим как раз как вы упомянули hb и про порядок выполнения. Большое спасибо что поправили
@user-lv3hn6uz4e
@user-lv3hn6uz4e 6 месяцев назад
1:26:26 Это условие здесь не нужно так как left join, ну и про то что нельзя менять в where и в on во внешних join уже написали, короче собеседующему саму нужно SQL подтянуть 1:39:15 материализованные представления в РСУБД по крайней мере в том числе и в PG не имеет ничего общего с кешом. В двух словах если упростить, СУБД хранит рядом копию этих данных на лету обновляя всегда (соблюдая ACID, то есть там не могут не быть не актуальные данные) когда данные меняются в таблицах что лежат под запросом этой материализованной вью.
@user-pf3xv2cm6o
@user-pf3xv2cm6o 4 месяца назад
Про мат вью в постгресе всё же прав Камиль: 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 месяца назад
Какой же Кевин де Брюйне крутой: и ассисты Холланду раздает и собесы проводит
@user-gw6df6ns7e
@user-gw6df6ns7e 4 месяца назад
Greenplam - это OLAP решение. Никогда не тащите эту штуку как обычный Postgres OLTP.
@theameow
@theameow 2 месяца назад
Антон, это на какую примерно позицию собес? Если говорилось в видосе, сори
@dmitriyobidin6049
@dmitriyobidin6049 Месяц назад
А где ссылки в описании к видео?
@Eduard.Kardashov
@Eduard.Kardashov 6 месяцев назад
подушню немного 😀 тайминг 34:50 "в конкуррентой хешмапе все потоки могут работать с бакетами" - здесь стоило бы дать уточнение - когда это происходит, потому что вышеозвученная конкурентность всех потоков может быть нарушена ( о чем также ничего не сказано) "в то время как в обычной хешмае только один поток может работать со всей мапой" - очевидно, что здесь хотели сказать немного иное, потому что формально нет никаких ограничений одновременной работы потоков с обычной хешмапой и утверждение выглядит совсем неверным
@it-father
@it-father 6 месяцев назад
О первый пошел, напишу попозже ответочку. Заранее спасибо за душноту ❤
@it-father
@it-father 6 месяцев назад
"в то время как в обычной хешмае только один поток может работать со всей мапой" - это больше относится к синхронизированной хэшмапе, поэтому в 34:59 есть уточнение текстом. Да, с обычной мапой как бы можно работать и в несколько потоков, просто результат будет непредсказуемый. Поэтому не стоит использовать HashMap в многопоточной среде.
@Eduard.Kardashov
@Eduard.Kardashov 6 месяцев назад
@@it-fatherда, я это и имел в виду, что сказано было не совсем то, что подразумевалось
@flowname
@flowname 5 месяцев назад
​@@it-father я понимаю, что притворяться успешным успехом перед неискушенной публикой отнимает много энергии, но настолько палиться в своих скиллах... Что значит непредсказуемый результат в многопоточной среде? А если моя многопоточная среда только читает данные, инициализированные конструктором при входе в main? А если у меня ровно один пишущий поток и множество читающих? А что если у меня ровно два пишущих потока, но у них кооперативное ручное переключение контекста? А почему ты решил, что свойство предсказуемости имеет отношение к исполнению рантайма, а не модели данных, к которым обращаются из рантайма? Что если у меня хэш-таблица, которая реализует исключительно ассоциативную и коммутативную алгебру над своими значениями и не позволяет никакие другие операции, включая удаление и расширение? Она у тебя всё ещё будет иметь непредсказуемый результат?
@user-ml9xs8kc4q
@user-ml9xs8kc4q Месяц назад
Собес сложнее чем на сеньора(тот самый душный собес)
@ohhmyivan
@ohhmyivan 21 день назад
Собес по мьюингу не пройден
@ovsyannikovo
@ovsyannikovo Месяц назад
если инт влезет в 8 бит то.... чет я не понял тут
@biguh3020
@biguh3020 5 месяцев назад
музыка на фоне усыпляет
@LPS-ln1mz
@LPS-ln1mz 3 месяца назад
а вообще с этими паттернами носятся как дурень с писаной торбой. Такое чувство что они нужны только для правильных и красивых слов на собесе. Ни разу не слышал вопросв какие паттерны ты применял при решении этой таски
@user-pt2lq1ik7i
@user-pt2lq1ik7i 4 месяца назад
чувак задает вопросы как из магазина пятерочка, меня когда брали на первую работу им было глубоко плевать чем я раньше занимался, они посмотрели мои знания и их устроило, в торговле и в других низкооплачиваемых сферах очень интересует готов ли ты стать рабом их системы, а поэтому вопросы почему уходил с предыдущих мест, что не устраивало - это вопросы готов ли ты стать рабом нашей системы)
@user-pq9zz8gs4s
@user-pq9zz8gs4s 3 месяца назад
Комент от человека который за всю жизнь прошёл один собес и он оказался успешным с такой выборкой он пришёл делиться знаниями
@user-mb1dj3pk2d
@user-mb1dj3pk2d 6 месяцев назад
Это собеседование на какую позицию?
@user-kw4re1nr2r
@user-kw4re1nr2r 6 месяцев назад
Сеньор
@it-father
@it-father 6 месяцев назад
Да, метил кандидат на сеньора
@it-father
@it-father 6 месяцев назад
мой собес это сборная солянка из различных собесов начиная со всякого аутсорса и заканчивая стартапами в валюте@@denmob
@user-gw6df6ns7e
@user-gw6df6ns7e 4 месяца назад
Человек если получил креды от базы и имеет к ней доступ по сети ограничен только в своей фантазией.
@LPS-ln1mz
@LPS-ln1mz 3 месяца назад
А где топ 10 вопросов? тут 2 часа вопросов
@jollyroger2757
@jollyroger2757 6 месяцев назад
Причем тут кеш и волотайл, откуда это пошло?
@it-father
@it-father 6 месяцев назад
раскрой пожалуйста подробней свой вопрос
@jollyroger2757
@jollyroger2757 6 месяцев назад
@@it-father волотайл не дает гарантий что процессор не воспользуется кешом. Перед процессором и байт кодом есть jvm + OS со своими инструкциями. Волотайл дает гарантии видимости изменений, но никак не влияет на кешировние, о чем нам говорит глава 8 спецификации языка java
@flowname
@flowname 5 месяцев назад
@@jollyroger2757 чего ты хочешь от инфоцыгана, чтобы он рантаймы языков знал?
@mikhail6694
@mikhail6694 4 месяца назад
что-то очень борзая манера общения от интервьюера
@cognosce6193
@cognosce6193 6 месяцев назад
С каких пор Антон Назаров собеседует джавистов?
@andd3dfx
@andd3dfx 6 месяцев назад
Посмотри другие интервью на этом канале - вопросов добавится
@it-father
@it-father 6 месяцев назад
в ролике тут двое вроде
@moviefokll733
@moviefokll733 6 месяцев назад
Ребята, это шутка, что интервьюер похож на Антона, расслабитесь
@user-pq9zz8gs4s
@user-pq9zz8gs4s 3 месяца назад
​@@moviefokll733спасибо, где ты был раньше 😂?
@flowname
@flowname 5 месяцев назад
Камиль, а почему ты кидаешь теневой бан на комментарии, которые справедливы в контексте твоих выступлений про успешную жизнь айтишников? Мне не сложно, я продублирую его и здесь: я пролистал весь твой телеграм, который началася с лета 2022 года, и не увидел ни одной ссылки на примеры твоего кода. Максимум, что удалось найти, это вопрос с собеседования про типизацию map в джаваскрипте. А вот всяких розыгрышей, фото-отчетов успешного успеха и похвалы БМщикам, наоборот, удивительно много. Назревает два вопроса: 1) где пруфы, Билли? 2) Ева - твоя жена-коуч, которая тоже случайным образом "вышла на миллион", так же как и ты? Или она свободна и у вас там сообщество миллионеров такое, которое друг друга комментирует для придания видимости активной дискуссии?
@user-pq9zz8gs4s
@user-pq9zz8gs4s 3 месяца назад
А ты легко можешь код посмотреть у тимлидов и сеньоров? Может тебе ещё дадут в Гугле код с работы? С чего ты взял что лид вообще кодит?
@sternsurf
@sternsurf 5 месяцев назад
В 1 задаче лайвкодинга ошибка - 1) тут главный поток завершается раньше чем выполняются дочерние - нужны Thread.join - 2) volatile не нужен и AtomicInteger тоже не нужен - так как переменная static Задача решена не верно и интервьюер ничего про это не сказал...
@lalacomonsuiergvb
@lalacomonsuiergvb 5 месяцев назад
1) он потом добавил джойны 2) и что, если static? Попробуйте выполнить код, AtomicInteger реально спасает в таких ситуациях. Другое дело, что оперировать static переменной в non-static методах не рекомендуется
@vitaliy0192
@vitaliy0192 4 месяца назад
Джун джуном.
@flugeggenhaimen1722
@flugeggenhaimen1722 4 месяца назад
на 18:20 он явно доказал, что уже как минимум мидл+ джуны так не умеют😂😂
@ITV-ITV-
@ITV-ITV- 4 месяца назад
Большая "софтскильная" ошибка Дмитрия в том, что он разрешает обращаться к себе как к Диме. Воспринимаемая разница примерно как между *Павел* Буре и *Паша* Техник
@madyaraitpayev996
@madyaraitpayev996 18 дней назад
Или как Дмитрий Нагиев и Дима Медведев
@ITV-ITV-
@ITV-ITV- 18 дней назад
@@madyaraitpayev996 (Не)Димон Медведев и Димо-о-о-о-он из "Бумера"
@hugayda
@hugayda 2 месяца назад
Крутые разработчики, а текст для видео банально через редактор с проверкой орфографии не умеют прогнать. Не кАпнуть, а кОпнуть поглубже. Проверочное слово кОпка. Кругом безграмотность и непрофессионализм. Стыдно господа капиталисты!
@d31m07y1988
@d31m07y1988 4 месяца назад
монтажер еще тот. В школе тоже баловались спецэффектами в программах. Зачем это пьяная вставка с объяснениями.
@mwave3388
@mwave3388 6 месяцев назад
Меня на собесе спросили только 1 вопрос: вилкой в глаз или просмотр видео Антона Назарова один раз?
@13DAR10
@13DAR10 Месяц назад
Когда операция?
@user-fh9sm8nh9b
@user-fh9sm8nh9b 13 дней назад
Что то я в вашей компании одноглазых не вижу😂
@user-rn9rv4tv4o
@user-rn9rv4tv4o 3 месяца назад
n*1,5 + 1, а не в два раза ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-UyvbUkVkt7A.html
@belovaf5
@belovaf5 Месяц назад
Не верно. При добавлении одного элемента ArrayList растёт в 1.5 раза с округлением в меньшую сторону. Например, при initalCapacity=3 он вырастет до 4.
@donpedro2125
@donpedro2125 2 месяца назад
Мда, пошел учить списки методов с лямбдами из стандартной либы, а то на работу не попасть походу, бл... откуда вы беретесь такие
@972gmailcom1
@972gmailcom1 2 месяца назад
Фигец как мешает и раздражает фоновая музыка. Лучше вилкой в глаз.
Далее
Sinfdosh xotin 7😂
01:01
Просмотров 2,2 млн
🍁 СЭР ДА СЭР
0:11
Просмотров 11 млн
Разница в уровнях🔥
0:26
Просмотров 19 млн
Сосед а твоя жена.,..
0:33
Просмотров 3 млн