Тестовые задания по Java

Здесь собраны реальные тестовые задания, которые дают соискателям на стажировках и junior-позициях. Эти задания помогут лучше подготовиться к отбору, потренироваться и пополнить портфолио

стэк>
Компания>
Сложность>

Haulmont • Высокая сложность

difficulty stars

Тестовое задание по Java от компании Haulmont

StudentDatabase Тестовое задание от Haulmont Тестовое задание Данное тестовое задание должно в результате содержать работающую программу, удовлетворяющую всем нижеописанным требованиям, и качественный исходный код. Постарайтесь создать грамотную композицию классов и форматировать код в соответствии со стандартами Java. Описание задачи Релизовать систему ввода и отображения информации о студентах института, включающую следующие сущности и их атрибуты: Студент ◦ Имя ◦ Фамилия ◦ Отчество ◦ Дата рождения ◦ Группа Группа ◦ Номер ◦ Название факультета Система должна иметь следующие функции: Отображение списка групп Добавление новой группы, редактирование и удаление существующей Отображение списка студентов Фильтрация списка студентов по фамилии и по номеру группы Добавление нового студента, редактирование и удаление существующего Требования к реализации Используемые технологии: Java 6 SE Пользовательский интерфейс на Swing Доступ к данным через JDBC Сервер баз данных: любая встроенная Java-RDBMS, например H2, HSQLDB, Derby. Требования к пользовательскому интерфейсу: Экраны системы: ◦ Список групп – таблица, кнопки «Добавить», «Изменить», «Удалить» ◦ Редактирование группы — поля ввода атрибутов, кнопки «ОК», «Отменить» ◦ Список студентов с фильтром - таблица, кнопки «Добавить», «Изменить», «Удалить», фильтр с полями «Фамилия», «Номер группы» ◦ Редактирование студента - поля ввода атрибутов, кнопки «ОК», «Отменить» Экраны редактирования должны быть модальными Другие требования: Код доступа к данным должен быть изолирован в классах DAO Каждая таблица должна иметь первичный ключ типа Long Система должна иметь защиту на уровне БД от удаления группы, содержащей студентов Готовое приложение должно содержать: ◦ Каталог с исходными текстами, классами и используемыми библиотеками ◦ SQL-скрипт создания таблиц в базе данных ◦ Командный файл, запускающий приложение вместе со встроенной базой данных При реализации системы запрещается использовать визуальные дизайнеры интерфейса для Swing

KazanExpress • Лёгкая сложность

difficulty stars

Тестовое задание по Java от компании KazanExpress

Тестовое задание на Android разработку Тут находится описание тестового задания для кандидатов на Android-разработку в команду KazanExpress. Задача Нужно реализовать простое приложение, которое помогает пользователю найти интересующий его коктейль. Работать данное приложение должно с TheCocktailDb API. Есть три уровня сложности: [Easy] - для претендующих на позицию Junior Android Dev [Medium] - для претендующих на позицию Middle Android Dev [Hard] - для претендующих на позицию Senior Android Dev Требования к задаче Ниже будут описаны требования для выполнения задачи к каждому из уровней сложности. Уровни Medium и Hard подразумевают собой выполнение предыдущего уровня сложности. Easy На начальном уровне сложности главной задачей приложения будет отрисовка экрана с информацией о коктейле. Для получения рандомного коктейля во время загрузки приложения можно использовать данный GET запрос. Требования: У приложения должны быть онбординги, на них можно отобразить любую информацию о приложении; При запуске приложения на старте показываем индикатор прогресса на время ожидания ответа с сервера (по желанию можно добавить splash screen до экрана загрузки на свой вкус); На странице коктейля должно быть отображено: фото коктейля, название, id, категория, тип коктейля, тип стакана для сервировки; Статус бар должен быть прозрачным, а изображение коктейля "лежать" под статус баром; Картинки коктейлей нужно подгружать асинхронно (на время загрузки показываьб индикатор прогресса); Также дополнительно должен быть раздел "Ингридиенты", который появляется при скролле страницы товара; Должна быть кнопка "Добавить в избранное" в виде иконки сердечка. При клике на иконку нужно менять ее состояние (полезная работа не выполняется, просто меняем состояние иконки - например, закрашиваем); Через Pull-to-Refresh (Swipe-to-Refresh) отображать новый коктейль (повторно запросить рандомный и отрисовать); Нужно уметь обрабатывать ошибки сети. При возникновении ошибки выводить кнопку Retry, при клике на которую приложение пытается загрузить новый коктейль и отобразить его. Medium Нужно реализовать все, что было перечислено в Easy, но помимо этого: Сделать стартовый экран приложения с поисковой строкой и миниатюрными "карточками" уже посещённых коктейлей; Позволить пользователю с помощью поисковой строки находить коктейли. В случае, если запрос на поиск по названию коктейля вернул результат, переходить на страницу первого элемента из списка. Если же запрос ничего не вернул - показывать соответствующий toast с информацией; Добавить на страницу коктейля кнопку "Назад", которая возвращала бы на главный экран. Hard Нужно реализовать все, что было перечислено в Medium, но помимо этого: Сделать навигационное меню с пунктами "Главная", "Категории" и "Избранное"; Функционал главной страницы оставить по аналогии с уровнем сложности Medium; На странице "Категории" отобразить список категорий коктейлей; При клике на любой элемент из списка категорий, отображать экран с каталогом миниатюрных "карточек" коктейлей из соответствующей категории; Все картинки коктейлей на миниатюрах должны асинхронно подгружаться; Каталог "карточек" должен появиться как только все данные по карточкам подгрузятся. Во время ожидания подгрузки нужно отображать скелетоны карточек; Со страницы коктейля кнопка "Назад" должна отправлять пользователя на последний активный Activity. Правила сдачи задания Нужно будет создать Pull Request с ваши решением в данный репозиторий, а также отправить apk-файл на почту kevin@kazanexpress.ru. Сроки - Easy и Medium - 7 дней, Hard - 14 дней. P.S. Приятный визуал приветствуется. Особое внимание будет уделено чистоте кода.

