Список вопросов и ответов на собеседование Java Junior (продолжение).

Сериализация.

  • Что такое сериализация?
  • Как исключить поля из сериализации?
  • transient что значит?
  • Как изменить стандартное поведение сериализации/десериализации?
  • Вы создали класс, чей суперкласс сериализуемый, но при этом вы не хотите чтобы ваш класс был сериализуемым, как остановить сериализацию?
  • Как создать собственный протокол сериализации?
  • Какая роль поля serialVersionUID в сериализации?
  • В чем проблема сериализации Singleton-ов?

Перейти к ответам ►►


  • Что такое JDBC?
  • Этапы работы с базой данных с использованием JDBC?
  • Как создать Connection?
  • Чем отличается Statement от PreparedStatement?
  • Как вызвать хранимую процедуру?
  • Как правильно закрыть Connection?
  • Какие есть уровни изоляции транзакций?
  • Какие есть типов чтения транзакций?

Перейти к ответам ►►


  • Что такое сервлет?
  • Какова структура веб-проекта?
  • Что такое контейнер сервлетов? Жизненный цикл сервлета.
  • Каковы задачи, функциональность контейнера сервлетов?
  • Чем отличается sendRedirect() от forward()?
  • Что вы знаете о сервлет фильтрах?
  • Зачем нужны слушатели в сервлетах?
  • Как обработать исключения, выброшенные другим сервлетом в приложении?
  • Что такое дескриптор развертывания?
  • Как реализовать запуск сервлета с запуском приложения?
  • Что представляет собой объект ServletConfig?
  • Что представляет собой объект ServletContext?
  • В чем отличия ServletContext и ServletConfig?
  • Интерфейс ServletResponse.
  • Интерфейс ServletRequest.
  • Что такое Request Dispatcher?
  • Как можно создать блокировку (deadlock) в сервлете?
  • Как получить адрес сервлета на сервере?
  • Как получить информацию о сервере из сервлета?
  • Как получить ip адрес клиента на сервере?
  • Что вы знаете о классах обертках (wrapper) для сервлетов?
  • Каков жизненный цикл сервлета и когда какие методы вызываются?
  • Какие методы необходимо определить при создании сервлетов?
  • В каком случае вы будете переопределять метод service()?
  • Есть ли смысл определить конструктор для сервлета, как лучше инициализировать данные?
  • В чем отличия GenericServlet и HttpServlet?
  • Как вызвать из сервлета другой сервлет этого же и другого приложения?
  • Стоит ли волноваться о “многопоточной безопасности” работая с сервлетами?
  • Какой метод HTTP не является неизменяемым?
  • Какие есть методы отправки данных с клиента на сервер? Чем они отличаются?
  • Методы сервлета (обычно имеется ввиду HttpServlet).
  • Почему HttpServlet класс объявлен как абстрактный?
  • В чем разница между методами GET и POST?
  • Назовите преимущества Servlet над CGI?
  • Каковы наиболее распространенные задачи выполняются в Servlet контейнере?
  • В чем разница между PrintWriter и ServletOutputStream?
  • Можем ли мы получить PrintWriter и ServletOutputStream одновременно в сервлете?
  • Расскажите об интерфейсе SingleThreadModel.
  • Какие существуют атрибуты у сервлетов и какая сфера их применения?
  • Почему необходимо переопределить только init() метод без аргументов?
  • Что означает URL encoding? Зачем нужны методы encode() и decode()?
  • Зачем нужны и чем отличаются методы encodeUrl() и encodeRedirectUrl()?
  • Какие различные методы управления сессией в сервлетах вы знаете?
  • Что означает URL Rewriting?
  • Что такое Cookie?
  • Как применяются Cookies в сервлетах?
  • Как уведомить объект в сессии, что сессия недействительна или закончилась?
  • Какой существует эффективный способ удостоверится, что все сервлеты доступны только для пользователя с валидной сессией?
  • Как мы можем обеспечить transport layer security для нашего веб приложения?
  • Как организовать подключение к базе данных и обеспечить логирование log4j в сервлете?
  • Какие особенности Servlet 3?
  • Каковы различные способы аутентификации сервлета?
  • Что такое Java Server Pages (JSP)?
  • Опишите, как обрабатываются JSP страницы, начиная от запроса к серверу, заканчивая ответом пользователю.
  • Расскажите об этапах (фазах) жизненного цикла jsp.
  • Расскажите о методах жизненного цикла jsp.
  • Какие методы жизненного цикла JSP могут быть переопределены?
  • Как можно предотвратить прямой доступ к JSP странице из браузера?
  • Какая разница между динамическим и статическим содержимым JSP?
  • Как закомментировать код в jsp?
  • Какие основные теги в JSP?
  • Какие типы EL операторов вы знаете?
  • Взаимодействие JSP - сервлет - JSP.
  • Что такое сессия?
  • Какие скоупы переменных существуют в JSP?
  • Какие неявные, внутренние объекты и методы есть на jsp странице?
  • Почему неявные объекты не доступны в обычной JSP странице?
  • Что вы знаете о PageContext и какие преимущества его использования?
  • Как сконфигурировать init параметры для JSP?
  • Почему не рекомендуется использовать скриптовые элементы в jsp?
  • Чем отличается <c:import> от <jsp:include> и директиви <%@include %>? 
  • Что вы знаете о jsp тегах? Объясните как вы понимаете Action tag и JSP Action Elements.
  • Что такое JSTL (Jsp Standard tag library)?
  • Из каких групп тегов состоит библиотека JSTL?
  • Какая разница между тегом <c:set> и <jsp:useBean>?
  • Назовите неявные, внутренние объекты JSP EL и их отличия от объектов jsp.
  • Как узнать имя http метода используя JSP EL?
  • Что вы знаете о написании пользовательских jsp тегов?
  • Приведите пример использования собственных тегов.
  • Почему не нужно конфигурировать стандартные JSP теги в web.xml?
  • Как можно обработать ошибки jsp страниц?
  • Как происходит обработка ошибок с помощью jstl?
  • Приведите пример конфигурации JSP в дескрипторе развертывания.
  • Как деактивировать использование EL на JSP?
  • Можно ли использовать javascript на jsp странице?
  • Всегда ли создается объект сессии на jsp странице, можно ли отключить его создание?
  • Какая разница между JspWriter и Servlet PrintWriter?
  • Как можно расширить функциональность jsp?

