Вопросы по линукс для собеседования

Вопросы по линукс для собеседования

Copy raw contents

Copy raw contents

Вопросы для интервью системного администратора Linux/DevOps

Коллекция вопросов для собеседования linux сисадмина/devops. Не стесняйтесь добавлять свои через pull request’ы, issues или сообщением по электронной почте.

  • Что вы узнали за вчера/эту неделю?
  • Расскажите о предпочитаемом окружении разработчика/администратора. (OS, редактор, браузеры, инструменты и т.п.)
  • Расскажите о последнем проекте на Linux, который вы закончили.
  • Расскажите о самой большой неудаче, которую вы допустили [какой-то период времени] и как вы изменились на сегодняшний день. Что вы вынесли из этого опыта?
  • Почему мы должны выбрать вас?
  • Какую роль играет DNS в сети?
  • Что такое HTTP?
  • Что такое HTTP прокси и как он работает?
  • Опишите кратко как работает HTTPS?
  • Что такое SMTP? Расскажите кратко сценарий доставки сообщения через SMTP.
  • Что такое RAID? Что такое RAID0, RAID1, RAID5, RAID10?
  • Что такое резервная копия 0-го уровня? Что такое инкрементальная резервная копия?
  • Опишите иерархию файловой системы в Linux.
  • Какое имя и UID администратора?
  • Как посмотреть все файлы в каталоге, включая скрытые?
  • Какая команда в Unix/Linux удаляет каталог со всем его содержимым?
  • Какая команда в Unix/Linux показывает свободную/используемую память? Существует ли свободная память в Linux?
  • Как найти строку «my konfu is the best» в файлах каталога рекурсивно?
  • Как подключиться к удаленному серверу или что такое SSH?
  • Как получить все переменные окружения и как их можно использовать?
  • Я получил «command not found» при запуске ifconfig -a . Что может быть не так?
  • Что произойдет, если я нажму TAB-TAB?
  • Какая команда показывает доступное свободное пространство на диске в Unix/Linux?
  • Какие команды вы знаете, которые могут быть использованы для проверки DNS записей?
  • Какая команда Unix/Linux используется для изменения владельца файла, прав доступа к файлу?
  • Что делает команда chmod +x FILENAME ?
  • Что означают права 0750 для файла?
  • Что означают права 0750 для каталога?
  • Как добавить пользователя без прав входа в систему?
  • Как добавить/убрать пользователя в/из группы?
  • Что такое bash алиас?
  • Как установить email для пользователя root?
  • Что делает Ctrl+c?
  • Что содержится в файле /etc/services?
  • Как перенаправить STDOUT и STDERR в bash?
  • Какая разница между UNIX и Linux?
  • В чем разница между Telnet и SSH?
  • Объясните три усредненных значения load average и что они означают? Какой командой можно посмотреть load average?
  • Можете назвать букву в нижнем регистре, которая не является валидной опцией для GNU ls ?
  • Что такое модуль ядра Linux?
  • Расскажите по шагам как загрузить систему в однопользовательском режиме для решения проблем.
  • Расскажите по шагам как вы будете решать проблему с ошибкой 404 в веб-приложении, которое вы обслуживаете.
  • Что делают следующие команды и как вы из будете использовать?
  • tee
  • awk
  • tr
  • cut
  • tac
  • curl
  • wget
  • watch
  • head
  • tail
  • Что делает & в конце команды?
  • Что делает & disown в конце команды?
  • Что такое пакетный фильтр и как он работает?
  • Что такое виртуальная память?
  • Что такое swap и для чего он используется?
  • Что такое A-запись, NS-запись, PTR-запись, CNAME-запись, MX-запись?
  • Знаете ли вы еще какие-либо RR-записи и для чего они используются?
  • Что такое Split-Horizon DNS?
  • Что такое sticky bit?
  • Что делает установленный на файл immutable bit?
  • Какая разница между символическими и жесткими ссылками? Что произойдет если удалить символическую/жесткую ссылку?
  • Что такое inode и какая информация хранится в inode?
  • Как принудительно запустить проверку файловой системы при следующей перезагрузке?
  • Что такое SNMP и для чего он используется?
  • Что такое уровень запуска и как узнать текущий?
  • Что такое SSH port forwarding?
  • Какая разница между локальным и удаленным пробросом портов SSH?
  • Какие шаги надо предпринять, чтоб добавить пользователя в систему не используя утилиты useradd/adduser?
  • Что такое MAJOR и MINOR нумерация спец. файлов?
  • Опишите команду mknod и когда она используется?
  • Опишите сценарий, когда вы можете получить ошибку «filesystem is full», но ‘df’ показывает наличие свободного места.
  • Опишите сценарий, когда вы удаляете файл,но ‘df’ не показывает, что место освободилось.
  • Опишите как работает ‘ps’.
  • Что случиться, если процесс-потомок умрет и не будет процесса-родителя, ожидающего его и что в этом плохого?
  • Объясните кратко каждое из состояний процесса.
  • Как узнать какой процесс слушает указанный порт?
  • Что такое зомби-процесс и какова его причина возникновения?
  • Вы запускаете bash скрипт и хотите видеть его вывод на экране и одновременно сохранить этот вывод в файл. Как это сделать?
  • Объясните, что делает echo «1» > /proc/sys/net/ipv4/ip_forward.
  • Кратко объясните, какие шаги надо предпринять, чтоб создать и установить сертификат для сайта https://foo.example.com.
  • Можно ли создать несколько HTTPS виртуальных хостов, используя один IP?
  • Что такое wildcard сертификат?
  • Какие типы файловых систем в Linux вам известны?
  • В чем разница между процессом и потоком? И родительским и потомком процессами после системного вызова fork?
  • В чем разница между exec и fork?
  • Для чего используется nohup ?
  • В чем разница между этими двумя командами?
  • myvar=hello
  • export myvar=hello
  • Как много NTP севреров настроено в вашем локальном ntp.conf?
  • Что означает колонка ‘reach’ в выводе ntpq-p ?
  • Вам необходимо обновить ядро на 100-1000 серверах, как вы будете это делать?
  • Как можно получить Host, Channel, IS, LUN для SCSI диска?
  • Как можно ограничить использование памяти для процесса?
  • Что такое быстрый поиск и замена в bash (^x^y)?
  • Какие вы знаете альтернативные оболочки? Какую вы используете?
  • Что такое tarpipe (или, как вы будете копировать все, включая жесткие ссылки и специальные файлы, с одного сервера на другой)?
  • Как можно проверить, что пакет httpd уже был установлен?
  • Как посмотреть содержимое установочного пакета?
  • Как вы определите какой пакет лучше: openssh-server-5.3p1-118.1.el6_8.x86_64 или openssh-server-6.6p1-1.el6.x86_64?
  • Как вы можете объяснить мне разницу между хранилищем, основанным на блоках и объектах?
  • Что такое туннель и как вы можете обойти http прокси?
  • В чем разница между IDS и IPS?
  • Какие горячие клавиши вы используете регулярно?
  • Что такое Linux Standard Base?
  • Что такое атомарная операция?
  • Вы только что настроили http сервер, который не запустился после рестарта. Что вы будете делать?
  • Какие ключи содержатся в