Web строитель • Лёгкая сложность

difficulty stars

Тестовое задание по Java от компании Web строитель

Задание 1 Разработать Rest Api c Spring Hateoas для To-do листа с регистрацией пользователей: Регистрации нового пользователя Авторизация пользователя Возможность добавления, просмотра, изменения, удаления задачи в to-do list Возможность создания задач с прикрепленными файлами. Файлы хранить в приватном бакете Yandex.Cloud. При просмотре задач в json'е возвращать временные ссылки на файл. Хранить временные ссылки до истечения срока действия. Используемый стек: Spring Boot 2, Spring Data, Spring Hateoas, Spring Security, PostgreSQL, Maven, AWS S3 v2 для работы с Object Storage. Плюсом будет использование микросервисной архитектуры. Приложить файл Postman с запросами на rest-сервис.

Ecwid • Средняя сложность

difficulty stars

Тестовое задание по Java от компании Ecwid

SQL query parser In SQL, the most syntactically complex and tricky query is probably the SELECT query. It has explicit and implicit joins, groupings, subqueries, sorting and truncation of selects - all this beauty can occur repeatedly even in one single select query. For example, like this: ```sql SELECT * FROM book ``` or like this: ```sql SELECT author.name, count(book.id), sum(book.cost) FROM author LEFT JOIN book ON (author.id = book.author_id) GROUP BY author.name HAVING COUNT(*) > 1 AND SUM(book.cost) > 500 LIMIT 10; ``` Please write a parser for an arbitrary SELECT query, representing it as a class of approximately this structure: ```java class Query { private List<String> columns; private List<Source> fromSources; private List<Join> joins; private List<WhereClause> whereClauses; private List<String> groupByColumns; private List<Sort> sortColumns; private Integer limit; private Integer offset; } ``` The structure of this class is not a requirement, but a guide to action :) If you have invented a class that reflects the SQL query structure better than the one given here - feel free to use your solution. What constructs the parser must support in a mandatory way: - Enumeration of sample fields explicitly (with aliases) or * - Implicit join of several tables (select * from A,B,C) - Explicit join of tables (inner, left, right, full join) - Filter conditions (where a = 1 and b > 100) - Subqueries (select * from (select * from A) a_alias) - Grouping by one or several fields (group by) - Sorting by one or more fields (order by) - Selection truncation (limit, offset) What can be ignored: - Complementing selections (union and union all) - CTE - Window functions Some details: - The assignment should be done in Kotlin or Java (version 21 or higher). - The assignment must have a working main() method, to demonstrate how it works - If you have any questions, feel free to write to join-ecom@lightspeedhq.com. - The completed assignment should be posted on GitHub

Получите доступ более чем к 500 тестовых заданий
Сервис можно использовать бесплатно,
без ограничений. Чтобы получить полный доступ,
вам необходимо зарегистрироваться.
где найти тестовые задания для практики
пример тестового задания junior
тестовые задания для junior java
практические задачи по java
решение тестового задания java