Проверка на нечетность
Можно ли использовать этот код с примера 1 на картинке для точного определения нечетного числа?
Надеюсь, вы заметили хитрость. Если мы решим таким образом проверить отрицательное нечетное число (например, -5), остаток от деления не будет равен единице, поэтому воспользуйтесь более точным методом (пример 2).
Он не только решает проблему отрицательных чисел, но и работает более производительно, чем предыдущий метод. Арифметические и логические операции выполняются намного быстрее, чем умножение и деление.
Можно ли использовать этот код с примера 1 на картинке для точного определения нечетного числа?
Надеюсь, вы заметили хитрость. Если мы решим таким образом проверить отрицательное нечетное число (например, -5), остаток от деления не будет равен единице, поэтому воспользуйтесь более точным методом (пример 2).
Он не только решает проблему отрицательных чисел, но и работает более производительно, чем предыдущий метод. Арифметические и логические операции выполняются намного быстрее, чем умножение и деление.
#вопросы_с_собеседований
Чем интеграционное тестирование отличается от модульного?
С технологической точки зрения интеграционное тестирование является количественным развитием модульного, поскольку так же, как и модульное тестирование, оперирует интерфейсами модулей и подсистем и требует создания тестового окружения, включая заглушки на месте отсутствующих модулей. Основная разница между модульным и интеграционным тестированием состоит в целях, то есть в типах обнаруживаемых дефектов, которые, в свою очередь, определяют стратегию выбора входных данных и методов анализа.
Допустим, есть класс, который при определенных условиях взаимодействует с
• реальный класс, работающий с
• заглушку, то это будет тестирование состояния.
• шпиона, а в конце теста проверить, что определенный метод зависимого объекта действительно был вызван, то это будет тест взаимодействия.
Чем интеграционное тестирование отличается от модульного?
С технологической точки зрения интеграционное тестирование является количественным развитием модульного, поскольку так же, как и модульное тестирование, оперирует интерфейсами модулей и подсистем и требует создания тестового окружения, включая заглушки на месте отсутствующих модулей. Основная разница между модульным и интеграционным тестированием состоит в целях, то есть в типах обнаруживаемых дефектов, которые, в свою очередь, определяют стратегию выбора входных данных и методов анализа.
Допустим, есть класс, который при определенных условиях взаимодействует с
web-сервисом
через зависимый объект. И нам надо проверить, что определенный метод зависимого объекта действительно вызывается. Если в качестве зависимого класса передать:• реальный класс, работающий с
web-сервисом
, то это будет интеграционное тестирование.• заглушку, то это будет тестирование состояния.
• шпиона, а в конце теста проверить, что определенный метод зависимого объекта действительно был вызван, то это будет тест взаимодействия.
#вопросы_с_собеседований
Из каких частей стоит JDBC?
•
•
Из каких частей стоит JDBC?
JDBC
состоит из двух частей:•
JDBC API
, который содержит набор классов и интерфейсов, определяющих доступ к базам данных. Эти классы и методы объявлены в двух пакетах - java.sql
и javax.sql
;•
JDBC-драйвер
, компонент, специфичный для каждой базы данных.JDBC
превращает вызовы уровня API
в «родные» команды того или иного сервера баз данных.Forwarded from Just Join IT | Вакансії в ІТ для українців
Ищешь работу в #Java удаленно?
Внизу подборка вакансий с зарплатными вилками в этой категории.👇🏻
Ещё больше вакансий найдёшь здесь: https://bit.ly/3qussMQ. ✨
🌍 Java/React Dev/ Hitachi Energy: 9-15K: https://bit.ly/34fTKyP
🌍 Salesforce Dev/ Awesome Bytes: 6-10K: https://bit.ly/3g4Vrlo
🌍 Java Dev/ CPL Jobs: 10-16K: https://bit.ly/3g37gsq
🌍 Senior Java Dev/ apreel: 26.5-31.7K: https://bit.ly/3r7UQGc
🌍 Lead Java Dev/ ITFS: 25.2-29.4K: https://bit.ly/3r7URtK
🌍 Java Dev/ BinarApps: 10-18K: https://bit.ly/3H7nnAZ
🌍 Java Sr Dev/ Bitcoin Techn: 30-45K: https://bit.ly/31hBzI3
🌍 Remote scala developer/ Lendi: 12-20K: https://bit.ly/32Anvdg
🌍 Java Dev/ Andersen: 12-18K: https://bit.ly/3IMyhwH
🌍 Fullstack Dev/ Klika Tech: 12-22.5K: https://bit.ly/3ACnHVX
🌍 Java Sr Dev/ Bitcoin Techn: 30-45K: https://bit.ly/3I8nwVO
🌍 Java Dev/ IN Team: 11.8-18.5K: https://bit.ly/3KR3yjA
🌍 SrJava/KotlinDev/ Merixstudio: 15.5-22K: https://bit.ly/3obdhZ5
🌍 Java Dev/ AI Investments: 25-29K: https://bit.ly/3g0brFx
Внизу подборка вакансий с зарплатными вилками в этой категории.👇🏻
Ещё больше вакансий найдёшь здесь: https://bit.ly/3qussMQ. ✨
🌍 Java/React Dev/ Hitachi Energy: 9-15K: https://bit.ly/34fTKyP
🌍 Salesforce Dev/ Awesome Bytes: 6-10K: https://bit.ly/3g4Vrlo
🌍 Java Dev/ CPL Jobs: 10-16K: https://bit.ly/3g37gsq
🌍 Senior Java Dev/ apreel: 26.5-31.7K: https://bit.ly/3r7UQGc
🌍 Lead Java Dev/ ITFS: 25.2-29.4K: https://bit.ly/3r7URtK
🌍 Java Dev/ BinarApps: 10-18K: https://bit.ly/3H7nnAZ
🌍 Java Sr Dev/ Bitcoin Techn: 30-45K: https://bit.ly/31hBzI3
🌍 Remote scala developer/ Lendi: 12-20K: https://bit.ly/32Anvdg
🌍 Java Dev/ Andersen: 12-18K: https://bit.ly/3IMyhwH
🌍 Fullstack Dev/ Klika Tech: 12-22.5K: https://bit.ly/3ACnHVX
🌍 Java Sr Dev/ Bitcoin Techn: 30-45K: https://bit.ly/3I8nwVO
🌍 Java Dev/ IN Team: 11.8-18.5K: https://bit.ly/3KR3yjA
🌍 SrJava/KotlinDev/ Merixstudio: 15.5-22K: https://bit.ly/3obdhZ5
🌍 Java Dev/ AI Investments: 25-29K: https://bit.ly/3g0brFx
#вопросы_с_собеседований
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
✔️Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
✔️Для создания объекта статического вложенного класса объект внешнего класса не требуется.
✔️Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
✔️Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
✔️В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статического такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
✔️Для создания объекта статического вложенного класса объект внешнего класса не требуется.
✔️Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
✔️Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
✔️В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статического такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
#вопросы_с_собеседований
Назовите основные классы потоков ввода/вывода.
Назовите основные классы потоков ввода/вывода.
Привет! Ищем Java/Kotlin-разработчиков в Почтатех. Детали тут.
Почтатех — ИТ-подразделение Почты России. Разрабатываем сложные цифровые продукты Почты и помогаем ей стать быстрее и технологичнее. Сейчас Почтатех развивает более 100 продуктов как для сотрудников Почты, так и для жителей всей страны.
Ждем от тебя опыт работы с:
Java/Kotlin
Spring Boot
Maven/Gradle
Реляционная БД (у нас PostgreSQL)
Git (у нас GitLab)
Интеграционное и юнит-тестирование
Будет плюсом опыт работы с:
Swagger-контракт
Нотация UML
Микросервисная архитектура
Контейнеризация Docker
Кластер Kubernetes
Предлагаем гибкий график/удаленную работу, конкурентную зарплату и годовую премию, ДМС со стоматологией после трех месяцев работы в компании. А еще проводим регулярные демо-дни и развиваем внутренние ИТ-сообщества.
Почтатех — ИТ-подразделение Почты России. Разрабатываем сложные цифровые продукты Почты и помогаем ей стать быстрее и технологичнее. Сейчас Почтатех развивает более 100 продуктов как для сотрудников Почты, так и для жителей всей страны.
Ждем от тебя опыт работы с:
Java/Kotlin
Spring Boot
Maven/Gradle
Реляционная БД (у нас PostgreSQL)
Git (у нас GitLab)
Интеграционное и юнит-тестирование
Будет плюсом опыт работы с:
Swagger-контракт
Нотация UML
Микросервисная архитектура
Контейнеризация Docker
Кластер Kubernetes
Предлагаем гибкий график/удаленную работу, конкурентную зарплату и годовую премию, ДМС со стоматологией после трех месяцев работы в компании. А еще проводим регулярные демо-дни и развиваем внутренние ИТ-сообщества.
Вакансия: Java разработчик (middle+/senior)
Компания: INEX
Город: Москва
Формат работы: удаленка
Занятость: полная
ЗП: 250 000-300 000 рублей
Наша компания занимается разработкой ПО более 20 лет. Разрабатываем программное обеспечение HL/HA систем массового обслуживания.
Есть большой заказчик - РЖД.
Компания живая, процессы выстроены. Постоянно что-то меняется-улучшается📈
Сейчас ищем в команду ведущего java-разработчика
Обязанности:
• разработка ПО с использованием языка программирования Java и Java-технологий, web-разработка; участие в проектировании структуры БД;
• участие в работах по технической поддержке и развитию высоконагруженного web-портала:
• участие в согласовании архитектуры;
• анализ дефектов и фича-реквестов;
• оценка длительности модификации;
• внесение изменений в исходные коды;
• обновление продуктивной системы.
Требования:
• Java 8, 11 spring, jdbc;
• умение разбираться в чужом коде;
• знание SQL (Oracle/Postgresql);
• Jetty/Tomcat/Docker;
• общее понимание kubernetes
Условия:
• «белая» заработная плата по результатам собеседования;
• Agile/Kanban, командная работа;
• пятидневная рабочая неделя (10-19, возможно +/- час), оплачиваемый отпуск 31 календарный день
Контакты: @ok_OlgaK https://hh.ru/vacancy/51939587
Компания: INEX
Город: Москва
Формат работы: удаленка
Занятость: полная
ЗП: 250 000-300 000 рублей
Наша компания занимается разработкой ПО более 20 лет. Разрабатываем программное обеспечение HL/HA систем массового обслуживания.
Есть большой заказчик - РЖД.
Компания живая, процессы выстроены. Постоянно что-то меняется-улучшается📈
Сейчас ищем в команду ведущего java-разработчика
Обязанности:
• разработка ПО с использованием языка программирования Java и Java-технологий, web-разработка; участие в проектировании структуры БД;
• участие в работах по технической поддержке и развитию высоконагруженного web-портала:
• участие в согласовании архитектуры;
• анализ дефектов и фича-реквестов;
• оценка длительности модификации;
• внесение изменений в исходные коды;
• обновление продуктивной системы.
Требования:
• Java 8, 11 spring, jdbc;
• умение разбираться в чужом коде;
• знание SQL (Oracle/Postgresql);
• Jetty/Tomcat/Docker;
• общее понимание kubernetes
Условия:
• «белая» заработная плата по результатам собеседования;
• Agile/Kanban, командная работа;
• пятидневная рабочая неделя (10-19, возможно +/- час), оплачиваемый отпуск 31 календарный день
Контакты: @ok_OlgaK https://hh.ru/vacancy/51939587
hh.ru
Вакансия Программист Java в Москве, работа в компании ИнЭкс (вакансия в архиве c 2 марта 2022)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 02.03.2022.
Библиотека джависта | Java, Spring, Maven, Hibernate pinned «Вакансия: Java разработчик (middle+/senior) Компания: INEX Город: Москва Формат работы: удаленка Занятость: полная ЗП: 250 000-300 000…»
🧩 5 интересных головоломок и задач, чтобы отвлечься от рутины и немного пошевелить извилинами (выпуск 15)
В нашей еженедельной подборке мы подготовили 5 новых интересных алгоритмических, логических и математических задачек для отдыха и прокачки мозгов.
https://proglib.io/sh/ak1X027h5f
В нашей еженедельной подборке мы подготовили 5 новых интересных алгоритмических, логических и математических задачек для отдыха и прокачки мозгов.
https://proglib.io/sh/ak1X027h5f
Курс автоматизатор на Java.
Клёвые новости для всех, кто хочет стартануть в этой профессии — ребята из школы автоматизации QA.GURU проводят бесплатное вводное занятие 2-го февраля в 20:00 МСК
Почему надо сходить:
— Разработаем ваш первый (или не первый) автотест на поиск в Google
—Расскажут о рынке QA🔥 Кто, кому, за что и сколько платит?
— Покажут боевой проект с полной инфраструктурой.
— Дадут домашнее задание и проверят его.
Занятие бесплатное — для участия вступайте в чат @qa_guru_chat — ссылка на занятие будет там.
Клёвые новости для всех, кто хочет стартануть в этой профессии — ребята из школы автоматизации QA.GURU проводят бесплатное вводное занятие 2-го февраля в 20:00 МСК
Почему надо сходить:
— Разработаем ваш первый (или не первый) автотест на поиск в Google
—Расскажут о рынке QA🔥 Кто, кому, за что и сколько платит?
— Покажут боевой проект с полной инфраструктурой.
— Дадут домашнее задание и проверят его.
Занятие бесплатное — для участия вступайте в чат @qa_guru_chat — ссылка на занятие будет там.
#вопросы_с_собеседований
Опишите основные этапы работы с базой данных при использовании JDBC.
Опишите основные этапы работы с базой данных при использовании JDBC.
☕️ Регистрация драйверов;
☕️ Установление соединения с базой данных;
☕️ Создание запроса(ов) к базе данных;
☕️ Выполнение запроса(ов) к базе данных;
☕️ Обработка результата(ов);
☕️ Закрытие соединения с базой данных.
☕️ Установление соединения с базой данных;
☕️ Создание запроса(ов) к базе данных;
☕️ Выполнение запроса(ов) к базе данных;
☕️ Обработка результата(ов);
☕️ Закрытие соединения с базой данных.
#вопросы_с_собеседований
Что такое UML?
Отличительной особенностью
Что такое UML?
UML
– это унифицированный графический язык моделирования для описания, визуализации, проектирования и документирования объектно-ориентированных систем. UML
призван поддерживать процесс моделирования на основе объектно-ориентированного подхода, организовывать взаимосвязь концептуальных и программных понятий, отражать проблемы масштабирования сложных систем.Отличительной особенностью
UML
является то, что словарь этого языка образуют графические элементы. Каждому графическому символу соответствует конкретная семантика, поэтому модель, созданная одним человеком, может однозначно быть понята другим человеком или программным средством, интерпретирующим UML
. Отсюда, в частности, следует, что модель системы, представленная на UML
, может автоматически быть переведена на объектно-ориентированный язык программирования, то есть, при наличии хорошего инструментального средства визуального моделирования, поддерживающего UML
, построив модель, мы получим и заготовку программного кода, соответствующего этой модели.#вопросы_с_собеседований
Что вы знаете о Языке выражений JSP (JSP Expression Language – EL)?
Что вы знаете о Языке выражений JSP (JSP Expression Language – EL)?
This media is not supported in your browser
VIEW IN TELEGRAM
Освойте бэкенд-разработку на Java за 10 месяцев!
Профессия для тех, кто настроен серьезно: https://bit.ly/32zyTpZ
Научим:
✔️Писать код на Java, использовать фреймворки Javalin, Spring
✔️Применять принципы ООП, работать с базами данным, SQL
✔️Настраивать окружение: IDEA, Gradle/Maven, JDK
✔️Пользоваться командной строкой и Git
Поможем:
✔️Наработать практику — вы сделаете 5 проектов на GitHub
✔️Грамотно оформить резюме
✔️Подготовиться к собеседованиям
А еще порекомендуем в хорошие компании и познакомим с сообществом из 26 тысяч айтишников. Присоединяйтесь!
Профессия для тех, кто настроен серьезно: https://bit.ly/32zyTpZ
Научим:
✔️Писать код на Java, использовать фреймворки Javalin, Spring
✔️Применять принципы ООП, работать с базами данным, SQL
✔️Настраивать окружение: IDEA, Gradle/Maven, JDK
✔️Пользоваться командной строкой и Git
Поможем:
✔️Наработать практику — вы сделаете 5 проектов на GitHub
✔️Грамотно оформить резюме
✔️Подготовиться к собеседованиям
А еще порекомендуем в хорошие компании и познакомим с сообществом из 26 тысяч айтишников. Присоединяйтесь!
JSP Expression Language (EL) — скриптовый язык выражений, который позволяет получить доступ к Java компонентам (JavaBeans) из JSP. Начиная с JSP 2.0 используется внутри JSP тегов для отделения Java кода от JSP для обеспечения лёгкого доступа к Java компонентам, уменьшая при этом количество кода Java в JSP-страницах, или даже полностью исключая его.
Развитие EL происходило с целью сделать его более простым для дизайнеров, которые имеют минимальные познания в языке программирования Java. До появления языка выражений, JSP имел несколько специальных тегов таких как скриптлеты (англ.), выражения и т. п. которые позволяли записывать Java код непосредственно на странице. С использованием языка выражений веб-дизайнер должен знать только то, как организовать вызов соответствующих java-методов.
Язык выражений JSP 2.0 включает:
☕️ Создание и изменение переменных.
☕️ Управление потоком выполнения программы: ветвление, выполнение различных типов итераций и т.д.
☕️ Упрощенное обращение к встроенным JSP-объектам.
☕️ Возможность создавать собственные функции.
Язык выражений используется внутри конструкции ${ ... }. Подобная конструкция может размещаться либо отдельно, либо в правой части выражения установки атрибута тега.
Развитие EL происходило с целью сделать его более простым для дизайнеров, которые имеют минимальные познания в языке программирования Java. До появления языка выражений, JSP имел несколько специальных тегов таких как скриптлеты (англ.), выражения и т. п. которые позволяли записывать Java код непосредственно на странице. С использованием языка выражений веб-дизайнер должен знать только то, как организовать вызов соответствующих java-методов.
Язык выражений JSP 2.0 включает:
☕️ Создание и изменение переменных.
☕️ Управление потоком выполнения программы: ветвление, выполнение различных типов итераций и т.д.
☕️ Упрощенное обращение к встроенным JSP-объектам.
☕️ Возможность создавать собственные функции.
Язык выражений используется внутри конструкции ${ ... }. Подобная конструкция может размещаться либо отдельно, либо в правой части выражения установки атрибута тега.
#вопросы_с_собеседований
Что такое «нормализация»?
Нормализация - это процесс преобразования отношений базы данных к виду, отвечающему нормальным формам (пошаговый, обратимый процесс замены исходной схемы другой схемой, в которой наборы данных имеют более простую и логичную структуру).
Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
Что такое «нормализация»?
Нормализация - это процесс преобразования отношений базы данных к виду, отвечающему нормальным формам (пошаговый, обратимый процесс замены исходной схемы другой схемой, в которой наборы данных имеют более простую и логичную структуру).
Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
#вопросы_с_собеседований
В чём заключается различие между методами submit() и execute() у пула потоков?
Оба метода являются способами подачи задачи в пул потоков, но между ними есть небольшая разница.
В чём заключается различие между методами submit() и execute() у пула потоков?
Оба метода являются способами подачи задачи в пул потоков, но между ними есть небольшая разница.
execute(Runnable command)
определён в интерфейсе Executor
и выполняет поданную задачу и ничего не возвращает.submit()
– перегруженный метод, определённый в интерфейсе ExecutorService
. Способен принимать задачи типов Runnable
и Callable
и возвращать объект Future
, который можно использовать для контроля и управления процессом выполнения, получения его результата.