30 top servlet interview questions
Найпоширеніші запитання та відповіді на інтерв’ю для сервлетів, які допоможуть вам у підготовці до інтерв’ю:
Ця серія запитань про сервлет проведе вас через будь-яке інтерв’ю із сервлетом.
Він включає все про те, що таке сервлет, чому сервлет з’явився у фотографії, життєвий цикл сервлету та його методи, навантаження при запуску, файл WAR, дескриптор розгортання, а також його функцію та файл привітання та його значення.
Ми також дізнаємося, як працює сервлет, співпраця сервлетів, конфігурація сервлету, контекст сервлету, відстеження сесій та методи та переваги, події, фільтр, його принцип роботи та важливість.
Інтерв'юер завжди очікує у вашій відповіді декількох прикладів у реальному часі, які виявляються корисними в інтерв'ю. Отже, якщо ви ретельно пройдете всі ці питання і якщо зможете пояснити це своїми словами, тоді ви зможете пройти співбесіду.
Найкращі запитання щодо інтерв’ю для сервлетів
Ось короткий перелік деяких важливих питань, висвітлених у цій статті:
- Що таке сервлет?
- Типи сервлета
- Життєвий цикл сервлета
- Методи життєвого циклу сервлета
- Як працює сервлет?
- Файл WAR та його використання?
- Що таке навантаження при запуску та його значення?
- Що таке дескриптор розгортання?
- Процедура співпраці з сервлетами
- Що таке RequestDispatcher?
- Що таке метод SendRedirect та його використання?
- Про конфігурацію сервлетів та контекст сервлетів
- Про відстеження сеансів та його методи
- Файли cookie, приховані поля форми, URL-адреса тощо
- Про події
- Що таке фільтр і типи фільтрів?
Почнемо з детальних відповідей.
Q # 1) Що ви маєте на увазі під сервлетом?
Відповідь: Сервлет - це потужний механізм, який використовується для створення веб-додатків.
Він зайнятий на стороні сервера і допомагає генерувати динамічні веб-сторінки, в основному він виступає посередником між вхідним HTTP-запитом від браузера та бази даних.
Сервлет заснований на мові Java, отже, він надійний і називається мовою програмування на стороні сервера.
Наведена діаграма пояснює потік Сервлета.
Запит надходить з веб-сторінки в сервлет, сервлет перенаправляє запит на відповідну сторінку JSP, і сторінка JSP надсилає відповідь як сторінку результатів, яку бачить користувач.
Рекомендована література = >> Запитання щодо інтерв’ю JSP
Q # 2) Що таке CGI та які його недоліки?
Відповідь: CGI розшифровується як Common Gateway Interface, що являє собою набір кодів, записаних на стороні сервера, який використовується для взаємодії через веб-сервер з клієнтом, що працює на веб-сервері.
Він приймає вхідний запит і для кожного нового запиту запускає новий процес.
Недоліки загального інтерфейсу шлюзу:
- Оскільки він створює новий процес для кожного вхідного запиту, якщо кількість вхідних запитів більше, тоді згенерована відповідь буде дуже повільною, що, в свою чергу, знижує ефективність.
- CGI залежить від платформи.
Q # 3) Які переваги Servlet перед CGI?
Підручник з Visual Studio Team Foundation Server 2015
Відповідь: Переваги сервлету такі:
- Сервлет створює потік для кожного вхідного запиту, а не обробляє, отже, це швидше.
- Сервлет не залежить від платформи, оскільки заснований на мові програмування Java.
- Оскільки він заснований на Java, він також надійний і безпечний.
Q # 4) Як сервлет реалізований у коді?
Відповідь: Сервлет можна реалізувати в коді, просто розширивши клас Httpservlet або загальний сервлет.
Q # 5) Яка різниця між сервлетом Http та загальним сервлетом?
Відповідь: Загальний сервлет може обробляти всі типи запитів. Оскільки він має метод service (), він незалежний, тоді як Http Servlet розширює загальний сервлет і підтримує такі методи HTTP, як doGet (), doPost (), doHead (), doTrace () тощо.
Q # 6) Які методи життєвого циклу Сервлета?
Відповідь: В основному існує три методи життєвого циклу сервлета.
Це:
- В цьому ()
- Послуга ()
- Знищити ()
Q # 7) Поясніть життєвий цикл сервлету.
Відповідь: Життєвий цикл сервлета пояснюється з посиланням на діаграму нижче.
- Спочатку клас Servlet завантажується відповідно до запиту, отриманого від Клієнта.
- Потім створюється новий екземпляр або об’єкт сервлета. Створюється лише один об’єкт для кожного життєвого циклу.
- Потім викликається метод Init (), який використовується для ініціалізації сервлета.
Синтаксис: public void Init ()
- Метод Service () викликається кожного разу, коли надходить новий запит на виконання будь-яких операцій.
Синтаксис: державна служба недійсних ()
- Потім для виконання операції очищення викликається метод знищення.
Синтаксис: знищити ()
Діаграма потоку сервлетів
Q # 8) Що таке веб-контейнер і яка його відповідальність?
Відповідь: Веб-контейнер також називається контейнером сервлетів і використовується для взаємодії з сервлетом і містить у ньому всі файли сервлета, JSP, XML. Веб-контейнер управляє життєвим циклом сервлета та допомагає зіставити URL-адресу з певним сервлетом. Веб-контейнер створює об'єкт сервлета.
Q # 9) Чим метод Get () відрізняється від методу Post ()?
Відповідь: Причини, чому метод Get () є кращим за метод Post (), наведені нижче.
Метод Get ():
приклад для абстрактного інтерфейсу в Java
- Тут можна надіслати певний обсяг даних або інформації, оскільки дані надсилаються через заголовок.
- У методі Get () дані не захищені, оскільки вони відображаються в рядку URL-адреси для користувача.
- Метод Get () можна додати в закладки.
- Як правило, метод get () є більш ефективним і застосовується у порівнянні з методом post ().
Метод Post ():
- Тут величезна кількість даних або інформації може бути передана, оскільки дані передаються через тіло.
- Оскільки дані методу Post () надсилаються через тіло, вони захищені.
- Метод Post () не можна додати в закладки.
- Як правило, метод Post () менш ефективний і не часто використовується.
Q # 10) Що таке цикл чи ланцюжок сервлетів?
Відповідь: Цикл сервлетів - це процес, при якому вихід одного сервлета видається як вхід для іншого сервлета, а останній вихід сервлета розглядається як фактичний результат, який надається клієнту.
Цей процес досягається за допомогою інтерфейсу диспетчера запитів.
Q # 11) Як два-три сервлети будуть взаємодіяти або спілкуватися між собою?
Відповідь: Є два процеси, в яких сервлети можуть спілкуватися між собою.
- Інтерфейс запиту диспетчера
- Ланцюжок сервлетів
Q # 12) Поясніть диспетчер запитів та його методи.
Відповідь: Диспетчер запитів створює об’єкт, який відповідає за отримання запитів від браузера або клієнта, а потім спрямовує їх до будь-яких ресурсів, таких як сервлети, JSP або HTML, що знаходиться на стороні сервера.
В основному існує два методи відправлення запитів:
а) Метод Forward ():
- У методі Forward () клієнт надсилає запит Servlet1.
- Сервлет1 обробляє запит, а потім пересилає запит Сервлету2.
- Сервлет2 обробляє запит і генерує відповідь, яка в свою чергу надсилається клієнту як остаточна відповідь.
б) Метод Include ():
- У методі Include () клієнт надсилає запит Servlet1.
- Сервлет1 обробляє запит, а потім включає його та відправляє запит Сервлету2.
- Сервлет2 обробляє запит і знову відправляє його назад Сервлету1 і
- Servlet1 генерує відповідь, яка, у свою чергу, надсилається клієнту як остаточна відповідь.
Q # 13) Для чого використовується метод Send Redirect ()?
Відповідь: Метод Send Redirect (), який працює на стороні клієнта, використовується для перенаправлення відповіді на інший ресурс, такий як Servlet, JSP, HTML.
Синтаксис: void send Redirect (URL);
Приклад: response.sendredirect (“http://www.google.com”);
Q # 14) Чим метод Forward () відрізняється від методу Send Redirect ()?
Відповідь:
Метод Forward ():
- Він використовується для надсилання точно такого ж запиту на інший ресурс.
- Він працює на стороні сервера всередині сервера.
Надіслати метод перенаправлення ():
- Він завжди надсилає новий запит до ресурсів, оскільки використовує URL-адресу.
- Він працює на стороні клієнта як зовні, так і всередині сервера.
Питання 15) Поясніть файл WAR?
Відповідь: Файл WAR в основному називається веб-архівованим файлом, який містить усі файли вашої програми, такі як XML, сервлети, JSP, HTML, файли конфігурації, об'єднані в один файл, так що розгортання програми буде простим і простим.
Для розгортання бажано використовувати файл WAR.
Q # 16) Що ви маєте на увазі під контекстом сервлетів?
Відповідь: Контекст сервлета в основному називають об'єктом, який має інформацію щодо програми та веб-контейнера. За допомогою контексту сервлетів ми можемо реєструвати події, отримувати URL-адресу певного ресурсу та легко зберігати атрибути для використання інших сервлетів.
Основна перевага Сервлета полягає в тому, що його легко підтримувати та виконувати роль посередника між контейнером та Сервлетом.
Нижче наведено кілька важливих методів контексту сервлету:
- getInitParameter () - повернути значення параметра.
- getInitParameterNames () - повертає ім'я параметра.
- void setAttribute () - використовується для встановлення значень атрибутів.
- void getAttribute () - використовується для отримання значень атрибутів.
- void removeAttribute () - використовується для видалення атрибута.
Q # 17) Які саме функції Servlet?
Відповідь: Сервлети виконують такі функції:
- По-перше, сервлети отримують запит HTTP, який надсилається з боку клієнта.
- Зчитує запит і витягує дані із запиту.
- Після вилучення інформації сервлети виконують операцію ділової логіки, отримуючи доступ до бази даних або викликаючи EJB.
- Нарешті, він генерує відповідь і надсилає її клієнту у формі HTTP або надсилає відповідь на сторінку JSP.
Питання # 18) Що ви маєте на увазі під дескриптором розгортання?
Відповідь: Кажуть, що WEB.XML є дескриптором розгортання в сервлеті.
Це точка входу для будь-якої програми та має список файлів привітання. Він визначає ресурси, інформацію про те, який сервлет буде використовуватися, та відображає сервлет за URL-адресою.
Q # 19) Поясніть відстеження сесії та її важливість?
Відповідь: Відстеження сеансів - це процес, при якому дані клієнта або користувача можуть зберігатися.
Як і кожного разу, коли новий запит надходить на сервер, сервер не може розпізнати, що новий запит надходить від того самого клієнта, щоб уникнути цієї проблеми використовується техніка відстеження сеансів.
Відстеження сеансів відіграє важливу роль для розпізнавання клієнта або запиту.
Q # 20) Які різні методи відстеження сесій?
Відповідь:
Існує чотири типи методів, які наведені нижче:
а) Печиво: Файли cookie - це невелика інформація, яка додається до декількох запитів клієнтів.
Приклад: Один запит надходить на сервер, сервер додає кілька файлів cookie з відповіддю, тепер, коли знову той самий клієнт надсилає запит на сервер, сервер розпізнає користувача.
b) Поле прихованої форми: Тут ми використовуємо приховане текстове поле для підтримання стану користувача.
в) Переписування URL-адреси: Тут ми даємо додаткове посилання для відображення наступного сервлета.
г) Http сесія: Тут генерується конкретний ідентифікатор для кожного користувача, тому сервер може розпізнати користувача.
Q # 21) Що таке події сервлету?
Відповідь: Події - це не що інше, як випадки. Навіть зміна стану об’єкта - це теж подія.
Класи подій та інтерфейс такі:
- Класи: ServletRequestEvent, ServletContextEvent, HttpSessionEvent тощо.
- Інтерфейси: ServletRequestListner, ServletContextListner, HttpSessionListner тощо.
Q # 22) Що ви маєте на увазі під фільтром і як він працює?
Відповідь: Фільтр в основному використовується для фільтрації речей.
Подібним чином фільтр у сервлеті - це об'єкт, який вводиться під час попередньої обробки запиту та подальшої обробки запиту. Його основні функції включають перетворення, шифрування та розшифрування значень, перевірку введення даних для збору IP-адреси та збереження всіх вхідних запитів.
Фільтр визначено в web.xml, і його можна видалити з web.xml, так що немає необхідності змінювати сервлет, що призводить до зменшення витрат.
Схема роботи фільтра сервлетів
Q # 23) Поясніть навантаження на пуск та його значення?
Відповідь: Завантаження під час запуску - це елемент, визначений у web.xml (дескриптор розгортання), який допомагає сервлету завантажуватися під час розгортання під час перезавантаження сервера.
Причиною використання навантаження при запуску є те, що сервлет завантажується за першим отриманим запитом, тому спочатку потрібно більше часу, щоб завантажити результуючу знижену ефективність, якщо ми визначимо, що позика при запуску навантаження сервлет під час перезапуску сервера, що підвищує ефективність.
Навантаження при запуску також працює на двох значеннях:
програмне забезпечення для розробки додатків для Android
- Позитивні (0,1,2,3….): Спочатку буде завантажено найменше позитивне значення.
- Негативні: Сервлет буде завантажений, коли отримано перший запит.
Q # 24) Чи синхронізований сервлет?
Відповідь: Ні, сервлети не синхронізовані. Якщо ми хочемо зробити сервлет синхронізованим, ми повинні реалізувати SingleThreadInterface.
Q # 25) Що ви маєте на увазі під Scope Object та які є його типи?
Відповідь: Об’єкти сфери допомагають обмінюватися інформацією між веб-компонентами за допомогою setattribute () та getattribute ().
Типи об'єктів сфери:
- Веб-контекст
- Сесія
- Запит
- Сторінка
Q # 26) До чого відноситься термін Локалізація?
Відповідь: Локалізація в основному стосується місцевої традиції або мови, якої дотримується користувач. Отже, ми додаємо ресурси або елементи до певного веб-сайту, як-от додавання мови хінді, щоб кожен користувач міг зрозуміти.
Q # 27) Якщо сервлет отримує кілька запитів, скільки об’єктів він створить?
Відповідь: Сервлет створить лише один екземпляр, незалежно від того, скільки вхідних запитів він отримає.
Q # 28) Яка основна різниця між сервлетом та аплетом?
Відповідь: Основна різниця між сервлетом та аплетом полягає в тому, що сервлет знаходиться на стороні сервера, тоді як аплет - на стороні клієнта у веб-браузері.
Q # 29) Чи можна мати конструктор всередині сервлету?
Відповідь: Так, можна визначити конструктор всередині сервлету, але його можна викликати лише за допомогою контейнера сервлету, а не явно.
Q # 30) Назвіть пакети, які працюють з Servlet?
Відповідь: В основному є два пакети, які працюють з Сервлетом, як показано нижче:
- Javax.servlet
- Javax.servlet.http
Q # 31) Які існують типи HTTP-запитів?
Відповідь: Види HTTP-запиту включають:
- Отримати
- Опублікувати
- Керівник
- Варіанти
- Покласти
- Слід
- Видалити
Q # 32) Яка основна різниця між параметром контексту та атрибутом контексту?
Відповідь: Основна різниця між ними:
Параметр контексту - це значення, яке зберігається в дескрипторі розгортання, тобто web.xml, і завантажується під час процесу розгортання. Тоді як Context Attribute - це значення, які встановлюються динамічно і можуть бути використані у всій програмі.
Q # 33) Який процес ланцюжка сервлетів?
Відповідь: Ланцюжок сервлетів - це дуже простий процес, при якому ми надаємо висновок одного сервлета як вхід для іншого сервлета.
По-перше, ми повинні створити RequestDispatcher для ресурсу, який повинен бути ланцюжком. Тоді ми повинні встановити значення атрибутів для запиту, якщо потрібно. Потім нам потрібно викликати метод forward () або метод include () для об'єкта RequestDispatcher.
Я впевнений, що ви мали б чітке уявлення про те, що таке Сервлет!
Бажаємо всім успіху !!
Рекомендована література
- Запитання та відповіді на інтерв’ю
- Запитання та відповіді на інтерв’ю для тестування ETL
- 30 найкращих запитань та відповідей на інтерв’ю з огірками
- 30 найкращих запитань та відповідей на інтерв’ю SAS
- 30 найкращих запитань та відповідей на тестування безпеки
- 30+ найкращих запитань та відповідей на інтерв’ю у Scrum (СПИСОК 2021)
- 30 найкращих запитань та відповідей на інтерв’ю СУБД
- 30 найважливіших запитань та відповідей на інтерв’ю PL / SQL у 2021 році