Вопросы системному администратору linux

Вопросы linux администратору

Попросили провести собеседование на должность linux администратора в WEB компанию.
Вот думаю, о чем спрашивать-то?
Есть у кого идеи по теме? Посоветуйте, пожалуйста.
Заранее спасибо!

Была вакансия в хостинг-компании NetAngels. Там был такой список:
Компания NetAngels ищет грамотного технического специалиста на должность старшего системного администратора в отдел NOC. В своей работе мы используем Debian GNU/Linux, поэтому мы будем особенно рады специалистам, имеющим опыт работы именно с этим дистрибутивом.

Задачи, которые вам предстоит решать:

— поддержка существующей инфраструктуры нашей хостинговой платформы;
— исследование и внедрение новых технических решений;
— решение сложных задач и вопросов, находящихся выше компетенции службы технической поддержки.

Качества, которые будут полезны при работе в нашей компании:

— понимание функционирования linux-систем, опыт их администрирования;
— понимание принципов функционирования Internet, знакомство с протоколами dns, http, ftp, smtp, pop3, imap;
— некоторые представления о языке C (необходимость заглянуть в код какой-нибудь программы при отсутствии внятной документации не должна стать для вас невыполнимой задачей);
— опыт написания скриптов на sh, виртуозное владение sed и awk;
— технический английский на уровне свободного чтения документации (без постоянного заглядывания в словарь);
— ответственность и готовность быстро принимать решения по возникающим проблемам;
— самостоятельность: исследование возможностей по реализации технических новшеств, умение выбрать подходящий инструмент для решения задачи.
— понимание устройства сетевого стека linux и подсистемы ядра netfilter;
— опыт работы с нетривиальными конфигурациями iptables, iproute2;
— знакомство с протоколами динамической маршрутизации;
— навыки работы с дистрибутивами Debian/Ubuntu (пакетный менеджер, опыт сборки пакетов);
— опыт работы с системами виртуализации;
— навыки диагностики и решения нетривиальных проблем в области сетевых настроек или эксплуатации сервисов, работающих на linux-платформе;
— опыт работы с высоконагруженными сервисами, работающими в режиме 24/7/365;
— знакомство с веб-серверами Apache или nginx;
— опыт настройки почтовой системы на платформе linux;
— знакомство с системами контроля версий (предпочтительно git);
— представления о том, что такое sql query plan, навыки оптимизации каких-либо СУБД под конкретную задачу;
— навыки программирования на Python;

Читайте также:  Linux очистить очередь печати принтера

Ну и сами вопросы:
1. Как узнать, кто из клиентов потребляет больше резидентной памяти в данный момент своими процессами (построить топ по потреблению). Вывод ps (не полный) выглядит так. Всего в ps процессов несколько сотен:
Исходник:
ps axu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
u5867 32518 0.0 0.0 214036 12764? S 21:34 0:00 /usr/bin/php-cgi5.2
u425 32532 1.1 0.0 139736 24556? S 21:34 0:01 /usr/bin/php-cgi5.3
u6363 32535 1.1 0.0 183444 20240? S 21:34 0:01 /usr/bin/php-cgi5.2
u12124 32548 0.2 0.0 174432 28360? S 21:34 0:00 /usr/bin/php-cgi5.2

2. По какому принципу работает программа traceroute?
3. Вам понадобилось выделить подсеть размером в 30 ip-адресов. Можете ли в уме посчитать, какой должна быть маска получившейся сети?
4. Расскажите, что такое Path MTU.
5. Расскажите, что такое TCP Window.
6. Какой тип DNS-записи мы будем использовать при указании того, какой сервер отвечает за приём почты определённого домена?
7. Как выглядит HTTP-запрос для проверки корректности работы настроек веб-сервера для отдачи сжатого контента при его поддержке клиентом (на примере /index.html)?
8. Расскажите, в чём заключаются различия между симлинком и хардлинком.
9. Каким образом в sh/bash можно обработать какой-либо сигнал? Например, по завершении скрипта необходимо удалить временные файлы, созданные в процессе работы, причём выполнить это необходимо даже том случае, если выполнение скрипта было прервано извне. Обработку каких сигналов мы не можем выполнить?
10. Вам необходимо обеспечить максимальную доступность одного сервиса (программы). Расскажите, каким образом можно обеспечить автоматический запуск/перезапуск сервиса в случае его внештатного завершения.
11. Для нового сервера, на котором будут работать базы данных, необходимо подготовить дисковую систему. Пожалуйста, расскажите, чем вы будете руководствоваться при настройке дисков, какие настройки raid будете применять, какой io scheduler?
12. Как посмотреть, с какими параметрами запущено ядро linux?
13. Приходилось ли вам сталкиваться с tun/tap устройствами? В чём заключается их различие?
14. Допустимо ли полностью отключать своп на сервере? Почему?
15. Каким образом можно просмотреть загруженность диска операциями ввода-вывода?
16. На сервере настроены два интерфейса: eth0 и eth1. Используемый по умолчанию шлюз доступен через eth0. Запросы поступают на сервер через оба интерфейса. Каким образом можно настроить использование другого шлюза для отправки ответов на пришедшие через eth1 запросы? Предполагается, что запрос может придти с произвольного ip-адреса.
17. Каким образом вы будете делать бэкап базы MySQL объёмом 10 Гб и использующей хранилище InnoDB? А если хранилище MyISAM?
18. С какими трудностями/проблемами вам приходилось сталкиваться при поддержке репликации в MySQL, если есть такой опыт? Каким образом вы чинили развалившуюся репликацию?

Читайте также:  Linux has no games

19. Предположим, у вас есть какой-то веб-сайт, работающий под LAMP. На этот сайт началась атака типа http-flood. Какие действия Вы бы предприняли для самостоятельной борьбы с этой атакой?
20. Имеется некоторое большое (несколько десятков) количество одинаковых систем, настроенных под одну задачу (хостинг). Каким образом вы будете производить работы по установке нового ПО, обновлению; следить за актуальностью и однотипностью конфигурационных файлов?
21. В каких ситуация целесообразно применять Jumbo Frames?
22. Если вам была бы поставлена задача построить отказоустойчивый кластер для обеспечения работы веб-сайта на LAMP, какие технологии вы для этого использовали и почему?
23. Необходимо запретить доступ к размещенным на сервере сайтам всем клиентам с User-Agent: MegaXakep. Как бы Вы это сделали?
24. В чем отличие между KVM, XEN и OpenVZ. Какие преимущества и недостатки каждой из этих технологий вы знаете?
25. Необходимо ограничить процессы пользователя uXXXX, чтобы они потребляли в сумме не более 512 мб памяти. Как это можно сделать?
26. Какие режимы репликации изменений базы поддерживаются MySQL?
27. В каких случаях на slave-ах может быть необходимо ведение binlog-а?

Источник

Оцените статью
Adblock
detector