Обложка канала

Библиотека джависта. Страница 61

20804 @javaproglib

Полезные материалы по всему, что может быть полезно разработчику на Java.

  • Библиотека джависта

    Перезагрузка — одна из тем, необходимая для сертификации OCAJP. Это мощная техника для случаев, когда вам нужно одинаковое имя метода с разными параметрами. Вместо того, чтобы дублировать имя метода, вы можете просто перегрузить его. 📌 20 апреля в 20:00 (мск) состоится открытый вебинар, на котором мы рассмотрим перегрузку методов в Java. Занятие проведет Дмитрий Коган, эксперт Java, председатель совета крупнейшего IT-предприятия DXC Technology. 💻 Demo-занятие является частью онлайн-курса «Подготовка к сертификации OCAJP». Не упустите шанс познакомиться с экспертом! 👉 Оставьте заявку, чтобы записаться на вебинар - https://otus.pw/159S/
  • Библиотека джависта

    #вопросы_с_собеседований Для чего используются операторы INTERSECT, EXCEPT в Transact-SQL? Оператор EXCEPT возвращает уникальные записи из левого входного запроса, которые не выводятся правым входным запросом. Оператор INTERSECT возвращает уникальные записи, выводимые левым и правым входными запросами.
  • Библиотека джависта

    #вопросы_с_собеседований Какие подклассы класса InputStream вы знаете, для чего они предназначены? ✔️InputStream - абстрактный класс, описывающий поток ввода; ✔️BufferedInputStream - буферизованный входной поток; ✔️ByteArrayInputStream позволяет использовать буфер в памяти (массив байтов) в качестве источника данных для входного потока; ✔️DataInputStream - входной поток для байтовых данных, включающий методы для чтения стандартных типов данных Java; ✔️FileInputStream - входной поток для чтения информации из файла; ✔️FilterInputStream - абстрактный класс, предоставляющий интерфейс для классов-надстроек, которые добавляют к существующим потокам полезные свойства; ✔️ObjectInputStream - входной поток для объектов; ✔️StringBufferInputStream превращает строку (String) во входной поток данных InputStream; ✔️PipedInputStream реализует понятие входного канала; ✔️PushbackInputStream - разновидность буферизации, обеспечивающая чтение байта с последующим его возвратом в поток, позволяет «заглянуть» во входной поток и увидеть, что оттуда поступит в следующий момент, не извлекая информации. ✔️SequenceInputStream используется для слияния двух или более потоков InputStream в единый.
  • Реклама

  • Библиотека джависта

    #вопросы_с_собеседований Расположите в виде иерархии следующие интерфейсы: List, Set, Map, SortedSet, SortedMap, Collection, Iterable, Iterator, NavigableSet, NavigableMap.
  • Библиотека джависта

    Как тимлиду организовать успешный процесс разработки программного обеспечения? Ждем всех, кто хочет прокачаться как тимлид, 13 апреля в OTUS на открытом вебинаре. Его проведет преподаватель Алексей Кирсанов, руководитель разработки в Битрикс24. На занятии мы поговорим о том, какие подходы, парадигмы и модели используются при разработке ПО и как выбрать адекватную модель. Затем мы разберем принципы Agility гибкого подхода к разработке и посмотрим на устройство Scrum framework. Записаться на открытый урок 👉 https://otus.pw/FwRA/
  • Библиотека джависта

    #вопросы_с_собеседований Что делает метод intern() в классе String? Метод intern() используется для сохранения строки в пуле строк или получения ссылки, если такая строка уже находится в пуле.
  • Библиотека джависта

    #вопросы_с_собеседований Что такое WebSocket? WebSocket — протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и web-сервером в режиме реального времени. Протокол WebSocket определяет две URI схемы ☕️ ws: - нешифрованное соединение ☕️ wss: - шифрованное соединение
  • Библиотека джависта

    #вопросы_с_собеседований Почему строка является популярным ключом в HashMap в Java? Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
  • Библиотека джависта

    #вопросы_с_собеседований Что такое race condition? Состояние гонки (race condition) - ошибка проектирования многопоточной системы или приложения, при которой эта работа напрямую зависит от того, в каком порядке выполняются потоки. Состояние гонки возникает, когда поток, который должен исполнится в начале, проиграл гонку и первым исполняется другой поток: поведение кода изменяется, из-за чего возникают недетерменированные ошибки.
  • Библиотека джависта

    #вопросы_с_собеседований Как зарегистрировать драйвер JDBC? Регистрацию драйвера можно осуществить несколькими способами: ☕️ java.sql.DriverManager.registerDriver(%объект класса драйвера%). ☕️ Class.forName(«полное имя класса драйвера»).newInstance(). ☕️ Class.forName(«полное имя класса драйвера»);
  • Библиотека джависта

    👔 Senior Java Dev ⛳️ СберМаркет 💼🥁 Удаленка\офис Мск\гибрид — выбирай 💵 от 300 т.р. на руки Делаем Core Services в eCom. Давай с нами строить платформу для продуктовых команд! У нас нет легаси, можно хорошо прокачаться в kubernetes и service mesh, много инженерных и инфраструктурных проектов. Примеры задач: делать аутентификации, авторизации, отправки смс, пушей, email, подписок через API. Все это на микросервисной распределенной архитектуре на Java. СберМаркет был создан на основе стартапа Instamart, присоединившегося к экосистеме Сбера в 2019 годe. Важно, что с одной стороны у нас есть стабильность экосистемы, а с другой — мы отдельная компания со своими процессами, командами, корп культурой и инфраструктурой. В Tech-команде сейчас 650+ человек, за 2021 год мы стали сервисом №1 в e-grocery, хотим укрепиться на этой позиции, и твоя работа поможет достичь эту амбициозную цель. Подробности по ссылке 🛒Пиши @aurecruit и рекомендуй знакомых
    Senior Java разработчик в команду базовых сервисов

    СберМаркет - сервис по доставке товаров из магазинов. Мы помогаем людям экономить время, энергию и деньги для чего более важного.

    sbermarket on Notion
  • Библиотека джависта

    Собираешься получать сертификат Oracle Java Programmer? 🔥 Начни подготовку с вебинара «Переопределение, скрытие, передекларация» в OTUS. Урок проведет Дмитрий Коган, эксперт Java, 6 апреля в 20:00. 📚 Мы рассмотрим четыре правила: переопределение и скрытие методов в Java, передекларацию и скрытие переменных, а после познакомимся с пятым. 📌 Demo-занятие пройдет в рамках онлайн-курса «Подготовка к сертификации Oracle Java Programmer (OCAJP)», где вы натренируетесь решать задачи и глубоко погрузитесь в возможности Java. 👉 Регистрация на вебинар https://otus.pw/Bg5k/
  • Библиотека джависта

    #вопросы_с_собеседований Почему char[] предпочтительнее String для хранения пароля? С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.
  • Библиотека джависта

    Привет! Наш проект proglib.academy растет и сейчас мы ищем Digital-маркетолога в команду, который обеспечит поток клиентов на продукты Proglib.academy из органических и платных каналов, будет строить маркетинговые воронки и проектировать CJM, а также оптимизировать показатели и тестировать гипотезы. Будем рады, если вы поможете нам и отправите информацию о вакансии своим друзьям, знакомым или бывшим коллегам, которых она могла бы заинтересовать. Более подробно о вакансии можно прочитать тут: proglib.io/vacanci…22-04-04
  • Библиотека джависта

    #вопросы_с_собеседований В чем разница между операторами GROUP BY и DISTINCT? DISTINCT указывает, что для вычислений используются только уникальные значения столбца. NULL считается как отдельное значение. GROUP BY создает отдельную группу для всех возможных значений (включая значение NULL). Если нужно удалить только дубликаты лучше использовать DISTINCT, GROUP BY лучше использовать для определения групп записей, к которым могут применяться агрегатные функции.
  • Реклама

  • Библиотека джависта

    #вопросы_с_собеседований Почему String неизменяемый и финализированный класс? Есть несколько преимуществ в неизменности строк: • Пул строк возможен только потому, что строка неизменяемая, таким образом виртуальная машина сохраняет больше свободного места в Heap, поскольку разные строковые переменные указывают на одну и ту же переменную в пуле. Если бы строка была изменяемой, то интернирование строк не было бы возможным, потому что изменение значения одной переменной отразилось бы также и на остальных переменных, ссылающихся на эту строку. • Если строка будет изменяемой, тогда это станет серьезной угрозой безопасности приложения. Например, имя пользователя базы данных и пароль передаются строкой для получения соединения с базой данных и в программировании сокетов реквизиты хоста и порта передаются строкой. Так как строка неизменяемая, её значение не может быть изменено, в противном случае злоумышленник может изменить значение ссылки и вызвать проблемы в безопасности приложения. • Неизменяемость позволяет избежать синхронизации: строки безопасны для многопоточности и один экземпляр строки может быть совместно использован различными потоками. • Строки используются classloader и неизменность обеспечивает правильность загрузки класса. • Поскольку строка неизменяемая, её hashCode() кэшируется в момент создания и нет необходимости рассчитывать его снова. Это делает строку отличным кандидатом для ключа в HashMap т.к. его обработка происходит быстрее.
  • Библиотека джависта

    #вопросы_с_собеседований Как поделиться данными между двумя потоками? Данными между потоками возможно делиться, используя общий объект или параллельные структуры данных, например BlockingQueue.
  • Библиотека джависта

    #вопросы_с_собеседований Когда в приложении может быть выброшено исключение ClassCastException? ClassCastException (потомок RuntimeException) - исключение, которое будет выброшено при ошибке приведения типа.