Перейти к ответам ►►


Базы данных.

  • Что такое База Данных?
  • Модель данных в реляционных СУБД?
  • Что такое нормализация?
  • Какие есть типы связей в базе данных. Приведите пример.
  • Что такое primary key (первичный ключ)?
  • Что такое foreign key (внешний ключ)?
  • Что такое индексы в базе данных? Для чего их используют? Чем они хороши и чем плохи?
  • Какие есть типы индекса?
  • Что такое SQL?
  • Какие есть типы JOIN'ов. Кратко опишите каждый из типов.
  • Что такое LEFT JOIN, RIGHT JOIN? Чем они отличаются?
  • Для чего используется слово HAVING?
  • Что такое DDL?
  • Что такое DML?
  • Что такое TCL?
  • Что такое DCL?
  • Какой общий синтаксис команди SELECT?
  • Про NULL в SQL.
  • Если вы собираетесь соединить несколько таблиц в запросе (например, n таблиц), сколько условий соединения вам нужно использовать?
  • Какое практическое применение временных таблиц?
  • Как оператор GROUP BY обрабатывает значение NULL? Ли это общем трактовке таких значений?
  • В чем разница между COUNT (*) и COUNT (столбец)?
  • В чем разница между операторами DISTINCT и GROUP BY?
  • Есть таблица table1 с колонками id и datetime написать запрос который вернет максимальное значение id и значение даты для этого id.
  • Для чего нужны операторы UNION, INTERSECT, EXCEPT?
  • Что лучше использовать соединение или подзапросы?
  • Что делает функция EXISTS?
  • Использование оператора PIVOT.
  • Опишите разницу типов данных DATETIME и TIMESTAMP.
  • Для каких числовых типов недопустимо использовать операцию сложения (вычитания), а значит и функцию SUM()?
  • Что такое хранимые процедуры?
  • Функции ранжирования что это и какие существует?
  • Может ли значение в столбце(ах), на который наложено ограничение foreign key, равняться null?
  • Назовите основные свойства транзакции.
  • Как удалить повторяющиеся строки с использованием ключевого слова Distinct?
  • Когда полное сканирование таблицы выгоднее доступа по индексу? Опишите вкратце общие принципы, как оптимизатор выбирает производить ли полное сканирование таблицы или доступ по индексу.
  • Имеет ли смысл индексировать поля таблицы, имеющих тип boolean или подобные им - с небольшим количеством возможных значений?
  • Что такое агрегатная функция? Приведите примеры агрегатных функций в SQL.
  • Дайте определение третьей нормальной форме БД.
  • Что такое денормализация БД? Для чего она нужна?
  • Что такое триггер?
  • Что такое курсоры в базах данных?
  • Какие компромиссы предлагает использование индексов?
  • Что делает SQL операция MERGE?
  • В чем различие между выражениями HAVING и WHERE?
  • Что такое целостность данных? Объясните, что такое ограничения.
  • В чем отличие между кластерными индексами и некластерными?
  • Какие отличия между ограничениями primary и unique?

