1. Какие разновидности Java бывают?
2. Можно ли взаимодействовать в Java с СУБД с помощью JDBC и через Hibernate - в чем разница?
3. Основные фреймворки и области их применения. Веб разработка на Java (особенности, соотв. технологии и т.д.)?
4. Нужно ли Java-разработчику нужно знать основы Javascript?
5.Чем отличается сервер приложений JBoss от остальных, правильно я понимаю, что в качестве контейнера сервлетов JBoss использует Tomcat, почему?
6.EJB используется для поддержки серверных компонентов, содержащих бизнес-логику, что это значит? В чем специфика “бизнес-логики” и где это нужно?
7. Если технически не подкованный заказчик передает слова руководителя тех. отдела “разработчик должен знать только стандартный пакет средств для Java, ничего специфичного”, это имеет какой -то смысл? Есть какой-то “стандартный пакет” и если да, то что в него включается?
2. Мы создали проект, который поможет прокачать навыки в
IT-рекрутменте.
| Обучаем практике |
| Даем инструменты |
| Выдаем сертификаты |
О проекте Антишкола
5. Вопросы по Java
1. Какие разновидности Java бывают?
2. Можно ли взаимодействовать в Java с СУБД с помощью JDBC и через Hibernate - в чем
разница?
3. Основные фреймворки и области их применения. Веб разработка на Java (особенности,
соотв. технологии и т.д.)?
4. Нужно ли Java-разработчику нужно знать основы Javascript?
5.Чем отличается сервер приложений JBoss от остальных, правильно я понимаю, что в
качестве контейнера сервлетов JBoss использует Tomcat, почему?
6.EJB используется для поддержки серверных компонентов, содержащих бизнес-логику, что это
значит? В чем специфика “бизнес-логики” и где это нужно?
7. Если технически не подкованный заказчик передает слова руководителя тех. отдела
“разработчик должен знать только стандартный пакет средств для Java, ничего специфичного”,
это имеет какой -то смысл? Есть какой-то “стандартный пакет” и если да, то что в него
включается?
7. О докладчике
Опыт работы:
С 2006 года в сфере ИТ.
С 2008 года в компании «Интегратор ИТ» (дочернее общество ПАО
«Мосэнергосбыт») в должности программиста/ведущего программиста.
С 2013 года начальник отдела программирования в «Интегратор ИТ».
Основные проекты, в которых принималось участие:
Личный кабинет клиента физического лица (включая мобильные
приложения);
Личный кабинет клиента юридического лица
CRM система (несколько версий)
Биллинг физических и юридических лиц
И многие другие.
9. История возникновения Java
• Джеймс Гослинг, компания Sun, создатель языка Java.
• 1991 год рождения Java.
Задача. Найти оптимальный способ для программирования различных бытовых устройств с
разными центральными процессами и разными архитектурами построения. Язык должен
быть компактным и чрезвычайно надежным.
Решение. Появился язык «Oak» (перевод «Дуб»), впоследствии переименованный в Java.
• 1991 – 1994 года. Активное использование Java для встроенных микрокомпьютерных
модулей бытовой техники, в видеомагнитофонах, тостерах, а также для PDA (personal data
assistants).
• 1994 – 1995 года. Рынок интерактивного телевидения и PDA падает. Бурный рост
Internet. Java переориентируется на веб технологии, появляется браузер HotJava.
• 1996 год. Компания Sun выпускает первую версию языка Java. С этого момента
начинается бурное развитие языка программирования Java.
14. Объектно-ориентированный подход
Java – объектно-ориентированный язык программирования.
Программист Java обязан знать объектно-ориентированный
подход при разработке приложений.
Объектно-ориентированное программирование (ООП) —
методология программирования, основанная на представлении
программы в виде совокупности объектов, каждый из которых
является экземпляром определенного класса, а классы образуют
иерархию наследования.
Основные принципы ООП: Инкапсуляция, Полиморфизм,
Наследование.
Паттерны (шаблоны) программирования – независимая от
конкретного языка стратегия решения проблемы при разработке
средствами ООП.
15. Взаимодействие с БД через JDBC
JDBC Driver
MySQL
JDBC Driver
Oracle
JDBC Driver
PostgreSQL
JDBC Driver
MS SQL Server
JDBC Driver Manager
JDBC API
Java Application
• JDBC - это платформенно-
независимая технология, позволяющая
из программы на Java получить доступ к
любой SQL-совместимой базе данных.
• JDBC API - набор классов и
интерфейсов, определяющих Java –
ориентированный доступ к базам
данных.
• JDBC Driver Manger – отвечает за
подключение Java приложения к
нужному драйверу
• JDBC Driver – специфические для
каждой БД драйвер
Программист для каждой БД пишет
свой специфичный SQL код (native sql
query), напрямую обращается к
таблицам и другим объектам
выбранной БД (т.е. работает в
терминах выбранной СУБД)
16. Взаимодействие с БД через ORM
Java Application
ORM (Hibernate)
• Java Persistence API (JPA) – спецификация
API Java EE, позволяющая сохранять java
объекты в базе данных. JPA реализует
концепцию ORM.
• Object Relational Mapping (ORM) –
подход, позволяющий работать с БД в
терминах объектов, создавая некоторый
промежуточный между БД и приложением
слой «виртуальной объектной БД».
• Hibernate – java библиотека,
реализующая спецификацию JPA и
относящая к классу ORM.
Hibernate освобождает программиста от
необходимости обращаться к объектам БД
(таблицам, полям) напрямую.
Программист работает с java объектами, а
Hibernate осуществляет их отображение в
нужную БД и берет на себя специфику
каждой БД. Программист может и не
знать языка SQL.
17. Архитектура Enterprise Java приложений
Слой уровня данных (база данных)
Компоненты доступа к данным ( JDBC, Hibernate)
Слой доступа к данным
Бизнес правила программной системы
Слой бизнес логики
Компоненты пользовательского интерфейса
Презентационный слой
18. Что такое бизнес логика?
Бизнес-логика – это автоматизируемая человеческая деятельность в рассматриваемой предметной области
(правила, принципы поведения объектов), которая реализуется в программной системе.
• Бизнес-логика — это реализация предметной области в информационной системе.
К ней относятся, например, формулы расчёта ежемесячных выплат по ссудам
(в финансовой индустрии), автоматизированная отправка сообщений электронной
почты руководителю проекта по окончании выполнения частей задания всеми
подчиненными (в системах управления проектами), отказ от отеля при отмене
рейса авиакомпанией (в туристическом бизнесе) и т. д.
• В разработке ПО бизнес-логикой могут называться и программные модули,
которые ее реализуют.
• EJB (Enterprise JavaBeans) – одна из технологий для реализации бизнес-логики в Java, определяющая
набор серверных компонент для многократного использования.
19. Что такое Фреймворк?
Фреймворк (framework) в переводе с английского означает каркас
(структура).
Фреймворк – программная платформа, которая задает структуру
программной системы и правила (архитектуру) ее построения.
Фреймворк – не библиотека.
Фреймворк – двигатель системы.
Библиотека – программная компонента предоставляющая набор функций
для решения конкретной задачи.
Веб-фреймворк – фреймворк, применяемый в веб-приложениях для построения пользовательских веб-
интерфейсов или взаимодействии по сети.
24. Сервера приложений
Сервер приложений – это программная платформа, предназначенная для эффективного исполнения процедур
(программ, скриптов), на которых построены приложения.
Java EE сервер приложений – это сервер приложений, реализующий Java EE API спецификацию (JPA, EJB, JMS и т.п.)
Сервлет – компонент (интерфейс Java), обрабатывающий клиентский запрос и работающий по принципу запрос-
ответ.
Контейнер сервлетов – сервер, занимающийся поддержкой сервлетов и обеспечивает их жизненный цикл по
правилам спецификации. Может интегрироваться в Java EE сервер приложений.
25. Веб сервисы на JAVA
SOAP – протокол обмена структурированными сообщениями в
распределённой вычислительной среде. Используется для обмена
сообщениями в формате XML.
WSDL – язык описания веб-сервисов, основанный XML.
REST архитектура – архитектурный стиль (не протокол) обмена
данными. Чаще всего обмен данными осуществляется в формате JSON.
SOAP более применим в сложных архитектурах, где взаимодействие
с объектами выходит за рамки теории CRUD (создать, прочесть, обновить, удалить), а вот в тех приложениях, которые
не покидают рамки данной теории, вполне применимым может оказаться именно REST ввиду своей простоты и
прозрачности.
26. Структура собеседования
Общие вопросы кандидату по опыту работы. Цель понять адекватность человека,
реальный опыт в проектах.
Беседа по техническим проектам из опыта работы. Каким образом выполнялись
задачи, почему именно такое техническое решение выбиралось, как строился
процесс работы в компании, какие технологии и инструменты применялись и т.п.
Техническое собеседование
а) Java. Темы, начиная от JSE и заканчивая JEE в разрезе используемых у нас
технологий.
б) Oracle. Вопросы по базам данных.
Информация о компании и ответы на вопросы кандидата.