7:20 Statement в jdbc 9:23 ACID 11:30 уровни изоляции транзакций(их 4) 14:44 способы обезопасить процесс изменения строк таблицы в бд(с помощью хешСуммы, например) 19:03 иерархия исключениий 20:41 try with recourses 23:10 обрабатывать на месте vs прокинуть исключение дальше 24:30 пример с Map из описания видео 27:05 пример с List 32:14 Object.finalize() 33:06 Spring bean scopes(их 6) 34:50 mock'и для тестов 35:51 партиционирование таблиц (вертикальное vs горизонтальное) 36:22 full scan vs index scan 36:32 индексы, составные индексы, минусы и плюсы их использования 38:48 возможна ли реализация https комуникации меджу сервисами развернутыми локально?
Евгений,ты очень хорошо проводишь собеседование. Было бы хорошо,чтобы на некоторые твои вопросы ты сам записывал ответы записывал,с примерами. Т к обьясняешь ты тоже очень толково. Спасибо за труд.
Евгений, спасибо за Ваш труд. Можно ли добавить в формат собеседований разбор примеров кода и задачки на алгоритмы. Интересно как кандидаты будут справляться с ними, ведь на реальном собеседовании они будут.
На всякий случай (не знаю писали или нет) по поводу примера с Map - в данном виде он не скомпилится из за несоотвествия генериков при map.put(map, "TEST"); Можно заменить генерик на Map
Евгений, спасибо, что вы делаете! Очень полезно! К сожалению, не нашел информацию про Вас, расскажите про свои проекты, скилы и чем вы гордитесь в своей работе Может это будет даже видео
Здравствуйте, Евгений. Нашел ваше видео только сейчас. Есть вопрос: почему в примере с листом из Number list.get(2) instanceof Long выведет false? По типам все совпадает, более того сама Java выдает true.
Евгений, я не совсем разобрался с вопросом про защиту поля в базе данных, но по поводу системы контроля версий бд, flyway, например, то с их помощью накатывается структура базы и чексума считается для миграции. А данные независимо от flyway уже селятся и апдейтятся?
Про защиту поля - уже написал в каком-то из предыдущих комментариев - про DENY... А flyware - общались только про специфику работы самой системы миграции.
Евгений, какой это уровень? Досмотрел до конца 39:30, услышал. Eugene Suleimanov Кстати на ютубе набирает популярность канал одного программиста с интервью на Java разработчика, только он ещё и на вопросы в следующем видео сам отвечает. возможно будет полезно для развития вашего канала. Кто за рубрику Ответы- на вопросы собеседований - ставь палец!)
разница между джуном и мидлом только опыт, все. на собесах иногда даже джун лучше отвечает, а вот в работе совсем по другому. Только опытный собеседующий может нащупать эту разницу.
По поводу map так и не разобрали до конца, что там в результате будет. Я джаву не знаю, но просто попробую догадаться. Похоже, что Map здесь старый добрый словарь, реализованный как хэш-таблица. Полагаю, что в качестве ключа тут будет адрес объекта map в памяти, а это просто число и оно не меняется. Поэтому не изменяемость ключа сохранится. Ну и когда мы добавляем по одному и тому же ключу эти строки, то вторая затрет первую. Поэтому результатом будет WTF!!! Евгений скажите так это или нет?
На самом деле - мой ответ в собеседовании далёк от реальности. И целью было, увидеть, как человек думает при решении не стандартных задач. Ну а целом, когда я работал над подобным функционалом - DENY UPDATE... И при вставке в БД транзакции запускается хранимая процедура, которая апдейтит баланс аккаунта. А вот там при валидации использовались и контрольные суммы и проверки и т.д.
три года стажа?! мля.. видели б вы как в лабу епама трясли. без стажа. чтобы студентом стать. Вопросы грамотные и не сильно сложные. самое распространенное. Евгению лойс.
@@meison7969 я ушел из епама сразу после окончания Лабы. 4 месяца. Лаба вам не панацея. Там никто никого не учит от слова совсем. Только сам. Самообучение. Если сам не можешь, то это не твое. И так везде и всегда.
Удивляет, что после трех лет опыта Вадим себе к возможным джунам относит... По мне через год опыта, если нормально стараться и развиваться, ты не можешь быть джуном, должен быть уже мидлом без всяких вопросов. Но если конечно тяжело идет, то джуном можно и 10 лет просидеть
На Западе это не только дурной тон, но и на иск можно нарваться. А в данных видео, исключительно, чтобы люди понимали общую картину. Возможно, это и не красиво, постараюсь убрать этот вопрос в будущем. Спасибо, что обратили внимание на этот момент.
@@EugeneSuleimanov на самом деле не ясно, зачем было писать такой комментарий у вас на канале. Дрю, он же Андрей - это автор канала czcams.com/channels/1g3kT0ZcSXt4_ZyJOshKJQ.html В чате подписчиков Андрея в Telegram в последнее время люди постят ваши ролики с собеседованиями. Именно так, например, я начал вас смотреть.
@@user-qx3jt8fw1v чел. фактор, конечном влияет, но это больше относится к позициям менеджерским :) Не стоит забывать про активное развитие технологий, программирование сейчас и 10 лет назад - совершенно разные вещи.
Материалы, рекомендуемые к изучению:
1. ORM:
www.amazon.com/Java-Persistence-Hibernate-Christian-Bauer/dp/1617290459
2. Cредства миграции БД:
flywaydb.org/getstarted/how
www.baeldung.com/database-migrations-with-flyway
3. БД:
habr.com/ru/post/66151/
docs.oracle.com/cd/B28359_01/server.111/b32024/partition.htm
4. Архитектура:
www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420
www.ebooks.com/en-ua/book/726531/continuous-delivery/farley-david-humble-jez
=========================
Примеры кода из задания:
00:24:27.766,00:24:30.766
Eugene Suleimanov: Map map = new HashMap();
00:24:42.700,00:24:45.700
Eugene Suleimanov: map.put(map, "TEST");
00:24:51.881,00:24:54.881
Eugene Suleimanov: map.put(map, "WTF!!!");
00:25:49.606,00:25:52.606
Eugene Suleimanov: String result= map.get(map);
00:27:05.318,00:27:08.318
Eugene Suleimanov: List list = new ArrayList();
00:27:08.490,00:27:11.490
Eugene Suleimanov: list.add(1)
00:27:12.139,00:27:15.139
Eugene Suleimanov: list.add(1.0)
00:27:16.601,00:27:19.601
Eugene Suleimanov: list.add(1L)
00:27:20.704,00:27:23.704
Eugene Suleimanov: sout(list)
00:27:56.965,00:27:59.965
Eugene Suleimanov: Arrays.toString(list)
00:28:31.631,00:28:34.631
Eugene Suleimanov: list.get(2) instanceof Long
Не работает же код, так как мы в мапу, которая в качестве ключа ожидает мапу стрингов, пытаемся положить мапу из мапы на стринг.
7:20 Statement в jdbc
9:23 ACID
11:30 уровни изоляции транзакций(их 4)
14:44 способы обезопасить процесс изменения строк таблицы в бд(с помощью хешСуммы, например)
19:03 иерархия исключениий
20:41 try with recourses
23:10 обрабатывать на месте vs прокинуть исключение дальше
24:30 пример с Map из описания видео
27:05 пример с List
32:14 Object.finalize()
33:06 Spring bean scopes(их 6)
34:50 mock'и для тестов
35:51 партиционирование таблиц (вертикальное vs горизонтальное)
36:22 full scan vs index scan
36:32 индексы, составные индексы, минусы и плюсы их использования
38:48 возможна ли реализация https комуникации меджу сервисами развернутыми локально?
Евгений,ты очень хорошо проводишь собеседование. Было бы хорошо,чтобы на некоторые твои вопросы ты сам записывал ответы записывал,с примерами. Т к обьясняешь ты тоже очень толково. Спасибо за труд.
Большое Вам спасибо!
Вы прекрасный интервьюер.
Успехов и развития!
Отличное видео, собеседник хорошо подготовлен! Побольше бы таких.
Спасибо Вам за труд!
Спасибо за отзыв!
Спасибо за такой формат )) очень интересно, собираюсь стать программистом. Отличная возможность оценить свои знания в сравнении.
Одумайся пока не поздно
Отличный формат. Ждем новых интервью
Спасибо!
Супер! Давайте еще!
Очень круто. Если бы были бы ещё вопросы, вообще огонь, а то с телефона неудобно смотреть и вбивать в Заметки)
Полезные видио =) Много чего полезного. Спасибо за такие позновательные видео.
Спасибо за отзыв, рад, что материал оказался полезен:)
Чётко , снимай больше видосов.
Спасибо! )
Про автоклозабл как препод на зачёт вытягивал))
:)
Вот бы так же, только про андроид :)
Посмотрел с удовольствием, спасибо.
Спасибо за отзыв!
Просто для продвижения. Нравится канал)
Спасибо :)
Годнота
Евгений, спасибо за Ваш труд. Можно ли добавить в формат собеседований разбор примеров кода и задачки на алгоритмы. Интересно как кандидаты будут справляться с ними, ведь на реальном собеседовании они будут.
Спасибо за отзыв! Есть такая мысль, сейчас как раз думаю, как это можно добавить в данный формат.
На всякий случай (не знаю писали или нет) по поводу примера с Map - в данном виде он не скомпилится из за несоотвествия генериков при map.put(map, "TEST");
Можно заменить генерик на Map
Евгений, спасибо, что вы делаете! Очень полезно! К сожалению, не нашел информацию про Вас, расскажите про свои проекты, скилы и чем вы гордитесь в своей работе
Может это будет даже видео
Спасибо за отзыв! Подумаю, в каком формате это лучше всего сделать.
+100. Было бы интересно послушать
Я даже не программист, но такая гордость берет, когда интервьюеремый не знает ответа, а я знаю)))
Здравствуйте, Евгений. Нашел ваше видео только сейчас. Есть вопрос: почему в примере с листом из Number list.get(2) instanceof Long выведет false? По типам все совпадает, более того сама Java выдает true.
Евгений, хотелось бы узнать, как люди попадают на ваши собеседования и какой ваш интерес?
Недавно наткнулся на ваши видео, канал шикарен!
Спасибо за отзыв! Пишут на почту - proselytear@yahoo.com
А по поводу интереса - вопрос философский - если бы я сам знал ... :)
выводить бы на экран письменные вопросы
Я добавлю их отдельным комментарием и закреплю его. Спасибо за замечание.
Евгений, я не совсем разобрался с вопросом про защиту поля в базе данных, но по поводу системы контроля версий бд, flyway, например, то с их помощью накатывается структура базы и чексума считается для миграции. А данные независимо от flyway уже селятся и апдейтятся?
Про защиту поля - уже написал в каком-то из предыдущих комментариев - про DENY... А flyware - общались только про специфику работы самой системы миграции.
Евгений, какой это уровень? Досмотрел до конца 39:30, услышал.
Eugene Suleimanov Кстати на ютубе набирает популярность канал одного программиста с интервью на Java разработчика, только он ещё и на вопросы в следующем видео сам отвечает. возможно будет полезно для развития вашего канала. Кто за рубрику Ответы- на вопросы собеседований - ставь палец!)
ИМХО - мидл
@@EugeneSuleimanov Евгений а что значит ИМХО?)))
По моему скромному мнению )
Это, чтобы потом не могли прикопаться. Мол, я же только мнение высказал - отличная штука :)
разница между джуном и мидлом только опыт, все. на собесах иногда даже джун лучше отвечает, а вот в работе совсем по другому. Только опытный собеседующий может нащупать эту разницу.
Ро́берт Джеймс Фишер по его мнению
cool
Спсибо за видео было интересно - вы вроде сказали что рекомендуемую литературу выложите?
Спасибо за отзыв! Все материалы в закрепленном комментарии.
Открываться.... ))) не плохо )
кстати, по поводу вопроса с мапой компилятор все-таки будет ругаться
чекните сами
падає з StackOverflow. Причина в рекурсії при прорахунку get
а что значит таблицы создаются на базе клиента? База клиента находиться на сервере? Или как это вообще работает?
для сложных запросов майбатис хорошо подходит
Да, но, если уже встряли с Spring Data, то есть projection. Крайне выручает местами.
Ну да, а примеры по которым спрашиваешь было сложно добавить в описание
Я верно понимаю, что это попытка конструктивной критики обёрнутая пародией на сарказм?
По поводу map так и не разобрали до конца, что там в результате будет. Я джаву не знаю, но просто попробую догадаться. Похоже, что Map здесь старый добрый словарь, реализованный как хэш-таблица. Полагаю, что в качестве ключа тут будет адрес объекта map в памяти, а это просто число и оно не меняется. Поэтому не изменяемость ключа сохранится. Ну и когда мы добавляем по одному и тому же ключу эти строки, то вторая затрет первую. Поэтому результатом будет WTF!!! Евгений скажите так это или нет?
Compilation error. Здесь пытаются положить ключ типа Map в мапу ожидающую в качестве ключа Map.
Мне одному показалось что вопросы на мидла были в разы проще чем на джуна?
Вопрос не так важен, как ответ на него :)
А можете сделать тестовое собеседование для Android разработчика?
К сожалению, нет. Не компетентен в данной области.
Выводи, пожалуйста, примеры, которые пишешь в скайпе в видео) Хотя бы поверх скрином)
Добавил лог чата в закрепленном комментарии. Спасибо :)
таймкоды были бы кстати
А какой был пример с Map?
@First Sin да, верно. Именно такой. Прошу прощения, что упустил этот момент при публикации видео.
А какой пример был с row листом?
Добавил лог чата в закреплённый комментарий.
А меня можно по собеседовать, хотя бы на juniora? Чисто не для места, чисто для ролика?
Напишите мне на почту: proselytear@yahoo.com
Обсудим детали.
Где книги рекомендуемые найти?
Добавил рекомендуемую литературу в закреплённый комментарий.
@@EugeneSuleimanov спасибо
System.out.println(map.get(map)); У меня StackOverflowError))
То есть что он пишет в коде нам не видно? Эх, а я думал чему-то научусь
Так как можно защитится от изменения суммы в БД?
На самом деле - мой ответ в собеседовании далёк от реальности. И целью было, увидеть, как человек думает при решении не стандартных задач. Ну а целом, когда я работал над подобным функционалом - DENY UPDATE... И при вставке в БД транзакции запускается хранимая процедура, которая апдейтит баланс аккаунта. А вот там при валидации использовались и контрольные суммы и проверки и т.д.
я так понял используя checksum, но надо, чтобы и хакер не знал, как она рассчитывается
Возможно должна быть двойная запись : чтобы деньги поступили нужно их списать
@@EugeneSuleimanov Правильно ли я вас понял, что защита происходит средставми самой БД?
@@EugeneSuleimanov а можно ли хранить в бд данные о балансе аккаунта? Не лучше ли будет считать баланс по транзакциям?
три года стажа?! мля.. видели б вы как в лабу епама трясли. без стажа. чтобы студентом стать. Вопросы грамотные и не сильно сложные. самое распространенное. Евгению лойс.
Работаешь уже или ещё на лабе?
@@meison7969 работаешь
@@user-jo3ri5mt9y красавчик а сколько заняло времени в епам от лаб до оффера ?
@@meison7969 я ушел из епама сразу после окончания Лабы. 4 месяца. Лаба вам не панацея. Там никто никого не учит от слова совсем. Только сам. Самообучение. Если сам не можешь, то это не твое. И так везде и всегда.
@@user-jo3ri5mt9y Не Беларусь случайно?
Вы работаете на балконе? :)
Да, верно :)
map.put(map, "TEST"); map.put(map, "WTF!!!"); Error java: incompatible types: java.util.Map cannot be converted to java.util.Map
Вы неправильно создавали мапу изначально скорее всего
Удивляет, что после трех лет опыта Вадим себе к возможным джунам относит... По мне через год опыта, если нормально стараться и развиваться, ты не можешь быть джуном, должен быть уже мидлом без всяких вопросов. Но если конечно тяжело идет, то джуном можно и 10 лет просидеть
удивляет что за три года он так и не узнал как работают индексы)
@@smyvin если ты с ними никогда не сталкивался - нахер они тебе тогда нужны?
Джун он 100% .
32:20 детский сад
Кажется, что спрашивать о возрасте на интервью считается дурным тоном. На западе точно. Кстати, почему задач нет?
На Западе это не только дурной тон, но и на иск можно нарваться. А в данных видео, исключительно, чтобы люди понимали общую картину. Возможно, это и не красиво, постараюсь убрать этот вопрос в будущем. Спасибо, что обратили внимание на этот момент.
ДРЮ КИКНУЛ МЕНЯ!!!
Великий Дрю всегда справедлив
Я немного не в теме, а что это такое?
@@EugeneSuleimanov на самом деле не ясно, зачем было писать такой комментарий у вас на канале. Дрю, он же Андрей - это автор канала czcams.com/channels/1g3kT0ZcSXt4_ZyJOshKJQ.html
В чате подписчиков Андрея в Telegram в последнее время люди постят ваши ролики с собеседованиями. Именно так, например, я начал вас смотреть.
Eugene Suleimanov это группа letscode) в телеграме, меня просто так кикнул человек по имени ДРЮ!
Для статистики, vk.com/video-111905078_456245689
Интервью у шрауда, это прикольно)
Что такое шрауд? )
@@EugeneSuleimanov Это популярный стример shroud, ты немного похож на него, по первым впечатлениям)
Если 3 года назад это были требования на мидла, то это просто ни о чем сегодня. Даже не трейни наверное.
Да, требования растут. Наверное, это даже правильно.
@@EugeneSuleimanov уж не потому ли, что подобные "мидлы" боятся, что их выкинут ?))
@@user-qx3jt8fw1v чел. фактор, конечном влияет, но это больше относится к позициям менеджерским :)
Не стоит забывать про активное развитие технологий, программирование сейчас и 10 лет назад - совершенно разные вещи.
ЧСВщный интервьюер + тупо ботанство
Досвидонья)