18 найкращих запитань і відповідей на інтерв’ю Nginx (2025)

Ось питання та відповіді на співбесіді з Nginx для новачків, а також для досвідчених кандидатів у розробники, щоб отримати роботу своєї мрії.


1) Поясніть, що таке Nginx?

Nginx — це веб-сервер і зворотний проксі-сервер для протоколів HTTP, HTTPS, SMTP, POP3 і IMAP.

Безкоштовне завантаження у форматі PDF: запитання для інтерв’ю Nginx


2) Згадайте деякі особливості Nginx?

Спеціальні функції сервера Nginx включають

  • Зворотний проксі/балансувальник навантаження L7
  • Вбудований інтерпретатор Perl
  • Бінарне оновлення на льоту
  • Корисно для перезапису URL-адрес і чудової підтримки PCRE

3) Згадайте, яка різниця між Nginx і Apache?

Nginx Apache
  • Nginx — це веб-сервер на основі подій
  • Усі запити обробляються одним потоком.
  • Nginx уникає ідеї дочірніх процесів.
  • Nginx нагадує швидкість
  • Nginx кращий, коли йдеться про споживання пам’яті та з’єднання
  • Nginx є кращим, якщо вам потрібна балансування навантаження
  • Для PHP краще використовувати Nginx, оскільки він внутрішньо підтримує PHP
  • Nginx не підтримує такі ОС, як IBMi та OpenVMS.
  • Nginx поставляється лише з основними функціями
  • Продуктивність і масштабованість Nginx не залежать від обладнання
  •  Apache — це сервер на основі процесів
  • Один потік обробляє один запит.
  • Apache заснований на дочірніх процесах
  • Apache нагадує потужність
  • Apache не на належному рівні, коли йдеться про споживання пам’яті та з’єднання
  • Apache відмовлятиметься в нових підключеннях, коли трафік досягне ліміту процесів
  • Apache підтримує PHP, Python, Perl та інші мови за допомогою плагінів. Це корисно, коли програма заснована на Python або Ruby
  • Apache підтримує набагато більший діапазон ОС
  • Apache надає набагато більше функцій, ніж Nginx
  • Apache залежить від апаратних компонентів, таких як процесор і пам’ять

4) Поясніть, як Nginx може обробляти HTTP-запити?

Nginx використовує шаблон реактора. Основний цикл подій очікує на OS щоб повідомити про подію готовності - таку, що дані доступні для читання з сокета, у цьому випадку вони зчитуються в буфер і обробляються. Один потік може обслуговувати десятки тисяч одночасних підключень.


5) Як у Nginx можна запобігти обробці запитів із невизначеними іменами серверів?

Сервер, який просто відкидає запити, можна визначити як  

Server {

listen                80;

server_name  " " ;

return              444;

}

Тут ім’я сервера зберігається як порожній рядок, який відповідатиме запиту без поля заголовка «Host», і повертається спеціальний нестандартний код Nginx 444, який розриває з’єднання.

Питання для співбесіди Nginx
Питання для співбесіди Nginx

6) У чому перевага використання «зворотного проксі-сервера»?

Зворотний проксі-сервер може приховати присутність і характеристики вихідного сервера. Він діє як проміжна ланка між інтернет-хмарою та веб-сервером. Це добре з міркувань безпеки, особливо коли ви використовуєте послуги веб-хостингу.


7) Згадайте, як найкраще використовувати сервер Nginx?

Найкраще використовувати сервер Nginx для розгортання динамічного HTTP-контенту в мережі за допомогою SCGI, серверів додатків WSGI, обробників FastCGI для сценаріїв. Він також може служити балансиром навантаження.


8) Згадайте, що таке головний і робочий процеси на сервері Nginx?

  • Головні процеси: Він читає, а також оцінює конфігурацію та підтримує робочі процеси.
  • Робочі процеси: Він фактично виконує обробку запитів.
Питання для співбесіди Nginx
Питання для співбесіди Nginx

9) Поясніть, як можна запустити Nginx через порт, відмінний від 80?

Щоб запустити Nginx через інший порт, вам потрібно перейти до /etc/Nginx/sites-enabled/, і якщо це файл за замовчуванням, то вам потрібно відкрити файл під назвою «default». Відредагуйте файл і введіть потрібний порт Like server { listen 81; }


10) Поясніть, чи можна замінити помилки Nginx, такі як помилка 502, на помилку 503?

  • 502= Поганий шлюз
  • 503= Сервер перевантажений

Так, це можливо, але ви повинні переконатися в цьому fastcgi_intercept_errors встановлено на ON, і використовуйте директиву сторінки помилки.  

Location / {

fastcgi_pass 127.0.01:9001;

fastcgi_intercept_errors on;

error_page 502 =503/error_page.html;

#...

}

11) Поясніть, як у Nginx зберегти подвійну косу риску в URL-адресах?

Щоб зберегти подвійні косі риски в URL-адресах, ви повинні використовувати merge_slashes_off; Синтаксис: merge_slashes [увімкнено вимкнено] За замовчуванням: merge_slashes у контексті: http, сервер


12) Поясніть, для чого використовується ngx_http_upstream_module?

Модуль ngx_http_upstream_module використовується для визначення груп серверів, які можуть посилатися за допомогою директив fastcgi pass, proxy pass, uwsgi pass, memcached pass і scgi pass.


13) Поясніть, що таке проблема C10K?

Проблема C10K стосується мережевого сокета, який не може обслуговувати велику кількість клієнтів (10,000 XNUMX) одночасно.


14) Згадайте, яке використання директив stub_status і sub_filter?

  • Директива Stub_status: ця директива використовується для визначення поточного статусу Nginx, як-от поточне активне з’єднання, загальна кількість прийнятих з’єднань і оброблена поточна кількість з’єднань для читання/запису/очікування
  • Директива sub_filter: Він використовується для пошуку та заміни вмісту у відповідь, а також для швидкого виправлення застарілих даних

15) Поясніть, чи підтримка Nginx стискає запит до висхідного потоку?

Ви можете стиснути запит до апстріму за допомогою модуля Nginx gunzip. Модуль gunzip — це фільтр, який розпаковує відповіді за допомогою «Кодування вмісту: gzip» для клієнтів або серверів, які не підтримують метод кодування «gzip».


16) Поясніть, як можна отримати поточний час у Nginx?

Щоб отримати поточний час у Nginx, вам потрібно використовувати змінні з модуля SSI, $date_gmt і $date_local.

  • Proxy_set_header ЧАС $date_gmt;

17) Поясніть, яка мета –s на сервері Nginx?

Для запуску виконуваного файлу Nginx використовується параметр –s.


18) Поясніть, як додавати модулі на сервер Nginx?

Під час процесу компіляції необхідно вибрати модулі Nginx, оскільки такий вибір модулів під час виконання не підтримується Nginx.

Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)

Поділитись

4 Коментарі

  1. Аватара Вену Гопал Чоудхарі каже:

    Я помітив неправильне твердження у вашій статті.

    8) Згадайте, що таке головний і робочий процеси на сервері Nginx?

    Будь ласка, оновіть його.
    Головний процес підтримує конфігурацію, а робітники виконують процес.

    1. Аватара Guru99 каже:

      Є певне непорозуміння, відповідь передбачає те саме.

    2. Аватара бібху бал каже:

      правильно, будь ласка, оновіть його. Головний процес підтримує конфігурацію та читання, а також контролює та обслуговує воркер, де як воркер виконує процес.

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *