02:21 Java хэш-мап: устройство и использование 06:23 Понимание операций со связанными списками имеет решающее значение для оптимизации производительности. 08:13 Оптимизация макета интервью в Java middle+ с использованием собственных вызовов функций 11:50 Начинать с микросервисов оправдано при определенных условиях 13:34 Рассмотрите возможность разбиения монолита на микросервисы для минимальных накладных расходов. 16:55 Высокий уровень абстракции приводит к сложности кода 18:23 Нетворкинг и обмен данными 21:36 Синхронное взаимодействие в Java 23:15 Понимание алгоритма и его практическая реализация на собеседованиях по Java 26:37 Производительность и интеграция 27:56 Обсуждение асинхронного кодирования на Java 32:29 Использование двоичного поиска для поиска среднего элемента массива 36:59 Понимание того, как перемещаться и корректировать границы во время двоичного поиска. 44:51 Попытка кодировать 47:08 Реализация рекурсивной функции 53:42 Обсуждение базового алгоритма двоичного поиска 55:42 Эффективность работы с базовыми коллекциями - ключевой навык
@ВасилийГоловко-д9и4 ай бұрын
27:00 так парень все про это как раз и рассказал. Главное ему быть более уверенным и не говорить, что мало практики. Так как он все грамотно отвечал. И видно, что не просто заучил, а есть понимание как это все работает. Мне понравилось. Интереснее смотреть именно собеседование middle и senior. Сам как раз сейчас собираюсь проходить собеседование, и надо именно подтянуть теорию. Подписка
@Shellantar4 ай бұрын
(right + left) / 2 -> можем получить переполнение по инту. Середина в бинарном поиске ищется через left + (right - left) / 2 В рекурсии также не учтен вариант когда мы должны получить -1 В целом собес понравился, подписка😄
@Fichesz6 ай бұрын
Требуем больше таких видео!
@aau85 ай бұрын
Меня одного смущает, что видео о Java, а на превью код на JavaScript?
@digital_train4 ай бұрын
@@aau8 пасхалка
@java-sibiryaqАй бұрын
Кандидат интересный, но многое ещё необходимо структурировать ему. А так да, ощущение что рабочий опыт имеется, а навык прохождения интервью только приобретается. Тяжеловато было слушать, как он писал и рассуждал над бинарным поиском. Возможно, несмотря на возраст, тоже волновался, но параллельно я сам написал алгоритм. Вопросы хорошие, над некоторыми вещами сам не задумывался: а почему делаем так, а не иначе? В целом спасибо за видео, было познавательно!)
@vitaliypolyakov880524 күн бұрын
Рекурсивный бинарный поиск так реализованный имеет сложность O(n). Т.е. почти так же, как в лоб на неотсортированном да еще и память берет. Обязательно bsearchRec(int a[], int val, int left, int right) { .. } и только тогда будет логарифмическая сложность. Но сейчас надо быстро писать, хот клавиши использовать, а эффективность на втором плане. Если n = 2млд. - макс. инт, то O(n) - это около 2 млд, а O(log n) - это 31 шаг, 31 и 2 млд. сравните! Сложность из-за копирования массивов внутри рассмотренной рекурсивной реализации! Я это сразу вижу. А вот пишу я медленно, медленнее в 2-3 раза чем в видео, хотя хорошо знаю и много раз писал этот алгоритм и его модификацию. Можно ведь спросить найти самый правый или самый левый элемент равный данному в отсортированном массиве, или найти место, куда вставить. Но тогда еще больше времени на программирование потребуется. А ценится не алгоритм, а что быстро пишешь! Неэффективно, но быстро. Да, сейчас ценится не эффективность, а быстрота написания кода и уверенность в себе. Хорошо бы знать, в каких задачах требуется хорошая эффективность, хорошее знание алгоритмов. Говорят, что в основном там, где речь идет о высоко нагруженных системах. Так ли это?
@digital_train23 күн бұрын
Специфика интервью к сожалению в том что у кандидата и собеседующего ограниченное время, поэтому если проверяют формально то человек который пишет медленно не пройдет( Но к счастью много и таких фирм где ребята подходят к отбору ответственно и смотрят больше на понимание чем на быстрый результат. Эффективность алгоритмов и мат аппарат часто требуется где есть высокие нагрузки (реальные). Как пример таких направлений - HFT, Crypto, Gambling, Dating, близкие к железу (computer vision, hard realtime)
@konstantinvolkov26293 ай бұрын
Хорошее интервью, молодцы
@Sergey094013 ай бұрын
Я правильно понимаю что на мидл такие вопросы не задают ?
@digital_train3 ай бұрын
Не все, но задают)
@Sergey094013 ай бұрын
@@digital_train хочу добавить, что видео очень интересное получилось
@ILyaCycloneАй бұрын
Спасибо за видео. Потратили половину времени интервью на написание бинарного поиска. Зачем это здесь, какую информацию об опыте соискателя может вынести из этого работодатель? Что человек на позицию mid может писать код на уровне студента первого курса? Не лучшее использование времени, imho.
@digital_trainАй бұрын
Это задача для разминки, делается за условные 5-10 минут, что бы "размять пальцы". Иногда даже она не получается, так что нет большого смысла в таком случае давать более сложные алгоритмы
@Smolandgor12 күн бұрын
@@digital_train та говно это бесполезное, любая современная ллмка тебе его за 5 секунд напишет тот алгоритм, и скажет еще какой лучше имплементироватьв данной конкретной ситуации, имплементация классических алгоритмов уже бесполезна в качестве важного скилла. Лучше просто задачу на подумать без привязки к алгоритмам, что то что не решается как по учебнику, но не слишком сложное.
@vollkovfamilly4 ай бұрын
public static int name(int[] array, int target) { // return IntStream.range(0, array.length) // .filter(i -> array[i] == target) // .findFirst() // .orElse(-1); // } //}
@hostvi2 ай бұрын
Сто это за новый синтаксис -> ?
@Smolandgor12 күн бұрын
@@hostvi человек из 2012, эта лямбда из джава 8. Появилась 10 лет назад...новый синтаксис блин)))
@digital_train10 ай бұрын
Больше полезных материалов и видео на моем канале, telegram: t.me/digital_train
@AllInTrailers8 ай бұрын
ммм алгоритм бинарного поиска на несколько минут дольше писал и хоткеи не использует. боже дай сил окружающим интервьюера)))
@MrRomanvideo5 ай бұрын
Та он вообще душный, по теории мужчина ответил на все!!!, что потом ведущий перечислил, что это не сказал. Конкретно тел про взаимодействие между мткросервисами.
@instl11175 ай бұрын
На заметку мужичку, если тебя интервьюер перебивает, значит он услышал твой ответ и хочет уточнить еще что-то, не стоит повышать голос с целью «не перебивайте меня, я договорить хочу»
@ВасилийГоловко-д9и4 ай бұрын
согласен
@Ополз5 ай бұрын
Про линкед лист вообще что-то странное. Линкедлист СЛИШКОМ специфичная структура данных, в первую очередь линкедлист слаб тем, что данные по памяти разбросаны, соответственно даже банальная итерация в нем происходит дольше
@digital_train4 ай бұрын
@@Ополз ArrayList наше все
@SarkhanTakhirov4 ай бұрын
щас бы в 2024 году на собеседовании просить бинарный поиск рекурсивно написать...
@digital_train4 ай бұрын
@@SarkhanTakhirov а какие задачи стоит давать для разогрева?
@narezzko3 ай бұрын
@@digital_train кодревью, лайвкод зашквар
@vollkovfamilly4 ай бұрын
public static int name(int[] array, int target) { boolean res = false; int index = 0; for (int i = 0; i < array.length; i++) { if (target == array[i]) { index = i; res = true; break; } } if (!res) { index = -1; } return index; } }
@digital_train4 ай бұрын
@@vollkovfamilly это полный перебор O(n) Бинарный поиск дает лучший результат на отсортированных данных O(log n)