Читайте также:  Приложения для роса линукс

/.ssh/authorized_keys и для чего нужен этот файл?

  • Я добавил свой публичный ключ в authorized_keys, но до сих пор получаю запрос пароля. Что может быть не так?
  • Вы когда-нибудь собирали RPM, DEB или solaris пакеты?
  • Что сделает :()< :|:& >;: с вашей системой?
  • Как можно перехватить Linux сигнал из скрипта?
  • Можно ли перехватить SIGKILL?
  • Что происходит, когда ядро Linux запускает OOM killer и как он выбирает какой процесс необходимо убить в первую очередь?
  • Опишите процесс загрузки Linux с максимально возможным количеством деталей, начиная с момента включения компьютера и заканчивая получением приглашения командной строки.
  • Что такое закрытие в chroot?
  • При попытке отмонтировать каталог получаем ошибку занятости, как найти какой PID держит каталог?
  • Что такое LD_PRELOAD и когда он используется?
  • Вы запустили бинарник и ничего не произошло. Как вы будете искать проблему?
  • Что такое cgroups? Можете ли вы указать сценарий, когда это может быть использовано?
  • Как можно удалить файл, имя которого содержит непечатные символы?
  • Как можно увеличить/уменьшить приоритет процесса в Linux?
  • Что такое run-levels в Linux?
    • Запущенный процесс получает EAGAIN: Resource temporarily unavailable при чтении сокета. Как можно закрыть этот плохой сокет/файловый дескриптор без убивания процесса?
    • Что такое localhost и почему ping localhost может не работать?
    • В чем сходство между «ping» и «traceroute»? Как traceroute находит промежуточные хосты?
    • Какая команда можно использовать для поиска всех открытых портов и/или соединений с сокетами на машине?
    • Валидный ли IP адрес 300.168.0.123?
    • Какие IP диапазоны/подсети являются частными или не маршрутизируемыми (RFC 1918)?
    • Что такое VLAN?
    • Что такое ARP и для чего используется?
    • В чем разница между TCP и UDP?
    • Какова цель шлюза по умолчанию?
    • Какая команда используется для просмотра таблицы маршрутизации в Linux?
    • TCP-соединение в сети может быть однозначно определено четырьмя вещами. Что это за вещи?
    • Когда клиент использует бразер для подключения к веб-серверу, какие порты источника и назначения будут у этого соединения?
    • Как можно добавить IPv6 адрес для конкретного интерфейса?
    • Вы добавили IPv4 и IPv6 адреса на eth0 интерфейс. Ping на v4 адрес работает, но ping на v6 адрес дает ответ sendmsg: operation not permitted . Что может быть не так?
    • Что такое SNAT и когда он должен быть использован?
    • Объясните, как можно войти по ssh на Linux сервер, который сбрасывает (DROP) все новые входящие пакеты, используя SSH туннель.
    • Как вы будете противодействовать DDoS атаке?
    • Как можно посмотреть содержимое ip пакета?
    • Что такое IPoAC (RFC 1149)?
    • Как создать пользователя?
    • Как предоставить права пользователю?
    • В чем разница между ‘left’ и ‘right’ join?
    • Объясните кратко разницу между InnoDB и MyISAM.
    • Зачем надо запускать «mysql_secure_installation» после установки MySQL?
    • Как проверить какие задачи запущены?
    • Как вы делаете бекап MySQL?
    • Как вы можете описать ваш workflow при создании скрипта?
    • Что такое GIT?
    • Что такое динамически/статически слинкованные файлы?
    • Что делает «./configure && make && make install»?
    • Для чего используется puppet/chef/ansible?
    • Для чего используется Nagios/Zenoss/NewRelic?
    • Для чего используется Jenkins/TeamCity/GoCI?
    • В чем разница между контейнеризацией и виртуализацией?
    • Как создать нового postgres пользователя?
    • Что такое виртуальный IP адрес? Что такое кластер?
    • Как вывести все строки печатных символов, присутствующих в файле?
    • Как найти зависимости для библиотеки?
    • Что такое Automake и Autoconf?
    • ./configure вывела ошибку, что libfoobar не найдена в система, как вы будете исправлять это? Что может быть не так?
    • Какие преимущества/недостатки у скриптов против компилируемых программ?
    • Какая связь между непрерывной доставкой (continuous delivery) и DevOps?
    • Каковы важные аспекты системы непрерывной интеграции и развертывания?
    • Как бы вы включили совместное использование сетевых файлов в AWS, которые позволили бы экземплярам EC2 в нескольких зонах доступности обмениваться данными?
    • Небрежный сисадмин запустил команду chmod 444 /bin/chmod — как ву будете исправлять проблему?
    • Я потерял пароль пользователя root. Что мне делать?
    • Я перезагрузил удаленный сервер, но спустя 10 минут все еще не могу зайти по SSH. Что может быть не так?
    • Если бы вы попали на пустынный остров с 5 утилитами коммандной строки, то какие утилиты это были бы?
    • Вы сталкиваетесь с случайным компьютером и, похоже, это консоль к мирозданию. Что первое вы наберете?
    • Расскажите о креативном использовании ssh в вашей практике?
    • Вы случайно удалили запущенный скрипт, как вы будете его восстанавливать?
    • Что случится 19 января 2038 года?
    • Как перезагрузить сервер когда команда reboot не доступна?
    • Распакуйте test.tar.gz без использования man и google.
    • Удалите все «*.pyc» файлы рекурсивно из testdir.
    • Найдите все «my konfu is the best» во всех *.py файлах.
    • Замените все вхождения «my konfu is the best» на «I’m a linux jedi master» во всех *.txt файлах.
    • Проверьте доступность 443 порта на машине с IP X.X.X.X.
    • Получите страницу http://myinternal.webserver.local/test.html при помощи telnet.
    • Как отправить email без почтового клиента, только с помощью командной строки?
    • Напишите метод get_prim в python/perl/bash/pseudo.
    • Найдите все файлы, доступ к которым был осуществлен за последние 30 дней.
    • Объясните следующую команду (date ; ps -ef | awk ‘‘ | sort | uniq | wc -l ) >> Activity.log
    • Напишите скрипт, показывающий разницу двух каталогов.
    • Из лог файла, содержащего : [MESSAGE] : [ERROR_NO] — Human readable text выведите сумму/количество указанной ошибки, которая повторяется каждый час, или указанный час.

    Некоторые вопросы ‘заимствованы’ из других замечательных ссылок, например:

    Источник

    25 вопросов задаваемых на собеседовании системным администраторам Linux

    Вопрос:2 Как узнать когда файловая система проверялась последний раз?

    Вопрос:3 Как изменить срок действия пароля пользователя без изменения самого пароля?

    Вопрос:4 Как заставить fsck проверить файловую систему ОС при следующей перезагрузке?

    Вопрос:5 Каким инструментом анализируются дампы краха системы или файл vmcore в ОС CentOS 7 & RHEL 7?

    Вопрос:6 Как установить все патчи за исключением патчей ядра в CentOS и RHEL?

    Параметр ‘–exclude=kernel*’ команды yum позволяет установить все патчи кроме предназначенных для ядра. Например так:
    # yum update –exclude=kernel*

    Если добавить следующую строку в файл ‘/etc/yum.conf’ мы предотвратим любые обновления ядра навсегда:
    exclude=kernel*

    Вопрос:7 Как проверить, что вы работаете на физическом или виртуальном сервере?

    Вопрос:8 Что такое automounter и для чего он служит?

    Вопрос:9 Как принудить пользователя изменить пароль при регистрации?

    Вопрос:10 Как узнать как завершилась последняя команда — успешно или нет?

    Вопрос:11 Как узнать, установлен ли конкретный rpm-пакет?

    ]# rpm -q postfix –last
    postfix-2.10.1-6.el7.x86_64 Saturday 27 February 2016 11:56:43 PM EST
    [root@cloud

    Для этих же целей мы можем воспользоваться командой yum:
    [root@cloud

    ]# yum history package postfix

    Вопрос:12 Как войти в режим одиночного пользователя (single user mode) в RHEL 7?

    Вопрос:13 Какая команда позволяет изменить имя хоста навсегда в CentOS 7 & RHEL 7?

    Команда ‘hostnamectl’ используется для задания или изменения имени хоста. Например, так:
    # hostnamectl set-hostname «New_HostName»

    Кроме hostnamectl могут быть использованы команда ‘nmtui’& ‘nmcli’, которые тоже могут изменять имя хоста в CentOS 7 и RHEL 7.

    Вопрос:14 Как включить политики паролей (password policies) в Linux?

    Вопрос:15 Как узнать, какие модуля ядра загружены в ОС Linux?

    Вопрос:16 Какой командой можно проверить состояние ввода-вывода в Linux?

    Вопрос:17 Каково назначение файлов ‘/etc/lvm/backup’ и ‘/etc/lvm/archive’?

    Вопрос:18 Как просмотреть таблицу маршрутизации в Linux?

    Вопрос:19 Что происходит на фоне когда вы заходите по ssh на сервер Linux?

    /.ssh/known_hosts’ мы получим подсказку ssh.

    Вопрос:20 Как изменить порт по-умолчанию для SSH на сервере Linux?

    Вопрос:21 Как увидеть временные метки dmesg в RHEL7?

    Вопрос:22 Как узнать модель физического сервера из командной строки?

    С помощью команды dmidecode можно узнать производителя и модель физического сервера. Например:
    # dmidecode -t system

    Handle 0x0011, DMI type 1, 27 bytes
    System Information
    Manufacturer: HP
    Product Name: ProLiant DL580 Gen8
    Version: P79
    Serial Number: CKX42926E0
    UUID: 97387735-1541-238A-1B33-533850564430
    Wake-up Type: Power Switch
    SKU Number: 728551-B21
    Family: ProLiant

    Вопрос:23 Как узнать версию BIOS сервера из командной строки?

    С помощью команды dmidecode можно получить версию bios:
    # dmidecode -t bios
    # dmidecode 2.12
    SMBIOS 2.8 present.

    Handle 0x0010, DMI type 0, 24 bytes
    BIOS Information
    Vendor: HP
    Version: P79
    Release Date: 04/01/2014
    Address: 0xF0000
    Runtime Size: 64 kB
    ROM Size: 16384 kB

    Вопрос:24 Как расширить существующую группу томов lvm?

    Вопрос:25 Как посмотреть номер WWN на карте HBA на сервере Linux?

    Существует как минимум, два способа с помощью которых можно узнать номер WWN для карты HBA.

    Первый, с использованием команды systool. Например так:
    # systool -c fc_host -v | grep «port_name»

    Второй способ — просмотреть содержимое файла классов в файловой системе sys:
    # cat /sys/class/fc_host/host*/port_name
    0x7001639028cbeca0
    0x7001639028cbefa2
    0x7001639028cbf5d8
    0x7001639028cbf6da

    Источник

    Читайте также:  What is windows installer safe mode
    Оцените статью