Очень понравился формат - минимум на память, максимум на логику и рассуждения. Причём его поддерживают и интервьируемый (никаких "не помню", "забыл", а "думаю", не могу предположить"), и интервьюер, который не подсказки даёт в надежде что тот что-то вспомнит, а всегда побуждает рассуждать. Приятно послушать.
А еще интервьюер максимально крутой, приятный, скиловый. С таким одно удовольствие собесится. Желаю, что бы у всех компаний был такой технический спец.🙌
Согласен, был у меня такой интервьювер, с которым мне было напряжно. На интервью я буквально умирал, потому что очень сильно переживал + он никак не реагировал на мои ответы, хоть они были и неправильными. Никакой синергии я не почувствовал, атмосфера мне не понравилась и в итоге фейл :\
Спасибо, мы стараемся задавать максимально интересные и необходимые по ходу реальных собеседований)) Ваши комментарии и пожелания в этом очень помогают! Мой респект :)
Наткнулся на это интервью через 2 недели после начала обучения, остановился на 12 минутах так как ничего не понял) Спустя 2 месяца вернулся, теперь горд что могу ответить на 80% вопросов)))
@@neman135 JavaRush прошел весь, попал на стажировку там же, а так, самостоятельно обучаюсь. Хочу добавить что спустя еще 2 месяца, все вопросы и задания из интервью сложности не вызывают)))
Спасибо за проект, очень круто смотреть интервью и вспоминать свои пробелы и делать пометки что нужно изучить) Интересно где он учил Spring, кроме оф доки
Нас в вузе просто насиловали Java, я выдержал всего полтора курса этого ужаса и перевелся на смежную специальность, а теперь, точно побитый щенок, возвращаюсь к ней через JavaRush. Уж очень удобным оказался язык после C++ и Assembly. Радует, что неплохо знаю теорию, а такие видео, как это, помогают найти пробелы. Спасибо, шикарное интервью!
Спасибо за видео. Готовлюсь ближе к концу лета сменить профессию 1с разработчика на бэкендера джависта. Очень очкую насчёт технического интервью. Это видео помогло понять, что можеть быть не всё так страшно. Ибо на 90% того, что вы спрашивали, я знал ответ. В конце, правда бы, хотелось услышать от вас некоторое обобщение по прохождению собеседования с выведением общего бала или что-то вроде "прошёл ли испытуемый техническое собеседование или нет". Еще раз спасибо, а я для смелости просмотрю еще парочку ваших собесов.
Переживать это хорошо, но сильно заморачиваться не стоит. В конечном итоге, интервью это этап на пути к профессиональному опыту, а не что-то что должно нас калечить. Успехов тебе и спасибо что с нами))
Особо не парьтесь по этому поводу, это чистый рандом. На одном собеседовании дальше кора не уйдете, а на другом 2 часа будете обсуждать сети. Эти интервью более обширные и тут пытаются пройтись по всем темам по чуть чуть, а в реале, что юзается на проекте, то и будут спрашивать. К чему я все это, а к тому, что все знать не возможно, и если вы не можете ответить на все эти вопросы, это не значит что вы безнадежный)))
С таким подходом вы свою самооценку лишь ещё ниже загоните, и будете так учиться до бесконечности, считая себя недостойным, не чего не знающим, и до поиска работы дело так никогда и не дойдёт.
Не переживайте. Я лид в ростелекоме, пришел как мидл. Ну и я некоторые вопросы могу только поверхностно осветить. Не понимаю зачем столько лишней воды у людей спрашивать. Весь веб на 80% это "взял из бд сущность, через гибернейт получил объект, сделал пару элементарных операций с ним, отдал на контроллер". Всё.
Как человек, который немного знает сикуль, мне было нервно смотреть на парня, когда он писал запрос. Болел за него, разговаривал с монитором "да нет же, тут вот так надо..." и радовался когда он сам свои ошибки исправлял (пока ещё не досмотрел). В целом видео очень понравилось. Почувствовал себя уже готовым к собесу, хотя некоторые моменты надо бы повторить или изучить. Так что спасибо за годный контент! З.ы.: парень показал хороший результат, но рекомендую обратить внимание на попытки перебить интервьюера (не часто, но заметно, когда понял какой ответ и хочешь его сам быстро озвучить). Сам этим грешу (увы, никто не идеален) и знаю, что некоторые этого могут не замечать.
@@ccmadminstrator да ладно, на більшість питань відповів, на те що не знав, то досить швидко знаходив відповідь якщо підказати, для джуна - досить ок. Судячи з тих кадрів які проходять співбесіду на рівень middle, senior - Сергій вполне може через паро років стати хорошим спеціалістом, якщо продовжить навчатись далі
Тем временем письмо работодателя по итогу этого интервью: "мы не можем сделать вам предложение, так как другие кандидатуры оказались более подходящими". Добро пожаловать в реальный мир.
Привет, Дима :) Желаем тебе удачи на собеседовании. Отпишись по результатам. Хотим вместе с тобой порадоваться, как получишь первую работу. Crossed fingers))
@@Jetbulb дякую за підтримку! Нажаль не пройшов. Відповіли, що я добре себе показав на інтерв'ю - мусив хтось бути кращий) шукаю далі, куди б мене прийняли) Інформація з відео допомогла в двох питаннях дати хорошу відповідь - раніше я слабо знав ці питання, бо не задумувався над ними(: але не повторив stream, й тут стався прокол))
Интересно про БД. Функция, использующая толпу строк (count, max, min и т.д.) и при этом не одна вызывается, а рядом с еще одним полем? И это работает, не кидает ошибку? Я думал, там будут использовать статистические (оконные) функции, разбивать результат выборки на группы по ид/имени и внутри групп считать количество записей. А оказалось как-то совсем просто) upd.: там группировка, поэтому нет ошибки upd2.: план запроса получается преогромный, т.к. смотрим количество записей в группах для всей таблички. Надо как-то ограничиться. Например, указав перечень интересующих типов и тогда будет сначала сделана выборка по нужным нам типам и уже внутри этой выборки разделим записи на группы и там посчитаем количество. типа такого select distinct it.name, count(*) over (partition by it.id) as "interview type count" from INTERVIEWERS_INTERVIEW_TYPE i2it, INTERVIEW_TYPES it where i2it.interview_id = it.id --and it.id in (select /*+cardinality (t what_we_are_expecting) */ t.column_value from table(cast(? as arrayofnumbers)) t)
Немного не понял по поводу инкапсуляции. Если изменить имя переменной при наличии сеттера, то и название сеттера тоже изменится. Имя сеттера состоит из set+имя переменной. Получается ,что изменений у пользователей класса и так и так не избежать. Мне кажется ,что основная идея инкапсуляции лежит всё же не в этом. А в том ,что логика инкапсулированная в классе отделяется от внешнего представления самим разработчиком. И благодаря этому, все изменения своего состояния может произвести только сам объект через те же сеттеры или методы, на определённых им самим условиях. О чем в принципе и говорил Сергей. А вы ,как думаете? Прокоментируйте, если у кого-нибудь есть мысли по этому поводу. А за материал в целом спасибо. Годно. Готовлюсь к собеседованию. Пользуюсь. Продолжайте!!!
Было _fullName, setFullName. Теперь стало _firstName, _lastName. setFullName так и остался, просто у него поменялась реализация. Основная идея инкапсуляции в разделении интерфейса и реализации. Все остальное из этого вытекает
Почему у HashSet константная сложность? Почему в сложности не учитывается linkedlist, который находится в реализации хешсета? Разве не так? Сложность при удалении добавлении в начале или конце- O(1), сложность при поиске, добавлении, удалении - O(n)?
HashSet это копия HashMap и соответственно скорость выполнения операции одинаковые. Стоит учитывать понятие: лучшая, средняя и худшая скорость. O(1) - лучшая О(log n) - средняя О(n) - худшая
Макс, ты реально крут.. иногда смотрю твои видео, очень познавательно. Но есть вопросы)) 1. разве сейчас jre не включён в jdk и его можем отдельно установить? 2. java, javac, javadoc, jar и т.д. разве не в jdk? Это я к тому что может нам нужно все же jdk установить для запуска программы?
Только правильно "* гетерогенные", я там немного оговорился и ты за мной)) Это такие коллекции, которые могут содержать различные типы данных в качестве хранимых значений. Иначе говоря: от общего типа к конкретными. Пример: List может одновременно хранить типы String и StringBuilder, StringBuffer и ошибки при этом не будет. datacadamia.com/code/design_pattern/typesafe_heterogeneous_container#design_pattern_-_typesafe_heterogeneous_container_java
Сергей ответил правильно. Вопрос: "Какое значение ссылочного типа можно создавать без оператора new?" Ответ: "Строка и Фабричные методы классов-оберток"
Нет, погодите. Вот момент про хранение чувствительных данных в массиве чаров, давайте на нём остановимся. Я опущу то, что это кажется слишком специфичной темой чтобы спрашивать о таком джуна. И в тысячу раз страннее что джун дал тот ответ, что ожидал интервьюер. Может это какой-то классический вопрос по жаве, который во всех джуновских книжках есть, а я пропустил? Но я о другом. Поясните, если это вопрос о каком-то реальном сценарии, то в каком виде к нам попадает пароль, что мы можем его перегнать в массив чаров так, чтобы исходных данных не осталось?
@@СергейО-ж7э Попробуй полный сценарий описать, пошагово, от и до, причём такой, который встречается на реальных проектах. Про инпутСтрим: а откуда данные попали в него и как мы гарантируем, что чары не остались в нём?
С веб морды пришли в сокет инпут стрим, например. Там уж не знаю как гарантировать.. но из того что можно сделать, мы хоть что то сделаем. Надеюсь тебе помог ))
@@СергейО-ж7э 1. Бэкенд-программист на жаве читает сообщения с морды через сокет из инпутСтрима, так? Хттп? И пароль приходит просто как байты, а не как поле в жсоне? 2. Кажется переписывать чар массив стоит если уверен в том, что делаешь. И если уверен, что он до этого нигде не сохранился.
Привет :) Все проще, чем думается и кажется. Поясню... Нет тут никакой специальной темы и вопрос сугубо на смекалку использования инструмента как массива в конкретном случае. Немного технического инсайта: Неважно, в каком виде хранится в памяти пароль, пусть даже зашифрованный - это все равно представляет опасность. Такие данные всегда являются одними из потенциальных целей злоумышленника и хранить их долго, не самая лучшая мысль. Теперь про Java: В этом интересном языке, строка является имутабльной (иначе неизменной), что помещает ее в String Pool на длительное время и делает доступной в ходе выполнения программы, но и через Memory Dump. Чтобы этого избежать, данные принимаются в виде массива байтиков. Далее, если все-таки надо значение читабельное, конвертируем в массив символов. После работы с первым и вторым массивами, их значения можно заменить дефолтными [0, 0, 0, 0 ...] или чем-либо "несуразным". Итого: В памяти есть пароль - факт! Но мы можем на него повлиять и сделать умышленную подмену данных, исключая его оригинальное длительное хранение в памяти. Со строкой такое было бы невозможно.
ребята кто понял ? Инкапсулятция -> Говорили если будет атака на поля класса (удалить его кто то) это не касается на геттер и сеттер, а раз на поля смог атаковать не мог на сеттер и геттеры ????
Здравствуйте. Вопрос человеку который проводил интервью , скажите пожалуйста на свой опыт посоветуйте реальные, качественные, отличные курсы по java разработке ( не андроид направление ) для начинающих???? Что скажете о курсах javarush???
Привет, Арслан! Курсы javarush никогда не проходил, просто не довелось. Уже работал, уже знал. Пустая трата времени для меня была. С другой стороны, часто посещаю их сайт, слежу за их обучалками. Могу сказать, что неплохой сервис для быстрого ознакомления в режиме "Хочу почувствовать себя программистом". Быть "Инженером Разработки Программного обеспечения" они не научат. Никакие курсы рекомендовать не могу, по одной причине и опишу эту боль ниже. И тут не буду говорить, что курсы плохо)) Напротив, если есть возможность получить знания - это еще один источник. Курсы, курсы, курсы... Лично занимался на разных курсах, многие курсы преподаю и все зависит не от курсов, а от преподавателя. Одно и тоже, дается в разной форме... Одно и тоже, трактуется в разной форме... Одно и тоже, "знается" в разной степени качества... Пока что все курсы преуспели в отличной рекламе своего бренда и продажи идей из серии "Стань программистом за 60 дней", "Начни зарабатывать в валюте уже завтра", сейчас стало модно "Работай со своего острова удаленно" и так далее... Рассказываю о том, что многие курсы фокусируются на собственном бренде не принимая во внимание, что их бренд не стены, компьютеры и кофемашины... но преподаватели, которые нередко сами "колхозники". Хуже судьбы для курсов, чем отзыв после плохого преподавателя представить нельзя. Деньги уплачены, ощущений удовольствия и драйва зеро, желания развиваться и покупать новые продукты компании желания нет. Потому, сколько курсов не рекомендуй, то нет никакой гарантии что вы попадаете к действительно хорошему преподавателю, который знает сам на достойном уровне, так еще и имеет целью с вами поделиться знаниями, а не просто поговорить за 15 баксов в час))) Мой совет, надо искать курсы с более-менее маленькими группами (3-5 чел., в худшем случае до 10 чел.) и\или индивидуалки и заниматься. Тогда у преподавателя есть шанс на исправление своих ошибок, подстраивание под ритм группы (адаптация), поскольку он не разрывается между кучей людей и делает максимальный фокус на вас и ваших "тонкостях". В это дает неплохой результат для вас и для него. Ну как-то так :)
You really cannot do much to reduce the life of the password in a Servlet container because the HttpServletRequest returns the HTTP parameters as a String. So Spring Security could take all the measures in the world to reduce the lifetime of the password but it wouldn't make a difference because the String would already exist. -Rob Winch (Spring Security)
После такого интервью нужно не улучшаться а идти собесится на работу. на треть вопросов я не ответил. Пишу на java 2.5 лет. Сейчас к новым собесам готовлюсь, вспоминаю
Ребят, сейчас чат GPT может много написать, в принципе это просто раскрученная маркетингом нейросеть, если просить написать что посложнее, то тогда надо отлаживать в вручную. Писал серв но с помощью чат GPT, язык Java, jet breans, pycharm.
Пример с инкапсуляцией на мой взгляд некорректный. В той поставке задачи, которая была в интервью (с двумя полями, в которые просто кладутся и достаются значения) нет никакой разницы между тем, чтобы делать публичные поля или приватные поля с сеттерами. Более того, делать приватные поля с простыми сеттерами это ненужный бойлерплейт и непроста котлин избавил нас от необходимости его писать. Далее вы говорите, что весь прикол инкапсуляции в сокрытии реализации. Так дайте пример, где есть публичный контракт и есть внутренняя реализация. Простой пример - modCount в ArrayList. В примере из интервью нет никакой внутренней реализации, поэтому решения абсолютно разнозначны, а в реальности вообще будут публичные поля.
Подмигните кто-нибудь, если это не настоящий джун, а всё срежиссировано. Всё настолько складно и чётко, и вопросы и ответы и рассуждения. Никогда такого не видел.
Спасибо за видео, очень подсел на ваш канал, тем более в предверии интервью это "палочка выручалочка". Скажите пожалуйста, на сколько это интервью и вопросы, похоже на реальное интервью для джуна?
Спасибо за фидбек) Подобные интервью максимально похожи на то, что происходить на реальных собеседованиях. Конечно, в разных компаниях и в разных командах могу различаться подходы, акценты и так далее. Но в остальном, процесс един: технические вопросы, небольшие (5-15 мин на решение) задачи, дизайн и архитектура
Прикольный вопрос про sensitive данные в Java. На 1:10 не совсем понял почему засчитали правильным ответ, что нельзя создать два бина одного типа в одном контексте спринга? Решили просто не углубляться? Никаких проблем вроде с этим нету, просто бины по разному назвать надо. А чтобы они правильно заинжектались или контекст не валился, то либо один из них @Primary помечаем, либо там куда их инжектаем, указываем @Qualifier("beanName"). Кандидат молодцом!
Привет :) Речь шла про бин-сингтон в том виде, в котором он создан и в каком виде он сконфигурирован. Но, если говорить про разнообразную конфигурацию бинов на единого класса, тогда да, ты прав. Тут можно тему уже развивать)) Но технически, это два и более разных сконфигурированных бина.
Привет, Андрей! Мы ее даем, просто не публично. Как правило, после интервью еще минут 20-30 общаемся, но уже индивидуально. Твоя мысль интересная, подумаем как можно это осветить. Спасибо за совет.
Мне всегда было интересно: " зачем делать такие длинные собеседования, задавать кучу вопросов обо всем не о чем?! ". Ведь на все это и времени уходит уйма и стресса для потенциального кандидата куча. Неужели нельзя просто перейти к практике - дать тестовые задания, сделать разбор каких-то конкретных кейсов, уложить все в мин 30?
Привет :) Еще Леонардо Да Винчи говорил: "Без теории нет практики". Вот так и в собеседовании, проверяется знание теории и затем переходит в практику. Ну а вообще ответ простой... Компании берут на работу человека и они хотят чтобы он соответствовал их ожиданиям максимально. Просто 30 мин пообщаться и решить задачку никакой картины о человека не дает, тем более не дает пониманиям как человек будет адаптироваться в среде и развиваться. Это бизнес, ничего больше. Для человека который собеседуется, точно такой же процесс. Он не только проверяет знания технические и прочее, но и общается, чтобы понять насколько компания отвечает его требованиям, насколько комфортно ему будет работать с такими людьми. Собеседование - это не решение задачки, но комплексный процесс проливающий свет на вопрос "насколько человек и компания будут совместимый и взаимополезны".
@@Jetbulb Не согласен. Лично присутствовал на собеседованиях, где брали на работу "коммуникабельных" и "улыбчивых", которые решали задачки, предложенные им, но спустя неделю увольняли, потому что кроме этого они ничего не знали, а задачи сложнее просто запарывали. В то же время я, например, интроверт и на собеседованиях мне часто отказывали. Не умею я лыбиться и трындеть языком про то, как корабли бороздят просторы больших театров, а ИТ-отрасль в России поднимается с колен. К тому же у меня все из головы вылетает, когда меня экзаменуют или спрашивают глядя в глаза. Зато в работе ко мне нет претензий, до зам начальника отдела дорос даже без умения трепать языком)
@@dmitry-sovetov привет :) Полностью согласен и полностью не согласен и в тоже время, много такого видел, что ты описал. Но все-таки, тут речь о том надо ли на интервью проверять не только на технику, но и прочее скилы. Собеседование не поможет это выявить на 100%, люди приспосабливаются и сегодня не секрет как пройти интервью менеджера, HR, техническое. Тут задача проще, в целом определить можно ли с человеком что-то "лепить" в команде, а то что он по факту может быть "фейк" это и предстоит выяснить на 3-х месячной испыталки. Из моего опыта, иногда испыталки доходят до 6 месяцев, но это уже жесть. Как по мне, надо все узнавать, поскольку потому может быть поздно. Видел команды и работал в командах, где технарь отличный, а человек просто "ад" и наоборот.
@@maksymdobrynin нужно поднять испытательный срок до года минимум, платить чтобы хватало только на еду, и постоянно требовать большего от кандидата. только в этом случае человек на работе будет "шелковый" и готовый к командному труду.
ппц!! разница знаний джуна и синьора приводится только к опыту использования библиотек не из java core , опыту использования сторонних фреймворков и наличии знаний в каких либо архитектурных решений для сложных систем.
Всем привет🖐 Люди, как Вы сами учите язык??? Я 1.5 месяца часов по 6 в день трачу на самообучение.... 90 % времени трачу в пустую.. куча элементарных ошибок.. ютуб особо не помогает. Может кто подскажет хорошую литературу? Спасибо!!!
Не знаю, актуально ли, но все равно отвечу Работаю два года разработчиком, сначала был стажером, сейчас джун, закончил бакалавр по технической специальности. Формат видео интересный, мне в целом вопросы показались знакомыми, ставил каждый раз на паузу и давал +- правильный ответ. Итого 4 года обучения в вузе и два года опыта работа позволяют уверенно пройти собеседование на джуна) Не сдавайтесь, если у вас есть время/силы/возможности идите на бесплатное обучение с последующим выходом на работу (но не стоит больше двух месяцев и внимательно смотрите договор). Говоря про обучение, либо Stepik, либо Coursera. Второе, как мне кажется, предпочтительнее, подтяните английский, плюс возможность слушать курсы от ведущих университетов мира много стоит. Там есть как платные, так и бесплатные курсы, всегда можно что-то найти. Если говорить именно про java, от MIT есть бесплатный курс, который они читают своим студентам, но его сложновато найти, он лежит на их сайте.
Коллекции я ещё не проходил, а до них ответил лучше интервьюируемого,аж приятно стало. Интересно, на реальных собесах тоже про циклы, массивы и всё подобное не спрашивают?
Циклы никому на интервью не нужны, подразумевается что ты ими обладаешь по-умолчанию. Разве что, могут погонять по Stream API и способам обхода\взаимодействия с коллекциями. Массивы вещь важная, на джуна очень даже могут спросить.
Годнота! Я хреново знаю как работают коллекции, почти не понял про что immutable, пока не могу четко ответить что называется дженериком. С Енам в целом ответил, но еще на паре доп вопросов уже завалился бы. Практический Спринг завалил целиком. Иннер джоин ответил, левый-правый не вспомнил. Скул в целом ответил половину. Пошел учить.
С TreeSet что-то перемудрили. Туда точно так же можно навалить любых объектов. Просто если TreeSet создан без компаратора, то все объекты должны быть Comparable, а если создан с компаратором - то компаратор должен работать для любой пары объектов. Например он может просто хэшкоды сравнивать и всё, можно хранить абсолютно любые объекты, никаких проблем.
Прошел javarush до 26 уровня. Понял все ровно до спринга. По внутренностям коллекций тоже вопросы были. На раше нету хибера, спринга, да даже jbdc там нет :( Вопрос, коллеги, где вы учили основы jdbc? Какие бесплатные источники проверены временем так сказать ))) Ну кроме документации
Даже не знаю, что и сказать. Я встречал таких же ребят, которые ставят целью не только сделать интервью, но и донести мысль до интервьюируемого человека. Так сказать чтобы он вынес пользу из этого в том числе. В одном уверен, интервью не должно быть кошмаром. Это просто процесс двухстороннего оценивания и попытка понять насколько есть совместимость, а не отбор в "ШпиЙОнский Атдел Асобого Назначения" :)
Привет :) "знаю тимлидов и сениоров которые в этой теме не бум-бум" - это из разряда I am Real Senior Developer, Trust me man. Вопросов много, факт... но это реалия джава. Как когда-то сказал мой старший коллега: "В Java все ок, вот только знать надо очень много и реализаций одного и того же еще больше." Живет, страдаем, эволюционируем)
Я готов пройти собес у тебя. Мне аж интересно, как ты будешь отвечать на мои вопросы, а зачем это ? И какое business value у этого вопроса с точки зрения эмпирического опыта применения данного знания на предприятии. Про hashtable в 2к23 году знать зачем? Ты ещё спроси про linked list. )))) Да я душнилово врубил))))😂. На самом деле огромный респект автору за его экспу и скилл я многому научился и ещё многому предстоит. 100500 лет пишу на джавке больше половины не понимаю .😢
Инкапсуляция позволяет легко производить изменения внутри класса(если нужно удалить или переименовать поле) . Иначе произошла бы каскадная реакция и пришлось бы изменять код, который завязался на внутренней реализации. Но ведь тоже самое можно сказать и про сеттеры. Скажем мы удалили в нашем классе поле name, то в нашем коде останутся вызовы метода setName, а этого поля уже и нету в самом классе
Привет, Андрей) "Но ведь тоже самое можно сказать и про сеттеры." конечно можно, но вот если открывать поля и позволить к ним привязаться, то мы уже не можем легко изменить их тип или скажем имя. В тоже время, сеттер это метод, где мы можем определить реализацию обратно совместимую с предыдущей версией поля. К примеру: Было поле String и был сеттер соответствующий. Потом мы заменили поле на другой тип и даже поменяли имя. При этом контракт (сигнатура) сеттера осталась неизменной, внутри мы сделали простое приведение данных к строке. Дополнительно, создаем новый сеттер который уже поддерживает новую версию внутренней структуры, маркируем старый как @Deprecated, делаем ссылку на использование нового. Итого: Сигнатура метода остается прежней, код нашего класса изменен как и планировалось, внутренняя структура закрыта, клиенту менять код не надо. Все довольны :) Ясное дело, это далеко не единственный пример.
Это на Джуниора? А не много требований для начинающего? И меня поразило, что сам язык глубоко прокачен у кандидата, а sql почти на нуле. И тут сразу вопрос, а реально ли первые задачи на работе будут на сверх сложные алгоритмы? Не окажется ли так что они будут как раз на sql и надо будет поправить какой нибудь запрос в Легаси коде. Потом исправить баг, потом ещё баг поправить... До проектирования логики классов Джуна наверное не допустят в первые полгода. В итоге есть ли смысл тогда в таких долгих интервью с проверкой знаний подкапотного поведения структур данных конкретно на позицию джуна? Допустим есть кандидат на Джуна и знает sql на уровне бога, а вот саму джаву чисто основы и несколько коллекций без особого погружения. Это годный кандидат или не годный будет?
Нет "золотого ответа". Все очень субъективно и всегда надо исходить из нужды, которую намереваешься закрывать. В одной компании ты синьор, в другой джун. Задача этого интервью раскрыть потенциал человека, показать ему что он знает, а что не знает, избавить от страхов.
Привет, Олег! Все очень зависит от того, кто собеседует и какую цель несет. К примеру, на Джуна не жалко тратить время поскольку он только учится и если он не знает, было бы круто ему подсказать направление верное. А вот с сеньором... хм.. я бы тут задумался))
Мои два последних сеньорских интервью с офферами разговор о высоких материях, там где начинают дрочить "назовите методы object" или напишите код на листочке завершаю сразу. Сеньор - это человек решающий проблемы без надсмотрщика за спиной, показывающий где постановщик задачи что-то не предусмотрел, человек которые предлагает несколько решений и обосновывает плюсы-минусы, не берет первое попавшееся. Сеньор - не ходячая энциклопедия, как думают некоторые. Я лишний раз лучше в документацию загляну, если не уверен в своей памяти. Вот это подход - взвешенные решения, за которые несется ответственности. А не гонка на скорость написания тонны кода.
Привет. Эта кодинг-сессия через была Code With Me. Там какая-то лажа и многие комбинации недоступны для того кто подключается. Что странно, поскольку полный доступ дали. Может это дефект интеграции, а может ручки из “Ж» растут у нас. В любом случае, дельное замечание. Уже не первый раз сталкиваемся с этой проблемой. Спасибо!
Интервью реально несёт пользу, оценил свой уровень знаний, понял на что делать упор. Спасибо Максу!
Спасибо за комментарий!)
Аза, че там, устроился куда-нибудь?
Узнал из этого собеседования больше, чем из всего курса на Скиллбоксе. Спасибо за интервью!
Суперфидбек))
Спасибо!
Желаю Сергею найти хорошее место, где ему дадут возможность расти профессионально. Главное, не перегреть
Очень понравился формат - минимум на память, максимум на логику и рассуждения. Причём его поддерживают и интервьируемый (никаких "не помню", "забыл", а "думаю", не могу предположить"), и интервьюер, который не подсказки даёт в надежде что тот что-то вспомнит, а всегда побуждает рассуждать.
Приятно послушать.
Мне кажется по результатам даже такого псевдоинтервью ему должны были прилететь реальные офферы. Прям уровень! Есть к чему стремится
Сергей большой молодец.
Уже получил работу.
Респект ему)
@@maksymdobrynin если у меня примерно такой уровень могу я тоже участвовать ви интервью?
@@aibardulatov конечно! пробуй, куда-нибудь обязательно возьмут
А еще интервьюер максимально крутой, приятный, скиловый. С таким одно удовольствие собесится. Желаю, что бы у всех компаний был такой технический спец.🙌
Согласен, был у меня такой интервьювер, с которым мне было напряжно. На интервью я буквально умирал, потому что очень сильно переживал + он никак не реагировал на мои ответы, хоть они были и неправильными. Никакой синергии я не почувствовал, атмосфера мне не понравилась и в итоге фейл :\
Парень - красавчик, держи краба!
Интервьюер - космос.
Спасибо парням за труд.
Спасибо за оценку!
Будем стараться удивлять и дальше.
Спасибо вам большое . Очень крутые интервью проводите с пояснениями , очень полезно
Спасибо за комментарий!)
Классно. Парень знает чего хочет. Много узнал для себя нового) Спасибо!
Приходи, я тебя жду )))))
Спасибо очень годно, вопросов по core прям было достаточно ))
Спасибо за коммент)
Рады, что понравилось)
Спасибо, мы стараемся задавать максимально интересные и необходимые по ходу реальных собеседований))
Ваши комментарии и пожелания в этом очень помогают!
Мой респект :)
толковый пацан
уже можно брать работать)
Наткнулся на это интервью через 2 недели после начала обучения, остановился на 12 минутах так как ничего не понял) Спустя 2 месяца вернулся, теперь горд что могу ответить на 80% вопросов)))
Где учишься? Коммент твой замотивировал))
@@neman135 JavaRush прошел весь, попал на стажировку там же, а так, самостоятельно обучаюсь. Хочу добавить что спустя еще 2 месяца, все вопросы и задания из интервью сложности не вызывают)))
@@xmahz спасибо, реально мотивирует.
А джавараш по платной подписке пошел?
Что кстати скажешь про hyperskill, который он в начале упоминал?
@@neman135 Да, пошел по платной не пожалел ни капли, только стажировка - херня. Про skills эти не слышал никогда
@@xmahz благодарю за совет.
Очень friendly интервью ) молодцы
Ни что так не согревает душу, как приятные отзывы))
Спасибо!
Спасибо за проект, очень круто смотреть интервью и вспоминать свои пробелы и делать пометки что нужно изучить) Интересно где он учил Spring, кроме оф доки
если актуальный вопрос, то вот ruclips.net/p/PLAma_mKffTOR5o0WNHnY0mTjKxnCgSXrZ
один из сеньеров по джаве посоветовал
@@ИльяКрасник-ю3у у него вышел полный курс недавно, а Трегулова не смотрел?
Спасибо за новый выпуск! Очень долго его ждал.)
Спасибо за комментарий!)
Как же сильно мне не хватало таких видео, когда начинал! Спасибо большое автору, успехов на канале и не только ;)
Спасибо за добрые слова!)
Нас в вузе просто насиловали Java, я выдержал всего полтора курса этого ужаса и перевелся на смежную специальность, а теперь, точно побитый щенок, возвращаюсь к ней через JavaRush. Уж очень удобным оказался язык после C++ и Assembly. Радует, что неплохо знаю теорию, а такие видео, как это, помогают найти пробелы. Спасибо, шикарное интервью!
Спасибо за видео. Готовлюсь ближе к концу лета сменить профессию 1с разработчика на бэкендера джависта. Очень очкую насчёт технического интервью. Это видео помогло понять, что можеть быть не всё так страшно. Ибо на 90% того, что вы спрашивали, я знал ответ. В конце, правда бы, хотелось услышать от вас некоторое обобщение по прохождению собеседования с выведением общего бала или что-то вроде "прошёл ли испытуемый техническое собеседование или нет". Еще раз спасибо, а я для смелости просмотрю еще парочку ваших собесов.
Переживать это хорошо, но сильно заморачиваться не стоит.
В конечном итоге, интервью это этап на пути к профессиональному опыту, а не что-то что должно нас калечить.
Успехов тебе и спасибо что с нами))
С каждым интервью понимаю, что до Джуна мне ещё ооочень долго))) помогает спуститься "с небес на землю":)
Такая же ситуация... Иногда даже руки опускаются(
Особо не парьтесь по этому поводу, это чистый рандом. На одном собеседовании дальше кора не уйдете, а на другом 2 часа будете обсуждать сети. Эти интервью более обширные и тут пытаются пройтись по всем темам по чуть чуть, а в реале, что юзается на проекте, то и будут спрашивать. К чему я все это, а к тому, что все знать не возможно, и если вы не можете ответить на все эти вопросы, это не значит что вы безнадежный)))
С таким подходом вы свою самооценку лишь ещё ниже загоните, и будете так учиться до бесконечности, считая себя недостойным, не чего не знающим, и до поиска работы дело так никогда и не дойдёт.
Процентов 50-70% из вопросов и не понадобятся при выполнении рабочих задач. Всего запомнить невозможно, то чем не пользуешься забываешь.
Не переживайте. Я лид в ростелекоме, пришел как мидл. Ну и я некоторые вопросы могу только поверхностно осветить. Не понимаю зачем столько лишней воды у людей спрашивать. Весь веб на 80% это "взял из бд сущность, через гибернейт получил объект, сделал пару элементарных операций с ним, отдал на контроллер". Всё.
Как человек, который немного знает сикуль, мне было нервно смотреть на парня, когда он писал запрос. Болел за него, разговаривал с монитором "да нет же, тут вот так надо..." и радовался когда он сам свои ошибки исправлял (пока ещё не досмотрел).
В целом видео очень понравилось. Почувствовал себя уже готовым к собесу, хотя некоторые моменты надо бы повторить или изучить.
Так что спасибо за годный контент!
З.ы.: парень показал хороший результат, но рекомендую обратить внимание на попытки перебить интервьюера (не часто, но заметно, когда понял какой ответ и хочешь его сам быстро озвучить). Сам этим грешу (увы, никто не идеален) и знаю, что некоторые этого могут не замечать.
Спасибо за такой крутой фидбек
👍
Классное интервью, спасибо за видео
Сергей через год работы наверное сеньором станет если не имея опыта работы настолько хорошо разбирается в Java Core)
в чем разбирается то, он же не может ответить ни на один вопрос. Сеньором некоторые не могут стать даже через 10 лет и никогда не станут.
@@ccmadminstrator да ладно, на більшість питань відповів, на те що не знав, то досить швидко знаходив відповідь якщо підказати, для джуна - досить ок. Судячи з тих кадрів які проходять співбесіду на рівень middle, senior - Сергій вполне може через паро років стати хорошим спеціалістом, якщо продовжить навчатись далі
@@ccmadminstrator уверенный уровень middle
@@ccmadminstrator йоу, не нагнетай, парень молодец, а ты админ.
Тем временем письмо работодателя по итогу этого интервью: "мы не можем сделать вам предложение, так как другие кандидатуры оказались более подходящими". Добро пожаловать в реальный мир.
Супер! Дякую за інформацію! За 2 дні маю розмову на першу посаду джуна)
Привет, Дима :)
Желаем тебе удачи на собеседовании.
Отпишись по результатам. Хотим вместе с тобой порадоваться, как получишь первую работу.
Crossed fingers))
@@Jetbulb дякую за підтримку!
Нажаль не пройшов. Відповіли, що я добре себе показав на інтерв'ю - мусив хтось бути кращий) шукаю далі, куди б мене прийняли)
Інформація з відео допомогла в двох питаннях дати хорошу відповідь - раніше я слабо знав ці питання, бо не задумувався над ними(: але не повторив stream, й тут стався прокол))
Отличное интервью! Узнал свои проблемные места…
Сейчас тоже стресс ловлю перед собеседование, так как буду проходить его на Англ языке в сша, на Qa
Удачи!
Не забудь поделиться своей историей с нами)
@@Jetbulb как получу первый offer
Отпишу сюда)
@@МиммМмс-щ5ш огонь)))
Удачи!
@@maksymdobrynin спасибо)
@Мимм Ммс Ну как успехи?
Интересно про БД. Функция, использующая толпу строк (count, max, min и т.д.) и при этом не одна вызывается, а рядом с еще одним полем? И это работает, не кидает ошибку? Я думал, там будут использовать статистические (оконные) функции, разбивать результат выборки на группы по ид/имени и внутри групп считать количество записей. А оказалось как-то совсем просто)
upd.: там группировка, поэтому нет ошибки
upd2.: план запроса получается преогромный, т.к. смотрим количество записей в группах для всей таблички. Надо как-то ограничиться. Например, указав перечень интересующих типов и тогда будет сначала сделана выборка по нужным нам типам и уже внутри этой выборки разделим записи на группы и там посчитаем количество.
типа такого
select distinct it.name, count(*) over (partition by it.id) as "interview type count"
from INTERVIEWERS_INTERVIEW_TYPE i2it, INTERVIEW_TYPES it
where i2it.interview_id = it.id
--and it.id in (select /*+cardinality (t what_we_are_expecting) */ t.column_value from table(cast(? as arrayofnumbers)) t)
Немного не понял по поводу инкапсуляции. Если изменить имя переменной при наличии сеттера, то и название сеттера тоже изменится. Имя сеттера состоит из set+имя переменной. Получается ,что изменений у пользователей класса и так и так не избежать. Мне кажется ,что основная идея инкапсуляции лежит всё же не в этом. А в том ,что логика инкапсулированная в классе отделяется от внешнего представления самим разработчиком. И благодаря этому, все изменения своего состояния может произвести только сам объект через те же сеттеры или методы, на определённых им самим условиях. О чем в принципе и говорил Сергей. А вы ,как думаете? Прокоментируйте, если у кого-нибудь есть мысли по этому поводу.
А за материал в целом спасибо. Годно. Готовлюсь к собеседованию. Пользуюсь. Продолжайте!!!
Было _fullName, setFullName. Теперь стало _firstName, _lastName.
setFullName так и остался, просто у него поменялась реализация.
Основная идея инкапсуляции в разделении интерфейса и реализации. Все остальное из этого вытекает
C инкапсуляцией был слабый пример, согласен.
Спасибо за видос👍
Теперь точно понимаю, что на джуна ещё годик нужно учиться, не меньше🤦🏻♂️
Почему у HashSet константная сложность? Почему в сложности не учитывается linkedlist, который находится в реализации хешсета?
Разве не так? Сложность при удалении добавлении в начале или конце- O(1), сложность при поиске, добавлении, удалении - O(n)?
HashSet это копия HashMap и соответственно скорость выполнения операции одинаковые.
Стоит учитывать понятие: лучшая, средняя и худшая скорость.
O(1) - лучшая
О(log n) - средняя
О(n) - худшая
Спасибо, передумал пытаться проходить вью на джуна
И как успехи? Поделишься опытом?
кто ж пароли в открытом виде хранит, они зашифрованы должны быть sha256 хотя бы
Спасибо! Очень полезно!
всегда считал что пересечения кружков это круги Эйлера а не диаграммы Венна) клевое интервью
Класно було б всі ці інтерв’ю в аудіо десь прослуховувати (в навушниках на роботі наприклад😂)Дякую
Спасибо! Реально крутой у тебя контент для начинающих!
Спасибо!
Все эти видео конечно хорошо. Но прогером на них не станешь.
Спасибо
Отличное видео! Спасибо!
Спасибо Вам!)
Что ща курс от джетбрейн на хайперскил про который говорил Сергей, я нашел какой то видео урок на английском, но не понимаю онл это или нет
Макс, ты реально крут.. иногда смотрю твои видео, очень познавательно. Но есть вопросы))
1. разве сейчас jre не включён в jdk и его можем отдельно
установить?
2. java, javac, javadoc, jar и т.д. разве не в jdk? Это я к тому что может нам нужно все же jdk установить для запуска программы?
Так и не понял, гетерогендерные типы это какие ? Которые можно в TreeSet или HashSet ?
Только правильно "* гетерогенные", я там немного оговорился и ты за мной))
Это такие коллекции, которые могут содержать различные типы данных в качестве хранимых значений.
Иначе говоря: от общего типа к конкретными.
Пример: List может одновременно хранить типы String и StringBuilder, StringBuffer и ошибки при этом не будет.
datacadamia.com/code/design_pattern/typesafe_heterogeneous_container#design_pattern_-_typesafe_heterogeneous_container_java
Очень полезное видео. Спасибо.
Блин, вот это джуны у вас на канале.... Слишком крутые, всю мотивацию убивают😅
Это еще два года назад)
11:35 Какой ответ:? Я так и не понял да или нет ответ был "строка"
Сергей ответил правильно.
Вопрос: "Какое значение ссылочного типа можно создавать без оператора new?"
Ответ: "Строка и Фабричные методы классов-оберток"
Нет, погодите. Вот момент про хранение чувствительных данных в массиве чаров, давайте на нём остановимся. Я опущу то, что это кажется слишком специфичной темой чтобы спрашивать о таком джуна. И в тысячу раз страннее что джун дал тот ответ, что ожидал интервьюер. Может это какой-то классический вопрос по жаве, который во всех джуновских книжках есть, а я пропустил? Но я о другом. Поясните, если это вопрос о каком-то реальном сценарии, то в каком виде к нам попадает пароль, что мы можем его перегнать в массив чаров так, чтобы исходных данных не осталось?
Я ещё меньше разбираюсь, но думаю что возможно считать по чару или байту из инпутстрима.. например
@@СергейО-ж7э Попробуй полный сценарий описать, пошагово, от и до, причём такой, который встречается на реальных проектах. Про инпутСтрим: а откуда данные попали в него и как мы гарантируем, что чары не остались в нём?
С веб морды пришли в сокет инпут стрим, например. Там уж не знаю как гарантировать.. но из того что можно сделать, мы хоть что то сделаем. Надеюсь тебе помог ))
@@СергейО-ж7э
1. Бэкенд-программист на жаве читает сообщения с морды через сокет из инпутСтрима, так? Хттп? И пароль приходит просто как байты, а не как поле в жсоне?
2. Кажется переписывать чар массив стоит если уверен в том, что делаешь. И если уверен, что он до этого нигде не сохранился.
Привет :)
Все проще, чем думается и кажется. Поясню...
Нет тут никакой специальной темы и вопрос сугубо на смекалку использования инструмента как массива в конкретном случае.
Немного технического инсайта: Неважно, в каком виде хранится в памяти пароль, пусть даже зашифрованный - это все равно представляет опасность. Такие данные всегда являются одними из потенциальных целей злоумышленника и хранить их долго, не самая лучшая мысль.
Теперь про Java: В этом интересном языке, строка является имутабльной (иначе неизменной), что помещает ее в String Pool на длительное время и делает доступной в ходе выполнения программы, но и через Memory Dump.
Чтобы этого избежать, данные принимаются в виде массива байтиков. Далее, если все-таки надо значение читабельное, конвертируем в массив символов. После работы с первым и вторым массивами, их значения можно заменить дефолтными [0, 0, 0, 0 ...] или чем-либо "несуразным".
Итого: В памяти есть пароль - факт! Но мы можем на него повлиять и сделать умышленную подмену данных, исключая его оригинальное длительное хранение в памяти. Со строкой такое было бы невозможно.
ребята кто понял ? Инкапсулятция -> Говорили если будет атака на поля класса (удалить его кто то) это не касается на геттер и сеттер, а раз на поля смог атаковать не мог на сеттер и геттеры ????
я просто хочу понять!!!
Подумал - какой знакомый голос. Макс, спасибо за семинары на gb:)
Интересно какой именно курс на хайперскилл он прошел
Инкапсуляция != сокрытие
Круто! Спасибо!!!!!!!!
Здравствуйте. Вопрос человеку который проводил интервью , скажите пожалуйста на свой опыт посоветуйте реальные, качественные, отличные курсы по java разработке ( не андроид направление ) для начинающих???? Что скажете о курсах javarush???
Хороший курс, сам его прошел, правда большую часть инфы все равно приходилось черпать из гугла, но это только плюс на мой взгляд
Привет, Арслан!
Курсы javarush никогда не проходил, просто не довелось. Уже работал, уже знал. Пустая трата времени для меня была.
С другой стороны, часто посещаю их сайт, слежу за их обучалками.
Могу сказать, что неплохой сервис для быстрого ознакомления в режиме "Хочу почувствовать себя программистом".
Быть "Инженером Разработки Программного обеспечения" они не научат.
Никакие курсы рекомендовать не могу, по одной причине и опишу эту боль ниже.
И тут не буду говорить, что курсы плохо))
Напротив, если есть возможность получить знания - это еще один источник.
Курсы, курсы, курсы...
Лично занимался на разных курсах, многие курсы преподаю и все зависит не от курсов, а от преподавателя.
Одно и тоже, дается в разной форме...
Одно и тоже, трактуется в разной форме...
Одно и тоже, "знается" в разной степени качества...
Пока что все курсы преуспели в отличной рекламе своего бренда и продажи идей из серии "Стань программистом за 60 дней", "Начни зарабатывать в валюте уже завтра", сейчас стало модно "Работай со своего острова удаленно" и так далее...
Рассказываю о том, что многие курсы фокусируются на собственном бренде не принимая во внимание, что их бренд не стены, компьютеры и кофемашины... но преподаватели, которые нередко сами "колхозники". Хуже судьбы для курсов, чем отзыв после плохого преподавателя представить нельзя. Деньги уплачены, ощущений удовольствия и драйва зеро, желания развиваться и покупать новые продукты компании желания нет.
Потому, сколько курсов не рекомендуй, то нет никакой гарантии что вы попадаете к действительно хорошему преподавателю, который знает сам на достойном уровне, так еще и имеет целью с вами поделиться знаниями, а не просто поговорить за 15 баксов в час)))
Мой совет, надо искать курсы с более-менее маленькими группами (3-5 чел., в худшем случае до 10 чел.) и\или индивидуалки и заниматься.
Тогда у преподавателя есть шанс на исправление своих ошибок, подстраивание под ритм группы (адаптация), поскольку он не разрывается между кучей людей и делает максимальный фокус на вас и ваших "тонкостях".
В это дает неплохой результат для вас и для него.
Ну как-то так :)
@@maksymdobrynin спасибо за развернутый полезный ответ
@@maksymdobrynin то же и про универ можно написать. кто пойдет работать в универ за 20-50 тыс? Крутой программист?
You really cannot do much to reduce the life of the password in a Servlet container because the HttpServletRequest returns the HTTP parameters as a String. So Spring Security could take all the measures in the world to reduce the lifetime of the password but it wouldn't make a difference because the String would already exist.
-Rob Winch (Spring Security)
Золотые слова.
После такого интервью нужно не улучшаться а идти собесится на работу. на треть вопросов я не ответил. Пишу на java 2.5 лет. Сейчас к новым собесам готовлюсь, вспоминаю
Да, наша жизни складывается из вечных интервью))
Удачи тебе!
Зі строкою тож начебто просто сахар, і там використовуєтся new всередені, так?
Как будет на английском интервьюируемый?
Хороший вопрос.
A person is being interviewed. Я бы так сказал.
interviewee. есть такое слово. interviewer - тот, кто берет интервью. interviewee - тот, кто дает интервью
@@nurana8007 Точно. Спасибо за подсказку
пацан к успеху шёл
Ребят, сейчас чат GPT может много написать, в принципе это просто раскрученная маркетингом нейросеть, если просить написать что посложнее, то тогда надо отлаживать в вручную. Писал серв но с помощью чат GPT, язык Java, jet breans, pycharm.
Пример с инкапсуляцией на мой взгляд некорректный. В той поставке задачи, которая была в интервью (с двумя полями, в которые просто кладутся и достаются значения) нет никакой разницы между тем, чтобы делать публичные поля или приватные поля с сеттерами. Более того, делать приватные поля с простыми сеттерами это ненужный бойлерплейт и непроста котлин избавил нас от необходимости его писать.
Далее вы говорите, что весь прикол инкапсуляции в сокрытии реализации. Так дайте пример, где есть публичный контракт и есть внутренняя реализация. Простой пример - modCount в ArrayList. В примере из интервью нет никакой внутренней реализации, поэтому решения абсолютно разнозначны, а в реальности вообще будут публичные поля.
Подмигните кто-нибудь, если это не настоящий джун, а всё срежиссировано. Всё настолько складно и чётко, и вопросы и ответы и рассуждения. Никогда такого не видел.
Так это прикольно. Намного больше полезности будет нести рассуждения практикуещего синьёра о простых вещах.
Тогда это плохой актер -- так плавать на SQL-задачах надо постараться.
Учу джаву, еще не дошел до enum, но пока смотрел уже как будто бы выучил 😂😂
Спасибо за видео, очень подсел на ваш канал, тем более в предверии интервью это "палочка выручалочка". Скажите пожалуйста, на сколько это интервью и вопросы, похоже на реальное интервью для джуна?
Спасибо за фидбек)
Подобные интервью максимально похожи на то, что происходить на реальных собеседованиях.
Конечно, в разных компаниях и в разных командах могу различаться подходы, акценты и так далее.
Но в остальном, процесс един: технические вопросы, небольшие (5-15 мин на решение) задачи, дизайн и архитектура
@@Jetbulb благодарю за ответ, хорошего вам дня 🙌
@@Snegurjan Взаимно!
Прикольный вопрос про sensitive данные в Java.
На 1:10 не совсем понял почему засчитали правильным ответ, что нельзя создать два бина одного типа в одном контексте спринга? Решили просто не углубляться? Никаких проблем вроде с этим нету, просто бины по разному назвать надо. А чтобы они правильно заинжектались или контекст не валился, то либо один из них @Primary помечаем, либо там куда их инжектаем, указываем @Qualifier("beanName").
Кандидат молодцом!
Привет :)
Речь шла про бин-сингтон в том виде, в котором он создан и в каком виде он сконфигурирован.
Но, если говорить про разнообразную конфигурацию бинов на единого класса, тогда да, ты прав. Тут можно тему уже развивать))
Но технически, это два и более разных сконфигурированных бина.
Аршавин неплохо справился, молодчик!
наконец то я понял зачем нужны енамы
Очень познавательное интервью, только не хватает в конце оценки знаний
Привет, Андрей!
Мы ее даем, просто не публично.
Как правило, после интервью еще минут 20-30 общаемся, но уже индивидуально.
Твоя мысль интересная, подумаем как можно это осветить. Спасибо за совет.
класс👍
видео не в плейлисте интервьшек
Сейчас добавим)
@@Jetbulb забыл добавить, спасибо за все видосы на канале, пересмотрел все 😀
ссылка this финальная поэтому незя другой объект на неё присвоить)
почему два бина в случае с прототайп? а как же бин класса В?
Мне всегда было интересно: " зачем делать такие длинные собеседования, задавать кучу вопросов обо всем не о чем?! ". Ведь на все это и времени уходит уйма и стресса для потенциального кандидата куча. Неужели нельзя просто перейти к практике - дать тестовые задания, сделать разбор каких-то конкретных кейсов, уложить все в мин 30?
Привет :)
Еще Леонардо Да Винчи говорил: "Без теории нет практики".
Вот так и в собеседовании, проверяется знание теории и затем переходит в практику.
Ну а вообще ответ простой... Компании берут на работу человека и они хотят чтобы он соответствовал их ожиданиям максимально. Просто 30 мин пообщаться и решить задачку никакой картины о человека не дает, тем более не дает пониманиям как человек будет адаптироваться в среде и развиваться. Это бизнес, ничего больше.
Для человека который собеседуется, точно такой же процесс. Он не только проверяет знания технические и прочее, но и общается, чтобы понять насколько компания отвечает его требованиям, насколько комфортно ему будет работать с такими людьми.
Собеседование - это не решение задачки, но комплексный процесс проливающий свет на вопрос "насколько человек и компания будут совместимый и взаимополезны".
@@Jetbulb Не согласен. Лично присутствовал на собеседованиях, где брали на работу "коммуникабельных" и "улыбчивых", которые решали задачки, предложенные им, но спустя неделю увольняли, потому что кроме этого они ничего не знали, а задачи сложнее просто запарывали. В то же время я, например, интроверт и на собеседованиях мне часто отказывали. Не умею я лыбиться и трындеть языком про то, как корабли бороздят просторы больших театров, а ИТ-отрасль в России поднимается с колен. К тому же у меня все из головы вылетает, когда меня экзаменуют или спрашивают глядя в глаза. Зато в работе ко мне нет претензий, до зам начальника отдела дорос даже без умения трепать языком)
@@dmitry-sovetov привет :)
Полностью согласен и полностью не согласен и в тоже время, много такого видел, что ты описал.
Но все-таки, тут речь о том надо ли на интервью проверять не только на технику, но и прочее скилы.
Собеседование не поможет это выявить на 100%, люди приспосабливаются и сегодня не секрет как пройти интервью менеджера, HR, техническое.
Тут задача проще, в целом определить можно ли с человеком что-то "лепить" в команде, а то что он по факту может быть "фейк" это и предстоит выяснить на 3-х месячной испыталки.
Из моего опыта, иногда испыталки доходят до 6 месяцев, но это уже жесть.
Как по мне, надо все узнавать, поскольку потому может быть поздно. Видел команды и работал в командах, где технарь отличный, а человек просто "ад" и наоборот.
Везде щас такая хрень, долго собеседуют, переназначают, несколько этапов, в итоге сидишь без работы
@@maksymdobrynin нужно поднять испытательный срок до года минимум, платить чтобы хватало только на еду, и постоянно требовать большего от кандидата. только в этом случае человек на работе будет "шелковый" и готовый к командному труду.
Интересно узнать как у парня дела через три года
ппц!! разница знаний джуна и синьора приводится только к опыту использования библиотек не из java core , опыту использования сторонних фреймворков и наличии знаний в каких либо архитектурных решений для сложных систем.
Петр, привет :)
Ну не совсем так, одна ты близок к истине.
А что тебя так удивляет?
Крутое видео! Спасибо! Было интересно :)
А есть здесь iOS?
Спасибо)
iOS пока что нет)
крутой парень 👍
Так а это не было собеседование на работу?
Это мок-собеседование
Надеюсь Сергей нашел ту самую вакансию)
Всем привет🖐
Люди, как Вы сами учите язык???
Я 1.5 месяца часов по 6 в день трачу на самообучение.... 90 % времени трачу в пустую.. куча элементарных ошибок.. ютуб особо не помогает.
Может кто подскажет хорошую литературу? Спасибо!!!
Не знаю, актуально ли, но все равно отвечу
Работаю два года разработчиком, сначала был стажером, сейчас джун, закончил бакалавр по технической специальности.
Формат видео интересный, мне в целом вопросы показались знакомыми, ставил каждый раз на паузу и давал +- правильный ответ.
Итого 4 года обучения в вузе и два года опыта работа позволяют уверенно пройти собеседование на джуна)
Не сдавайтесь, если у вас есть время/силы/возможности идите на бесплатное обучение с последующим выходом на работу (но не стоит больше двух месяцев и внимательно смотрите договор).
Говоря про обучение, либо Stepik, либо Coursera. Второе, как мне кажется, предпочтительнее, подтяните английский, плюс возможность слушать курсы от ведущих университетов мира много стоит.
Там есть как платные, так и бесплатные курсы, всегда можно что-то найти.
Если говорить именно про java, от MIT есть бесплатный курс, который они читают своим студентам, но его сложновато найти, он лежит на их сайте.
если видишь стопор то задавай вопросы на ру.стековерфлоу
как ваши успехи спустя 8 месяцев?
@@zheil2977 да более менее, но картина на столько сильно изменилась, что вместо поиска работа приходится продолжать учебу!
Коллекции я ещё не проходил, а до них ответил лучше интервьюируемого,аж приятно стало. Интересно, на реальных собесах тоже про циклы, массивы и всё подобное не спрашивают?
Циклы никому на интервью не нужны, подразумевается что ты ими обладаешь по-умолчанию.
Разве что, могут погонять по Stream API и способам обхода\взаимодействия с коллекциями.
Массивы вещь важная, на джуна очень даже могут спросить.
@@Jetbulb спасибо! Может про массивы добавишь в некст выпуске?
@@Batyrbala посмотрим по обстоятельствам.
Все очень сильно зависит от собеседника.
Но так или иначе, постараюсь учесть твой запрос))
с 9 джавы у интерфейса тоже есть прайвет методы, так что минус 1 отличие от абстрактного класса
пог инкапсуляции парень ответил. По переименованию поля , неубедительно, может переименоваться и своиство
Годнота!
Я хреново знаю как работают коллекции, почти не понял про что immutable, пока не могу четко ответить что называется дженериком. С Енам в целом ответил, но еще на паре доп вопросов уже завалился бы. Практический Спринг завалил целиком. Иннер джоин ответил, левый-правый не вспомнил. Скул в целом ответил половину.
Пошел учить.
он практически на все вопросы верно ответил. наверное в гугл сейчас работает
При должном рвении и желании, почему бы и нет)
В Гугле про спринг не спрашивают 😁
@@meison7969 ахаха)
- Сёрчить умеете?
- Да!
- Отлично, вы приняты!
Круть 🔥
Что с этим парнем спустя год после интервью?
Уже давно работает.
Быстро нашел себе место рабочее.
нейминг таблиц прям из одного места придуман был чтоль, тут голову сломать можно
Так и не понял взял бы ты его или нет на работу?
При наборе в свою команду, однозначно Сергей был бы одним из топовых кандидатов на вступление.
С TreeSet что-то перемудрили. Туда точно так же можно навалить любых объектов. Просто если TreeSet создан без компаратора, то все объекты должны быть Comparable, а если создан с компаратором - то компаратор должен работать для любой пары объектов. Например он может просто хэшкоды сравнивать и всё, можно хранить абсолютно любые объекты, никаких проблем.
Прошел javarush до 26 уровня. Понял все ровно до спринга. По внутренностям коллекций тоже вопросы были.
На раше нету хибера, спринга, да даже jbdc там нет :(
Вопрос, коллеги, где вы учили основы jdbc? Какие бесплатные источники проверены временем так сказать ))) Ну кроме документации
www.baeldung.com
В помощь)
Странное чувство, зная ответы на большинство заданных вопросов, я не смогу написать никакую полезную программу. Кто я? Не хватает насмотренности!?
Просто надо больше практиковаться))
Называется Problem Solving.
А все интервьюеры в фирмах такие как Максим???
Если да, то мне уже не так страшно на собеседование идти :)
Даже не знаю, что и сказать.
Я встречал таких же ребят, которые ставят целью не только сделать интервью, но и донести мысль до интервьюируемого человека. Так сказать чтобы он вынес пользу из этого в том числе.
В одном уверен, интервью не должно быть кошмаром. Это просто процесс двухстороннего оценивания и попытка понять насколько есть совместимость, а не отбор в "ШпиЙОнский Атдел Асобого Назначения" :)
Видно что шарит
Парень запросто подходит для мидле или даже сеньор
Не неси чушь) Джун он)
По технике мидл без вопросов. Но для мидл кроме техники ещё опыт нужен.
Хочу поправить собеседуемого на 18:40, НЕ БЫВАЕТ ЭКЗЕМПЛЯРОВ/ИНСТАНСОВ ОБЪЕКТА! Бывают только ЭКЗЕМПЛЯРЫ/ИНСТАНСЫ КЛАССА!
Это уже оговорочки))
Респект )
1:21:18 Видеомагнитофон!😂
хуясе на джуна по яве много вопросов, ещё и спринг заставляют знать... знаю тимлидов и сениоров которые в этой теме не бум-бум
Как такое возможно
Привет :)
"знаю тимлидов и сениоров которые в этой теме не бум-бум" - это из разряда I am Real Senior Developer, Trust me man.
Вопросов много, факт... но это реалия джава. Как когда-то сказал мой старший коллега: "В Java все ок, вот только знать надо очень много и реализаций одного и того же еще больше."
Живет, страдаем, эволюционируем)
Это и на стажера спрашивают🌝
Я готов пройти собес у тебя. Мне аж интересно, как ты будешь отвечать на мои вопросы, а зачем это ? И какое business value у этого вопроса с точки зрения эмпирического опыта применения данного знания на предприятии. Про hashtable в 2к23 году знать зачем? Ты ещё спроси про linked list. )))) Да я душнилово врубил))))😂. На самом деле огромный респект автору за его экспу и скилл я многому научился и ещё многому предстоит. 100500 лет пишу на джавке больше половины не понимаю .😢
Не жёсткое интервью , нет ? Вопросы какие-то лёгкие , по сравнению с реальными интервью , нет ?
ЛУКАС ОТ СЕООНЛИ
Инкапсуляция позволяет легко производить изменения внутри класса(если нужно удалить или переименовать поле) .
Иначе произошла бы каскадная реакция и пришлось бы изменять код, который завязался на внутренней реализации.
Но ведь тоже самое можно сказать и про сеттеры.
Скажем мы удалили в нашем классе поле name, то в нашем коде останутся вызовы метода setName, а этого поля уже и нету в самом классе
Привет, Андрей)
"Но ведь тоже самое можно сказать и про сеттеры." конечно можно, но вот если открывать поля и позволить к ним привязаться, то мы уже не можем легко изменить их тип или скажем имя.
В тоже время, сеттер это метод, где мы можем определить реализацию обратно совместимую с предыдущей версией поля.
К примеру:
Было поле String и был сеттер соответствующий. Потом мы заменили поле на другой тип и даже поменяли имя. При этом контракт (сигнатура) сеттера осталась неизменной, внутри мы сделали простое приведение данных к строке.
Дополнительно, создаем новый сеттер который уже поддерживает новую версию внутренней структуры, маркируем старый как @Deprecated, делаем ссылку на использование нового.
Итого: Сигнатура метода остается прежней, код нашего класса изменен как и планировалось, внутренняя структура закрыта, клиенту менять код не надо. Все довольны :)
Ясное дело, это далеко не единственный пример.
ляяя я 1000 лайк поставил :)
йо-йо, и он достался именно нам))
Это на Джуниора? А не много требований для начинающего? И меня поразило, что сам язык глубоко прокачен у кандидата, а sql почти на нуле.
И тут сразу вопрос, а реально ли первые задачи на работе будут на сверх сложные алгоритмы? Не окажется ли так что они будут как раз на sql и надо будет поправить какой нибудь запрос в Легаси коде. Потом исправить баг, потом ещё баг поправить... До проектирования логики классов Джуна наверное не допустят в первые полгода. В итоге есть ли смысл тогда в таких долгих интервью с проверкой знаний подкапотного поведения структур данных конкретно на позицию джуна? Допустим есть кандидат на Джуна и знает sql на уровне бога, а вот саму джаву чисто основы и несколько коллекций без особого погружения. Это годный кандидат или не годный будет?
Нет "золотого ответа". Все очень субъективно и всегда надо исходить из нужды, которую намереваешься закрывать.
В одной компании ты синьор, в другой джун.
Задача этого интервью раскрыть потенциал человека, показать ему что он знает, а что не знает, избавить от страхов.
На реальных интервью тоже так вытягивают и подводят к правильным ответам по пять минут?
Привет, Олег!
Все очень зависит от того, кто собеседует и какую цель несет.
К примеру, на Джуна не жалко тратить время поскольку он только учится и если он не знает, было бы круто ему подсказать направление верное.
А вот с сеньором... хм.. я бы тут задумался))
Мои два последних сеньорских интервью с офферами разговор о высоких материях, там где начинают дрочить "назовите методы object" или напишите код на листочке завершаю сразу. Сеньор - это человек решающий проблемы без надсмотрщика за спиной, показывающий где постановщик задачи что-то не предусмотрел, человек которые предлагает несколько решений и обосновывает плюсы-минусы, не берет первое попавшееся. Сеньор - не ходячая энциклопедия, как думают некоторые. Я лишний раз лучше в документацию загляну, если не уверен в своей памяти. Вот это подход - взвешенные решения, за которые несется ответственности. А не гонка на скорость написания тонны кода.
Alt + Enter бы пацану показал.
Привет.
Эта кодинг-сессия через была Code With Me. Там какая-то лажа и многие комбинации недоступны для того кто подключается.
Что странно, поскольку полный доступ дали. Может это дефект интеграции, а может ручки из “Ж» растут у нас.
В любом случае, дельное замечание. Уже не первый раз сталкиваемся с этой проблемой.
Спасибо!