Назад | Перейти на главную страницу

Каковы ваши лучшие вопросы на собеседовании по Linux для старшего уровня

Время от времени на этом сайте есть люди, которые задают вопросы на собеседовании с системным администратором. Чаще всего при чтении они относятся к вопросам младшего и среднего уровня.

Мне интересно, какие вопросы на собеседовании с администратором Linux для старшего уровня вам подходят больше всего.

Двое из моих

1) Как остановить бомбу вилки, если вы уже вошли в систему

2) Вы удалили файл журнала, который использует apache, и еще не перезапустили Apache, как вы можете восстановить этот файл журнала?

  • Расскажите мне о последнем завершенном вами крупном проекте Linux. Какие были препятствия и как вы их преодолевали. Иногда эти открытые вопросы раскрывают гораздо больше, чем небольшие вопросы, на которые Google легко отвечает. Хорошему старшему администратору не нужно знать все, но он должен уметь предлагать потрясающие решения для невозможных проектов.
  • Участвуете ли вы в каких-либо проектах с открытым исходным кодом? Неважно, просто ли это документация, она показывает определенную преданность делу.

Чтобы понять, насколько они хороши, задавайте открытые вопросы ...

  • Как выглядят зависимости разделяемых библиотек?
  • Как отследить системный вызов и сигнал?
  • Как профильное приложение?
  • Как распечатать строки печатаемых символов в файлах?
  • Какие поля хранятся в индексном дескрипторе?
  • Что такое NSCD?
  • Что такое Automake и Autoconf?
  • Какие шаги нужно сделать, чтобы добавить пользователя в систему без использования useradd / adduser?
  • Как посмотреть информацию об ELF файлах?
  • Какое количество ОСНОВНЫХ и МИНИМАЛЬНЫХ номеров специальных файлов?
  • Как фильтрация канального уровня?

Вопрос: Опишите сценарий, когда вы получаете сообщение об ошибке «файловая система заполнена», но:df'показывает, что есть свободное место

Ответ: В файловой системе могут закончиться inodes,df -i'покажет это.

Открытые вопросы:

  • расскажите мне о том, как вы управляете своей базой данных (вики, схемы, электронные таблицы, текстовые файлы) и почему вы выбрали определенные параметры
  • вы используете контроль версий? какой и почему? Ваши сообщения коммитов выглядят хорошо?

Я люблю спрашивать, и мне удобно, что меня спрашивают:

Расскажите мне о самой большой ошибке, которую вы сделали за [какой-то недавний период времени], и о том, как вы бы сделали это по-другому сегодня. Что вы узнали из этого опыта?

Есть много системных администраторов с 10-летним опытом. Кажется, что у многих один и тот же год 10 раз подряд. Я хочу, чтобы в моей команде было 10 разных лет, которые становились все лучше. И если вы никогда не совершали большой ошибки, которая заставила вас задуматься, стоит ли вам просто собрать свой стол, вы на самом деле не жили. :)

Меня как интервьюера или собеседника не волнуют пустяковые вопросы. Мне нравятся вопросы, которые раньше ставили моих продавцов в тупик, или те, которые дали мне "Эврика!" моменты.

Я всегда фанат

  • Опишите процесс загрузки linux как можно подробнее, начиная с момента включения системы и заканчивая появлением запроса.

Мне нравится задавать вопросы, которые демонстрируют, насколько кто-то осведомлен о различиях между разными unix. Мне также нравится видеть, насколько человек понимает, что Linux делает что-то одним способом, что не обязательно так, как это делают все остальные. Многие из этих вопросов связаны с инструментами Linux по умолчанию, например:

  • Подскажите два способа одновременно перенаправить и stderr, и stdin
    • &> и >/dev/null 2>&1
    • демонстрирует знание оболочки bash и bourne

Еще один ключевой момент: что касается руководящих должностей, я ожидаю увидеть доказательства навыков публичного письма и презентации. Если вы пожилой человек, о вас следовало бы многократно публиковать в Интернете и в журналах. Черт возьми, достаточно иметь собственный технический блог. Представление хотя бы одного доклада на конференции - это большой плюс. Я думаю, что это, в частности, отделяет младших администраторов от старших.

Я просто запустил chmod -x / bin / chmod. Что я сделал? Как мне выздороветь?

Опишите процесс установления связи TCP.

Как работает traceroute?

Когда вам может понадобиться использовать CTRL-Z или CTRL-D?

Что делает липкий бит?

Какие параметры ядра вам может понадобиться настроить?

Как узнать, какой у вас дистрибутив?

Как узнать, на каком оборудовании вы работаете?

В чем разница между SAN, NAS и локальным диском?

У меня 30 серверов, и я не уверен, что на каждом из них одинаковая конфигурация apache. Как узнать, сколько существует копий и в чем различия?

Что такое chroot jail?

Как узнать, что вас взломали?

Назовите все двухбуквенные команды unix, которые вы можете придумать, и что они делают? Как вы можете найти все двухбуквенные команды unix в вашей системе.

Я также прошу людей заранее сделать несколько простых домашних заданий. Особенно, если они исповедуют некоторый опыт написания сценариев. Я прошу их проанализировать два разных файла данных (один csv, один | sv) и эффективно объединить данные. Я добавил несколько ошибок (плохо отформатированные данные), отсутствующие поля, необходимые для объединений, данные странным образом не в последовательности и т. Д. Я прошу их прислать мне исходный код и вывод. (Стиль «Машинная проблема») Я обычно даю 3-4 часа на ее решение. Эта задача помогла отфильтровать множество кандидатов, которые называют «создание сценариев» навыком, но не могут освоить основы под давлением.

