не парся синдром студента выучишь и также быстро забудешь))я тоже изначально вызубрил но как код писать не понимал )))прошло время теперь наоборот не чего не помню даже наверное даже на джуна завалю но зато теперь знаю как рабочий код писать .так что всё относительно .эти все вопросы загугли три секунды все равно 80% забудешь эти типо для общего понимания .
Спасибо за интервью. Лайк, подписка, как положено, главное продолжайте. Теперь по молодому человеку. Откровенно говоря, сложно поверить, что Артем изучает с сентября 2020 года и обладает такими, скажу честно, не поверхностными знаниями. Либо он уделяет не меньше 8 часов в день, либо очень талантлив и с ним занимается ментор или репетитор. Стоит похвалить Артема за такое стремление в изучении языка. Желаю ему успехов, а автору канала, продолжать в том же духе.
@@nerale ну как бы начинающий и не обязан знать все глубоко. и мне лично не показалось что он знает поверхностно. а в плане софт скилов думаю он даст фору многим.
Спасибо за такие видео, пересматриваю их переодически и отслеживаю свой прогресс ) если пол года назад, я думал как вообще на это все можно ответить, сейчас почти все вопросы простыми показалась)
Что касается разбора технического задания, то был упущен вот этот момент: Соискатель написал вот такой код: values.toArray().length, чтобы получить размер элементов в списке, вместо этого кода необходимо писать values.size(). Конструкция values.toArray() преобразует список в массив данных с типов Object, а затем у созданного массива запрашивает длину! Это очень неэффективно, так как на каждой итерации цикла будет создаваться новый массив с данными только для того, чтобы узнать сколько элементов хранится в списке. Конструкция values.size() просто возвращает значение поля в классе без каких-либо дополнительных операций
Вот мне интересно, чувак явно знает мало и все очень поверхностно. В нынешних реалиях(с учетом профицита "джунов" на российском рынке кадров) этого правда достаточно или все таки это оочень мало и надо копать дальше? Очень полезные видео чтобы проанализировать свой уровень. Максим- респект и благодарность!
Вопрос по теме. Почему это работает в конструкторе, в Дженеричном классе, например: public class GenericList { private T[] object; private int size; public GenericList(int initialSize) { this.object = (T[]) new Object[initialSize]; } public void add(T element) { object[size++] = element; } public T get(int index) { return object[index]; } public int getSize() { return size; } } 🤔
Писать проги. Повторять за теми кто пишет какую то программу с нуля. Так рука постепенно набьется и появится насмотренность кода. Без практики вся эта теория просто заученный текст.
Привет, Сергей! Почему бы и нет, хороший выбор)) Утилитный метод newInstance помогает это вопрос решить, поскольку там учитывается проблема вариативности\инвариативности.
есть еще более короткий способ: return (T[]) values.toArray(); Но ваш вариант предпочтителен как по мне. вместо 0 можно поставить values.size() и добавить SupressWarnings("checked")
Отличное интервью, однако в процессе не покидало чувство, что собеседуемый читает что-то со шпаргалок ) ну это так, микромоменты. Большое дело делаете, продолжайте в том же духе, реактивные вы наши!
Кто не подсматривает :) Это норм. Все мы такими были. За то, Артем уже работает и это прямо супер-мотивирует. Саша, спасибо за фидбек и что остаешься с нами))
Пока в этом нет смысла, тем более наши цели отличаются от проверки языковых навыков) Можно разве что в тестовом режиме на пару минут. Но, мы не эксперты английского языка, чтобы давать заключения по таким вопросам.
@@Jetbulb так я не про языковые навыки, а про сам опыт собеседования Java, но на английском. Кажется, это полезный навык и для русскоязычной компании как работодателя:)
Все четко и круто , а главное - с ответами на вопросы! Небольшое но - слишком простые вопросы на половину тем, все-таки хотелось бы углубления, напр. по функц. интерфейсам, как это сделали по коллекциям.
Привет, Макс! Ответил тебе в другом комменте, но тут тоже решил)) Если мы говорим про Java, то пожалуй самый лучший автор для начинающих - "Полное Руководство" Герберт Шилдт. Брать последнее издание. Он очень классно и кратко по существу все рассказывает. Хорошие примеры предоставляет.
С finally кстати не совсем корректно на счет случая, когда JVM упадет с ошибкой. Например, в случае того же OutOfMemoryError finally блок очень даже выполнится. Если запустить вот такой код List nums = new ArrayList(); try { while (true) { nums.add(new byte[1024*1024]); } } finally { System.out.println("It works!"); } То вывод будет следующий It works! Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at Main.main(Main.java:38)
Привет, Святослав :) Твоя активность не может не радовать и привлекла наше внимание. Похоже, ты претендуешь на звание "Знающего Java-разработчика". Есть предложение... Приходи к нам на интервью, пообщаемся, обсудим технические детали, подискутируем. Там ты сможешь круто и централизованно изложить свое мнение, сравнить с нашим. Что скажешь?) Спасибо, что оживляешь наш канал своими комментариями и активностью. Мы ценим это!
Привет и спасибо за такой классный вопрос :) Мы еще не делали официальное заключение, но тут точно можно сказать, что на собеседования уже пора ходить и вероятность получить приглашение на работу велика. Конечно, мы не исключаем моменты, где явно надо подтягивать знания, но такое есть у любого разработчика, вне зависимости от его уровня. Ответ однозначный, искать работу уже можно и даже нужно.
Спасибо большое за приятный фидбек :) По поводу Синьора - это не так просто, поскольку люди чаще всего заняты работой и тут найти человека, который будет персонально заинтересован в прохождении такого рода интервью. Но, у нас есть хорошая новость. Мы сейчас ведем переговоры с разработчиком уровня Синьор, который вероятно уже скорее появится на наших экранах.
Привет, Михаил!) Чтобы попасть на такое собеседование нужно пройти отбор) Сейчас как раз открыт новый поток, необходимо решить тестовое задание и прислать его нам) Подробнее по ссылке interview.jetbulb.com/main
Странное впечатление от Артёма, как уже писали ранее - производит впечатление поверхностного знания. У меня даже возникло впечатление - как будто он гуглит по ходу интервью или чьи-то подсдказки слушаит. Интервьюер очень добрый и наводящими вопросами склоняет его к правильным ответам. Например, на 15:24 на вопрос "почему необходимо переопределять equals" он начинает неверно отвечать, что это нужно делать, если мы "не хотим сравнивать объекты ПО ВСЕМ ПОЛЯМ" и добавляет, что первоначально (до переопределения) для сравнения в equals используются все поля. И это типа плохо, может понадобится, чтобы использовалась лишь часть))) Это абсолютно неверно. Впрочем, буквально через несколько минут, послушав интервьювера или по какой-то другой причине, он переобувается и уже совсем по-другому говорит - на 17:09 он уже не говорит про сравнение по всем полям, а абсолютно правильно "вспоминает", что сравнение всего лишь по ссылкам.
Меня удивило, что такая строка не сработала T[] array = (T[]) new Object[values.size()], поскольку я так уже несколько раз писал. Набрал этот код, запустил и всё сработало. У меня LibericaJDK-13
@Андрюша а что нужно ещё? Бд понятно, что да. Mvc Doker. Tomcat. Юнит тесты. Но по сути там собраны ключевые темы. Естественно копать и копать их можно. Но по факту это junior. А что ещё нужно ?
Привет, Михаил :) Спасибо за комментарий. Просто из любопытства... а что в твоем понимании стройный и неустаревший ЯП? Ясное дело, что это все субъективно, но просто интересно.
@@Jetbulb Привет Jetbulb (прости, не вижу настоящего имени) ты сам спросил и, кстати, спасибо за это :) постараюсь быть кратким, насколько это возможно... Я считаю, выражение “все познается в сравнении” подходит сюда как нельзя лучше. Так что постараюсь быть не “субъективным”, а наоборот “объективным”. Оставляя абстрактные рассуждения о вообще всех ЯП, существующих или существовавших, остановимся на популярных JVM языках, коих всего 4. Сузим их до статически типизированных, отбросим Clojure (мы же сказали “популярные”, хотя тут можно и поспорить) и получим: Java, Scala, Kotlin (в порядке их появления). Грубо говоря, что дает нам Java взамен, накладывая свои языковые ограничения, в сравнении со Scala и Kotlin? А вот что: - система типов: отсутсвие корректной и внятной ко-, контра- и ин-вариантности на уровне языка (Java arrays одни чего только стоят, см. stackoverflow.com/questions/28570877/java-covariant-array-bad) - закос и именно закос под функциональные языки (см. pattern matching, sealed classed, record classes напр. здесь docs.oracle.com/en/java/javase/17/language/java-language-changes.html) без добавления идей ФП в сам язык - неполноценную ОО: примитивные типы vs объектные (оптимизация на уровне языка здесь ни при чем, байт-код скомпилированный на Kotlin или Scala ничем не уступит байт-коду полученного из Java в плане быстродействия) - вытекающая из этого различная и не всегда очевидная семантика для оператора сравнения и метода equals - негибкость языка, т.е. невозможность добавлять свои конструкции средствами самого языка (см. что такое internal DSL и как и зачем появился Project Lombok в Java) - достаточно большое количество “исключений” в плане языковых конструкций / выражений: ср. со Scala, где практически все является выражением (expression), имеющим определенный тип (даже выражение throw new Exception(“huh”) имеет тип!) и много чего еще… :)
Ах если бы все интервьюеры были такие позитивные и тактичные) Спасибо за разбор.
Спасибо за комментарий!)
Прочитал как токсичные))
@@angrycatstudio2816 🤣 под лептопом)
Занимаюсь два месяца сам, и смог ответить на вопросы до 38 минуты, как же я рад что мне попалось это видео в рекомендациях, придало уверенность ))
не парся синдром студента выучишь и также быстро забудешь))я тоже изначально вызубрил но как код писать не понимал )))прошло время теперь наоборот не чего не помню даже наверное даже на джуна завалю но зато теперь знаю как рабочий код писать .так что всё относительно .эти все вопросы загугли три секунды все равно 80% забудешь эти типо для общего понимания .
Спасибо Вам за эту рубрику!!! По Вашим собесам многое новое узнаю! Отличный формат
Спасибо за интервью. Лайк, подписка, как положено, главное продолжайте.
Теперь по молодому человеку. Откровенно говоря, сложно поверить, что Артем изучает с сентября 2020 года и обладает такими, скажу честно, не поверхностными знаниями. Либо он уделяет не меньше 8 часов в день, либо очень талантлив и с ним занимается ментор или репетитор. Стоит похвалить Артема за такое стремление в изучении языка. Желаю ему успехов, а автору канала, продолжать в том же духе.
Странно, мне наоборот показалось, что он знает все поверхностно. Не отрицаю, что это просто от волнения
@@nerale ну как бы начинающий и не обязан знать все глубоко. и мне лично не показалось что он знает поверхностно. а в плане софт скилов думаю он даст фору многим.
Спасибо за такие видео, пересматриваю их переодически и отслеживаю свой прогресс ) если пол года назад, я думал как вообще на это все можно ответить, сейчас почти все вопросы простыми показалась)
Это кстати результат))
Есть на что ровняться при определении целей на будущее.
спасибо за этот формат и за пояснение к каждому вопросу, очень полезно!
Артем красавчик)интервью очень понравилось,смог забить свои пробелы в знаниях ))спасибо за видео!
Спасибо за комментарий!))
Классный собес, интересный грамотный собеседник, интересно было смотреть
Спасибо за комментарий! 😊
Очень интересно живое общение!! Спасибо автору👍
Спасибо)))
Что касается разбора технического задания, то был упущен вот этот момент: Соискатель написал вот такой код: values.toArray().length, чтобы получить размер элементов в списке, вместо этого кода необходимо писать values.size(). Конструкция values.toArray() преобразует список в массив данных с типов Object, а затем у созданного массива запрашивает длину! Это очень неэффективно, так как на каждой итерации цикла будет создаваться новый массив с данными только для того, чтобы узнать сколько элементов хранится в списке. Конструкция values.size() просто возвращает значение поля в классе без каких-либо дополнительных операций
согласен. у меня так вообще получилось values.toArray(array) и никакого цикла не надо.
Макс, давай еще таких задач. Чтобы было минимум кода но мозголомно в части знания движка
Вот мне интересно, чувак явно знает мало и все очень поверхностно. В нынешних реалиях(с учетом профицита "джунов" на российском рынке кадров) этого правда достаточно или все таки это оочень мало и надо копать дальше? Очень полезные видео чтобы проанализировать свой уровень. Максим- респект и благодарность!
Понравилось интервью. Сам через полгода планирую начать ходить по собеседованиям. Пометил несколько пунктов для себя, которые не знал. Спасибо!
Спасибо за комментарий!)
ну как, начал?
тоже интересно
@@problemyok5747 привет. В феврале 2022 года начал ходить на собеседования, с 01.04.2022 я трудоустроен младшим разработчиком ПО)
@@АлександрЮтушуй да, уже месяц отработал))
Классное интервью, спасибо!
Классная идея делать такие интервью!
Посоветуйте источники с каноничными определениями терминов ООП? С целью прохождения собеседования
Попробуй вот эту книгу по ссылке ниже
www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486
@@Jetbulb благодарю!
Вопрос по теме. Почему это работает в конструкторе, в Дженеричном классе, например:
public class GenericList {
private T[] object;
private int size;
public GenericList(int initialSize) {
this.object = (T[]) new Object[initialSize];
}
public void add(T element) {
object[size++] = element;
}
public T get(int index) {
return object[index];
}
public int getSize() {
return size;
}
}
🤔
Огонь. Можно так и учиться))
Ну в этом же и есть весь смысл.
Учимся прямо тут, не отходя "от кассы", а потом на собесах блестаем.
@@Jetbulb совсем недавно начал учиться, никогда в жизни небыл связан с it. Надеюсь ближе к концу осени запишусь на собес!
@@АмирАлекаев Будем ждать.)) Думаю, что август-сентябрь как раз будет набор и потом перед НГ.
Думаю, что наряду с дефолтными методами, функциональный интерфейс может содержать и статические помимо единственного абстрактного.
Парни, все выучил. Ответил на все вопросы. Код не могу писать. Какой следующий шаг? Фраймворки учить?
Писать проги. Повторять за теми кто пишет какую то программу с нуля. Так рука постепенно набьется и появится насмотренность кода.
Без практики вся эта теория просто заученный текст.
А если задачку решить с помощью другого перегруженного метода values.toArray((T[])Array.newInstance(clazz, 0))? Просто покороче.
Привет, Сергей!
Почему бы и нет, хороший выбор))
Утилитный метод newInstance помогает это вопрос решить, поскольку там учитывается проблема вариативности\инвариативности.
есть еще более короткий способ: return (T[]) values.toArray(); Но ваш вариант предпочтителен как по мне. вместо 0 можно поставить values.size() и добавить SupressWarnings("checked")
Музыка во время решения слишком громкая, все остальное отлично)
Хорошая задача
Отличное интервью, однако в процессе не покидало чувство, что собеседуемый читает что-то со шпаргалок ) ну это так, микромоменты.
Большое дело делаете, продолжайте в том же духе, реактивные вы наши!
Кто не подсматривает :)
Это норм. Все мы такими были.
За то, Артем уже работает и это прямо супер-мотивирует.
Саша, спасибо за фидбек и что остаешься с нами))
@@Jetbulb Да, Артем молодец, лишний раз подтверждает, что дорогу преодолевает идущий!
А на английском не проводите? Провелся бы (только без спринга и sql-запросов, т.к. их всегда с гуглом пишу:) и не особо часто это приходится делать)
Пока в этом нет смысла, тем более наши цели отличаются от проверки языковых навыков)
Можно разве что в тестовом режиме на пару минут. Но, мы не эксперты английского языка, чтобы давать заключения по таким вопросам.
@@Jetbulb так я не про языковые навыки, а про сам опыт собеседования Java, но на английском. Кажется, это полезный навык и для русскоязычной компании как работодателя:)
02:21 ОПП. Понятие и принципы - ошибочка
Спасибо за внимательность! Поправили :)
Пушка!
Все четко и круто , а главное - с ответами на вопросы! Небольшое но - слишком простые вопросы на половину тем, все-таки хотелось бы углубления, напр. по функц. интерфейсам, как это сделали по коллекциям.
Спасибо за комментарий!)
Постараемся включить вопросы про функц. интерфейсы)
А что если так?
@SuppressWarnings("unchecked")
private static T[] convert(Class clazz, List values) {
final String format = "[L%s;";
final String arrayClassName = String.format(format, clazz.getName());
Class arrayClass;
try {
arrayClass = (Class) Class.forName(arrayClassName);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
return Arrays.copyOf(values.toArray(), values.size(), arrayClass);
}
Ребята, подскажите хорошую литературу для учёбы. Заранее спасибо!!!!
Привет, Макс!
Ответил тебе в другом комменте, но тут тоже решил))
Если мы говорим про Java, то пожалуй самый лучший автор для начинающих - "Полное Руководство" Герберт Шилдт. Брать последнее издание.
Он очень классно и кратко по существу все рассказывает. Хорошие примеры предоставляет.
@@Jetbulb а про spring что посоветуете ?
А зачем он в 15 строке пишет values.toArray().length вместо values.size ?
С finally кстати не совсем корректно на счет случая, когда JVM упадет с ошибкой. Например, в случае того же OutOfMemoryError finally блок очень даже выполнится. Если запустить вот такой код
List nums = new ArrayList();
try {
while (true) {
nums.add(new byte[1024*1024]);
}
} finally {
System.out.println("It works!");
}
То вывод будет следующий
It works!
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at Main.main(Main.java:38)
Привет, Святослав :)
Твоя активность не может не радовать и привлекла наше внимание.
Похоже, ты претендуешь на звание "Знающего Java-разработчика".
Есть предложение... Приходи к нам на интервью, пообщаемся, обсудим технические детали, подискутируем.
Там ты сможешь круто и централизованно изложить свое мнение, сравнить с нашим.
Что скажешь?)
Спасибо, что оживляешь наш канал своими комментариями и активностью. Мы ценим это!
Интервью супер! Скажите, пожалуйста, с таким уровнем знаний уже можно искать работу или для джуна маловато?
Привет и спасибо за такой классный вопрос :)
Мы еще не делали официальное заключение, но тут точно можно сказать, что на собеседования уже пора ходить и вероятность получить приглашение на работу велика. Конечно, мы не исключаем моменты, где явно надо подтягивать знания, но такое есть у любого разработчика, вне зависимости от его уровня.
Ответ однозначный, искать работу уже можно и даже нужно.
смотрю твои видео даже как андроид разработчик, спасибо за твою работу, но хотелось бы еще собесы сеньоров
Спасибо большое за приятный фидбек :)
По поводу Синьора - это не так просто, поскольку люди чаще всего заняты работой и тут найти человека, который будет персонально заинтересован в прохождении такого рода интервью.
Но, у нас есть хорошая новость. Мы сейчас ведем переговоры с разработчиком уровня Синьор, который вероятно уже скорее появится на наших экранах.
@@Jetbulb а котлин собесы не планируете делать?
@@2NormalHuman пока в планах нет.
Вероятно позже, рук свободных не хватает, сожалению.
А как можно попасть на такое тестовое собеседование, мне бы интересно было оценить свои силы и знания)
Привет, Михаил!)
Чтобы попасть на такое собеседование нужно пройти отбор)
Сейчас как раз открыт новый поток, необходимо решить тестовое задание и прислать его нам)
Подробнее по ссылке interview.jetbulb.com/main
@@Jetbulb спасибо) задание сделал и прислал в тот же день, еще вопрос, если я даже не попал на интервью, ответ все равно придет на почту?
@@МихаилКончиц-о1и мы в любом случае ответим на почту и дадим обратную связь)
Практическое задание хорошее
Сложнова-то для джуна как-то. С такими знаниями как у этого парня должны джуном за обе руки расхватывать.
Вроде обычные вопросы по верхам. Сложно это когда копают вглубь
интервью хорошее , но в java не принято быть таким позитивным)
Пора разрушать стереотипы ;)
Что там со звуком? Пришлось выкрутить на максимум
23:00, вектор это не отрезок
Парирую, коллега)
"... в геометрии и в естественных науках вектор есть направленный отрезок прямой в евклидовом пространстве."
Странное впечатление от Артёма, как уже писали ранее - производит впечатление поверхностного знания. У меня даже возникло впечатление - как будто он гуглит по ходу интервью или чьи-то подсдказки слушаит. Интервьюер очень добрый и наводящими вопросами склоняет его к правильным ответам. Например, на 15:24 на вопрос "почему необходимо переопределять equals" он начинает неверно отвечать, что это нужно делать, если мы "не хотим сравнивать объекты ПО ВСЕМ ПОЛЯМ" и добавляет, что первоначально (до переопределения) для сравнения в equals используются все поля. И это типа плохо, может понадобится, чтобы использовалась лишь часть))) Это абсолютно неверно. Впрочем, буквально через несколько минут, послушав интервьювера или по какой-то другой причине, он переобувается и уже совсем по-другому говорит - на 17:09 он уже не говорит про сравнение по всем полям, а абсолютно правильно "вспоминает", что сравнение всего лишь по ссылкам.
Артем нашел работу в итоге?
Да, вот недавно с ним общались))
Если он не против будет, может запишем небольшой сценарий с ним, где он расскажет чего добился.
чуть не оглох от неожиданно громкой музыки
Тоже на это обратили внимание.
Спасибо за фидбек!
Сделайте ещё "первый день на работе"
Привет, Миша!
У нас есть идеи на этот счет. Работаем над этим направлением.
Спасибо за совет :)
хороший собес , правда такое ощущение что собеседник на х1.5 скорости ))
Как energizer 😃
Может ещё всех нас запитать энергией)
Волнуется.
Сам так же себя вёл. От волнения хочется высказать сразу все мысли.
Спектр задач на жава : бекенд, бекенд, бекенд и бекенд
На Андроиде и кнопочки подвигать можно
Меня удивило, что такая строка не сработала T[] array = (T[]) new Object[values.size()], поскольку я так уже несколько раз писал. Набрал этот код, запустил и всё сработало. У меня LibericaJDK-13
так он сказал Чары
Автор настолько крут, что без танцев с бубном ему уже совсем не интересно )))
😹
Вопросы с галеры подьехали. чувак если серьезно джун, то лучше бы код учился писать, чем бесполезные вопросы с собеса задрачивать
интересная задачка, вроде и простая с виду, но...
Угараю, когда он говорит слово мышь в непонятном контексте
Имхо, на джунов нынче требования намного больше. Этот собес больше походит на соискание трейни, максимум
С чего вдруг? Это уровень junior.
@Андрюша а что нужно ещё?
Бд понятно, что да. Mvc
Doker. Tomcat. Юнит тесты.
Но по сути там собраны ключевые темы. Естественно копать и копать их можно. Но по факту это junior.
А что ещё нужно ?
Спасибо за видио. Хорошое напоминание о том, насколько Java - концептуально нестройный и устаревший яп
Привет, Михаил :)
Спасибо за комментарий. Просто из любопытства... а что в твоем понимании стройный и неустаревший ЯП?
Ясное дело, что это все субъективно, но просто интересно.
@@Jetbulb Привет Jetbulb (прости, не вижу настоящего имени)
ты сам спросил и, кстати, спасибо за это :) постараюсь быть кратким, насколько это возможно...
Я считаю, выражение “все познается в сравнении” подходит сюда как нельзя лучше. Так что постараюсь быть не “субъективным”, а наоборот “объективным”.
Оставляя абстрактные рассуждения о вообще всех ЯП, существующих или существовавших, остановимся на популярных JVM языках, коих всего 4. Сузим их до статически типизированных, отбросим Clojure (мы же сказали “популярные”, хотя тут можно и поспорить) и получим: Java, Scala, Kotlin (в порядке их появления).
Грубо говоря, что дает нам Java взамен, накладывая свои языковые ограничения, в сравнении со Scala и Kotlin?
А вот что:
- система типов: отсутсвие корректной и внятной ко-, контра- и ин-вариантности на уровне языка (Java arrays одни чего только стоят, см. stackoverflow.com/questions/28570877/java-covariant-array-bad)
- закос и именно закос под функциональные языки (см. pattern matching, sealed classed, record classes напр. здесь docs.oracle.com/en/java/javase/17/language/java-language-changes.html) без добавления идей ФП в сам язык
- неполноценную ОО: примитивные типы vs объектные (оптимизация на уровне языка здесь ни при чем, байт-код скомпилированный на Kotlin или Scala ничем не уступит байт-коду полученного из Java в плане быстродействия)
- вытекающая из этого различная и не всегда очевидная семантика для оператора сравнения и метода equals
- негибкость языка, т.е. невозможность добавлять свои конструкции средствами самого языка (см. что такое internal DSL и как и зачем появился Project Lombok в Java)
- достаточно большое количество “исключений” в плане языковых конструкций / выражений: ср. со Scala, где практически все является выражением (expression), имеющим определенный тип (даже выражение throw new Exception(“huh”) имеет тип!)
и много чего еще… :)
Это шоу?)))) дизлайк 👎
Привет)
Как говорила моя учительница: «Макс, двойка тоже результат».
Спасибо за фидбек, это помогает нам продвигаться вперёд!
Согласен с fara0n, слишком явно Артем читает ответы с монитора)) Но Макс молодец, сам только изучаю Java, такие видео полезны в любом случае!
Чувак сходи к нормальному парикмахеру, вообще говёно постригли