#вопросы_с_собеседований
Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?
Ответ:
Так сделать не получится, т.к. при попытке одновременного вызова getWriter() и getOutputStream() будет выброшено исключение java.lang.IllegalStateException с сообщением, что уже был вызван другой метод.
Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?
Ответ:
Коротко и по работному делу!
— Море IT вакансий на удалёнку разработчикам и джунам, стажёрам!
— Каждый день
— Прямые контакты эйчаров
||Погнали|| Подписаться на канал 🤘
— Море IT вакансий на удалёнку разработчикам и джунам, стажёрам!
— Каждый день
— Прямые контакты эйчаров
||Погнали|| Подписаться на канал 🤘
Media is too big
VIEW IN TELEGRAM
Телеграм бот-игра на JAVA в 100 строк
Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться для хранения какой-либо статистики)
Код из видео
Использованная библиотека
источник
👉@BookJava
Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться для хранения какой-либо статистики)
Код из видео
Использованная библиотека
источник
👉@BookJava
Weekend Offer для PHP-разработчиков 24-26 марта
Отправляйте заявку до 23 марта и получите шанс всего за одни выходные присоединиться к команде ВКонтакте — крупнейшей социальной сеть в России и странах СНГ, которая объединяет людей, сервисы и компании, создавая простые и удобные инструменты коммуникации.
Разработчики требуются сразу по нескольким направлениям: в команду потребления контента и рекомендаций, в команду контента, в команду поиска, в команду NFT, в команду pазвития суперприложения и в команду UX.
ВКонтакте также рассмотрит кандидатуры разрабов, которые пишут и на других языках, если они кодят на PHP и готовы переходить на него.
Зарегистрироваться
Отправляйте заявку до 23 марта и получите шанс всего за одни выходные присоединиться к команде ВКонтакте — крупнейшей социальной сеть в России и странах СНГ, которая объединяет людей, сервисы и компании, создавая простые и удобные инструменты коммуникации.
Разработчики требуются сразу по нескольким направлениям: в команду потребления контента и рекомендаций, в команду контента, в команду поиска, в команду NFT, в команду pазвития суперприложения и в команду UX.
ВКонтакте также рассмотрит кандидатуры разрабов, которые пишут и на других языках, если они кодят на PHP и готовы переходить на него.
Зарегистрироваться
Нашли для вас ребят, с которыми можно начать карьеру разработчика без вложений, а после прохождения курса они гарантировано устроят на работу!🤩
ITM Space - один из немногих проектов в России, где ты можешь научиться Java разработке бесплатно. Оплата обучения происходит только после того, как ты начнешь работать. Первая зарплата - от 150 000 рублей. 💸
1. Ты получаешь гарантию трудоустройства, если не найдешь работу - ничего не должен.
2. Будешь учиться по индивидуальной программе с личным наставником.
3. Изучишь востребованный стек технологий: Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN
4. Сможешь общаться в закрытом сообществе студентов - разработчиков
5. И получишь карьерную поддержку от экспертов бессрочно: мастер-классы, митапы, консультации и тренинги.
Курс подойдет тем, кто хочет войти в IT, но никогда раньше не занимался программированием. Студентам ВУЗов и выпускникам образовательных программ, которые затрудняются найти работу после обучения. ...
ITM Space - один из немногих проектов в России, где ты можешь научиться Java разработке бесплатно. Оплата обучения происходит только после того, как ты начнешь работать. Первая зарплата - от 150 000 рублей. 💸
1. Ты получаешь гарантию трудоустройства, если не найдешь работу - ничего не должен.
2. Будешь учиться по индивидуальной программе с личным наставником.
3. Изучишь востребованный стек технологий: Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN
4. Сможешь общаться в закрытом сообществе студентов - разработчиков
5. И получишь карьерную поддержку от экспертов бессрочно: мастер-классы, митапы, консультации и тренинги.
Курс подойдет тем, кто хочет войти в IT, но никогда раньше не занимался программированием. Студентам ВУЗов и выпускникам образовательных программ, которые затрудняются найти работу после обучения. ...
9 ложных или устаревших представлений о Java
С момента первого выпуска Java в 1995 году многое изменилось как в программном, так и в аппаратном обеспечении. А переход на шестимесячный цикл релизов способствовал стремительной эволюции языка и инструментов Java.
В этой статье рассматриваются ложные и устаревшие представления о Java.
Читать статью
С момента первого выпуска Java в 1995 году многое изменилось как в программном, так и в аппаратном обеспечении. А переход на шестимесячный цикл релизов способствовал стремительной эволюции языка и инструментов Java.
В этой статье рассматриваются ложные и устаревшие представления о Java.
Читать статью
Android Developer (teamlead)
#офис #полныйдень #удаленка
З/П: от 250 000 до 280 000 ₽
Локация: Москва, Санкт-Петербург, Ростов-на-Дону
Компания: Aston
Обязанности:
- разрабатывать приложения на платформе Android;
- оценивать сложность разработки, планировать и работать по спринтам (Agile/Scrum);
- разрабатывать unit-тесты, проводить рефакторинг и code review;
- управлять командой разработки.
Требования:
- опыт разработки под Android от 7-ми лет;
- опыт работы на Java и Kotlin от 5-ти лет;
- опыт управления командой разработки;
- опыт работы с проектом, где DAU от 10 000 человек;
уверенное знание Android SDK, знание разницы между API Levels;
- знание современных архитектурных паттернов в Android-разработке, Clean Architecture;
- понимание принципов проектирования SOLID;
- опыт разработки клиент-серверного приложения (REST, JSON);
- опыт оптимизации сложного UI;
- опыт оптимизации технических метрик приложения.
#офис #полныйдень #удаленка
З/П: от 250 000 до 280 000 ₽
Локация: Москва, Санкт-Петербург, Ростов-на-Дону
Компания: Aston
Обязанности:
- разрабатывать приложения на платформе Android;
- оценивать сложность разработки, планировать и работать по спринтам (Agile/Scrum);
- разрабатывать unit-тесты, проводить рефакторинг и code review;
- управлять командой разработки.
Требования:
- опыт разработки под Android от 7-ми лет;
- опыт работы на Java и Kotlin от 5-ти лет;
- опыт управления командой разработки;
- опыт работы с проектом, где DAU от 10 000 человек;
уверенное знание Android SDK, знание разницы между API Levels;
- знание современных архитектурных паттернов в Android-разработке, Clean Architecture;
- понимание принципов проектирования SOLID;
- опыт разработки клиент-серверного приложения (REST, JSON);
- опыт оптимизации сложного UI;
- опыт оптимизации технических метрик приложения.
Для чего используются аннотации?
Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства RetentionPolicy:
SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории:
Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры – @Immutable и @ThreadSafe из Hibernate.
Вторая категория – инструкции для инструментов разработки. Примеры этой категории, @SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException.
CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов.
RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson.
Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства RetentionPolicy:
SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории:
Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры – @Immutable и @ThreadSafe из Hibernate.
Вторая категория – инструкции для инструментов разработки. Примеры этой категории, @SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException.
CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов.
RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson.
Что такое busy spin?
busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо, для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах, существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.Media is too big
VIEW IN TELEGRAM
Java: A Beginner's Guide, Ninth Edition
Автор: Herbert Schildt
Год издания: 2022
#java #english
Скачать книгу
Автор: Herbert Schildt
Год издания: 2022
#java #english
Скачать книгу
Метод Math.pow()
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
Можно ли наследовать аннотацию?
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Java для сисадминов
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
Читать статью
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
Читать статью
🚀 Спроектируйте ленту друзей ВКонтакте в прямом эфире!
📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.
🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.
Чему вы научитесь:
- проводить анализ требований;
- оценивать нагрузку на систему;
- проектировать ленту друзей ВКонтакте;
- проходить собеседования.
➡️ Регистрация на открытый урок ⬅️
📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.
🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.
Чему вы научитесь:
- проводить анализ требований;
- оценивать нагрузку на систему;
- проектировать ленту друзей ВКонтакте;
- проходить собеседования.
➡️ Регистрация на открытый урок ⬅️
Java developer (middle, senior)
#офис #полныйдень
Локация: Новосибирск, Москва
Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Nifi, Kafka)
Откликнуться: @Svetlanakachar
#офис #полныйдень
Локация: Новосибирск, Москва
Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Nifi, Kafka)
Откликнуться: @Svetlanakachar
#вопросы_с_собеседований
Что такое busy spin?
Что такое busy spin?
busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо, для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах, существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.Как Junior разработчику найти свою первую работу?
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Просто ли стать Java-разработчиком? Нет. Всем ли подойдет IT? Тоже нет. Стоит ли попробовать? Да.
Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление.
На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики:
✔️ Сотни упражнений в браузере.
✔️ 5 проектов для портфолио на GitHub.
✔️ 150 тестовых заданий от наших партнёров.
✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю.
Сделайте шаг к карьере IT-специалиста уже сегодня! Переходите по ссылке выше и начните обучение!
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10% на курс!
Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление.
На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики:
✔️ Сотни упражнений в браузере.
✔️ 5 проектов для портфолио на GitHub.
✔️ 150 тестовых заданий от наших партнёров.
✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю.
Сделайте шаг к карьере IT-специалиста уже сегодня! Переходите по ссылке выше и начните обучение!
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10% на курс!