Мой любимый заключительный вопрос:

Если бы вы застряли на необитаемом острове, имея всего 5 утилит командной строки, что бы вы выбрали?

Мой личный список:

  • пинг
  • tcpdump
  • пс
  • lsof
  • Strace

Это простой вопрос, чтобы увидеть, какие команды наиболее удобны для администратора, а также помогает продемонстрировать свое удобство с помощью нестандартных (игривых) вопросов. Некоторые респонденты читают путь слишком много в вопросе и волноваться. Если вы не можете ответить на такой простой вопрос, это говорит о том, что вы мало уверены в своих силах. С другой стороны, если вы слишком сильно постараетесь составить идеальный список, это может намекнуть на то, что вы боитесь неудач и не можете думать на ногах.

По общему признанию, это более полезно для соискателей младшего / среднего звена, но не помешает и спросить. :)

Я использую такой:

  • Что происходит, когда ядро ​​Linux запускает убийцу OOM, как оно выбирает, какой процесс убить первым.

и другие, которых у меня нет в голове ..

У меня здесь сильный фаворит. Этот вопрос имеет отличную прогностическую ценность для оценки того, как кандидаты будут отвечать на более сложные вопросы:

Пользователь / коллега приходит к вам с жалобой на то, что файл нулевой длины с именем «-fr» появился в корневом каталоге какой-либо системы.

Каков самый простой, безопасный и самый переносимый способ удалить эту запись в каталоге и почему стоит задать этот вопрос?

Люди получают половину признательности за такие слова, как: rm -- -fr или perl -le 'unlink("-fr");' (Они эффективны, но не оптимально переносимы).

Люди, которые твердят о цитировании командной строки оболочки и экранировании символов, почти так же опасны, как и те, кто просто не понимает, почему такое имя файла вообще создает какие-либо проблемы.

Те, кто хихикает ... говорят что-нибудь об использовании "точка-косая черта" и указывают, что это одна из самых старых записей в часто задаваемых вопросах оболочки UNIX от USENIX, получают дополнительную благодарность.

«Какие unix-файлы, кроме Linux, вы использовали? Не могли бы вы рассказать мне о различиях между ними?»

Потому что, в конце концов, не весь мир - это Linux (я использовал несколько коммерческих Unices, отличных от Linux, и несколько открытых, не связанных с Linux, если вы полагаетесь на навыки одного в среде другого, вы БУДЕТЕ стрелять себя в ногу).

Если бы вы застряли на необитаемом острове, имея всего 5 утилит командной строки, что бы вы выбрали?

date whoami echo sleep kill

Я скажу, что мне кажется, что многие вопросы типа «где __, что __, как вы __» кажутся мне вопросами для младших / средних уровней. Когда я прохожу собеседование на должность Linux среднего уровня, я спрашиваю о типичных базовых знаниях (для чего используется ядро, в чем разница между символической ссылкой и жесткой ссылкой, что мне делать, если я удалю исполняемые биты из chmod?) . Некоторые из вопросов, которые я считаю вопросами более высокого уровня:

  1. Какие преимущества дает использование systemd над SysV init? Недостатки? Debian просто перешел на systemd, а не на Upstart. Что послужило причиной этого?
    • Одна из вещей, которые это показывает, - это интерес и инвестиции в сообщество Linux и то, как это влияет на повседневную работу системного администратора. Это показывает, что этот человек осведомлен о том, как развивается область, и (потенциально) готов меняться вместе с ней.
  2. Если бы я хотел установить Apache на удаленный сервер, как лучше всего это сделать? Что, если бы я хотел сделать то же самое на 100 серверах? Что, если половина из них - RHEL, а половина - Debian?
    • Демонстрирует знакомство с использованием стороннего программного обеспечения для решения практических задач; знакомство с использованием утилит управления конфигурацией.
  3. Какие соображения необходимо учитывать при разработке высокодоступного приложения как на уровне архитектуры, так и на уровне приложения?
    • Показывает, что этот человек может рассматривать проблему в целом. Показывает, что они понимают, как работает балансировка нагрузки, приложения без состояния, возможно, демонстрируют некоторые знания об общих параметрах конфигурации Apache и модулях, используемых для многопоточных приложений и оптимизации производительности на уровне отдельного сервера.
  4. В чем разница между микроядром и монолитным ядром? В чем преимущество Linux как монолитного ядра?
    • Демонстрирует знакомство с системой Linux на более глубоком уровне, чем пространство пользователя.
  5. Если я наберу "www.google.com" в браузере и нажму "Enter", что произойдет с момента, когда моя клавиша опустится до нижнего предела, до момента, когда страница отобразится в моем браузере?
    • Несмотря на то, что эта должность не для сетевого инженера, я ожидаю, что люди смогут мыслить за пределами микромира. Это касается многих основ сетевых технологий и их значения для отдельных систем и небольших сетей с точки зрения того, как они вписываются в более крупные системы. Это может касаться локальных кешей DNS браузера / ОС, принципа работы ARP, того, как работают таблицы маршрутизации, что такое рекурсивный запрос DNS, значение BGP / OSPF и роль, которую они играют в более крупных сетях, квитирование SSL и криптография в целом, TCP связи и множество других полезных лакомых кусочков, чтобы вникнуть в них.

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