Перейти к ответам ►►


Тестирование. JUNIT.

  • Чем стаб (stub) отличается от мока (mock)?
  • Что такое unit testing?
  • Что такое Фикстуры?
  • Какие есть аннотации фикстур?
  • Для чего нужна Аннотация @Ignore?
  • Что такое интеграционные тесты?

Перейти к ответам ►►


Log4j.

  • Из чего состоит логгер?
  • Какие есть уровни сообщении в log4j?
  • Что такое Appender?
  • Какие основные аппендеры Log4j?
  • Что такое Layout?
  • Что такое UML?
  • Что такое Нотации и метамодель в UML?
  • Какие есть типы диаграмм?
  • Какие отношение обобщения реализуется при наследовании классов.

XML.

  • Что такое XML? 
  • Как определяется корректность XML-документа?
  • Чем well-formed XML отличается от valid?
  • Что такое пространство имен?
  • Что такое простые типы в XSD?
  • Что такое сложныетипы в XSD?
  • Какие элементы и атрибуты XSD Вы знаете? Кратко опишите их.
  • Какие существуют XML парсеры? 
  • Что такое XPath?
  • Что такое XQuery?
  • Каким парсером можно сделать изменения в XML структуре и сохранить в файл?
  • Кратко опишите DOM, SAX, StAX анализаторы.
  • Когда следует использовать DOM, а когда - SAX, StAX анализаторы?
  • Недостатки XML DTD перед XML Schema
  • XML Schema - промышленный стандарт описания XML-документов
  • Что такое XSLT?
  • Что такое маршаллизация и демаршализация?
  • Что такое JAXP?
  • Назовите основные пакеты JAXP.
  • Что такое JAXB?

Перейти к ответам ►►


Design patterns.

  • Что такое шаблоны проектирования?
  • Из каких элементов состоит шаблон?
  • Какие есть типы шаблонов?
  • Назовите порождающие шаблоны, и кратко опишите их.
  • Назовите шаблоны поведения, и кратко опишите их.
  • Назовите структурные шаблоны, и кратко опишите их.
  • Какие антишаблоны вы знаете?
  • Что такое OOAD?
  • Что такое OOD?
  • Что такое OOA?
  • Что такое DRY principles?
  • Что такое KISS?
  • Что такое YAGNI?
  • Что такое Yoda conditions?
  • Что такое CRC cards?
  • Что такое SOLID?
  • Что такое Single responsibility principle?
  • Что такое Open/closed principle?
  • Что такое Liskov substitution principle?
  • Что такое Interface segregation principle?
  • Что такое Dependency inversion principle?
  • Что такое GRASP?
  • Кратко опишите шаблоны GRAPS

Перейти к ответам ►►


Основы HTML.

  • Что такое HTML?
  • Что такое DOCTYPE и зачем он нужен?
  • Чем отличается div от span?
  • Как обозначаются комментарии в HTML?
  • Как задать адрес документа, на который следует перейти?
  • Как сделать сcылку на имейл?
  • Что делают теги <em></em> ?
  • Что такое <ol></ol>, <ul></ul> и <li></li> ?
  • Что пишут в теге HEAD?
  • Зачем нужны теги <dl>,<dt>,<dd>?
  • Зачем нужны теги <tr>, <th>, <td> ?
  • В каком регистре лучше писать HTML-код?
  • Обязательно ли писать alt в <img>?
  • Что такое entities?

Перейти к ответам ►►


Основы CSS.

    • Что такое CSS?
    • В чем разница между записью #my и .my?
    • В чем разница между margin и padding?
    • Почему таблицы стилей CSS называются каскадными?
    • Что такое альтернативная таблица стилей?
    • Какая разница между значениями 0 и auto в свойстве margin?
    • Для чего применяются свойства border-position и border-all?
    • Какое свойство задает цвет фона?
    • Как в CSS обозначаются комментарии?
    • Как задать красный цвет для всех элементов, имеющих класс red?
    • Как убрать подчеркивание для всех ссылок на странице?
    • Как сделать жирным текст во всех элементах <p>?
    • Что делает свойство clear?

    Перейти к ответам ►►


    Основы WEB.

    • Что такое www?
    • Что такое w3c?
    • Что такое URI?
    • Что такое URL?
    • Что такое URN?
    • Что такое интернет протокол IP?
    • Что такое протокол управления ТСР?
    • Что такое TCP/IP?
    • Что такое FTP?
    • Что такое UDP?
    • Чем отличаются HTTP и HTTPS?
    • Что такое протокол передачи данных, какие вы знаете?
    • Что такое web server?
    • Что такое web приложение?
    • Что такое application server?
    • Чем отличаются web server и application server?
    • Чем отличаются методы get и post?
    • Что такое MIME type?
    • Дайте определение понятиям “авторизация” и “аутентификация”, в чем их различия?
    • Что такое Ajax? Как принципиально устроена эта технология?
    • Что такое JSON?
    • Что такое JSON Schema?
    • Какие есть уровни модели OSI?
    • Что такое  websocket?

    Рассказать друзьям:

    11 коментарі :

    1. Этот комментарий был удален автором.

      ОтветитьУдалить
    2. Нифига, так до фига вопросов. Java Junior. Да если это всё знать, то Middle как минимум))

      ОтветитьУдалить
    3. На самом деле, сейчас на позицию джуна джавы, если вы устраиваетесь не в шарашкину контору, необходимо знать практически все из этого списка, желательно еще пару популярных фреймворков типо Spring и Maven.

      ОтветитьУдалить
      Ответы
      1. Ага, а еще уметь писать код без рук и иметь опыт работы 6 лет, что-бы поступить в ваши "не шаражкины конторки" работать) Нет спасибо

        Удалить
      2. А в чем проблема? Тут не так что бы и много весго приведено, а знание всего этого практически гарантированно даст вам работу. Конечно же, искать её стоит начинать гораздо раньше освоения последнего элемента этого списка, ведь всегда есть вероятность того, что что-то у вас не спрося, а что-то может и не надо на конкретную позицию.
        Самое главное, так это то, что вы потом с легкостью сможете развиваться дальше и не сидеть джуном в одной яме несколько лет, ибо не забывайте, что в ИТ хороше зарабатывают все, кроме джунов.

        Удалить
    4. Спасибо большое!!!

      ОтветитьУдалить
    5. Спасибо за проделанную работу!

      ОтветитьУдалить