Каковы ваши лучшие вопросы по интервью для старшего уровня в Linux [закрыто]

25

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

Мне интересно, каковы ваши лучшие вопросы для интервью с администраторами Linux высшего уровня?

Двое из моих

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

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

Майк
источник
Другой вариант первого вопроса: что делает :(){ :|:& };:ваша система и почему вас это волнует? Ура!
MacUsers

Ответы:

13
  • Как выглядят зависимости общей библиотеки?
  • Как отследить системный вызов и сигнал?
  • Как профиль приложения?
  • Как распечатать строки печатаемых символов в файлах?
  • Какие поля хранятся в inode?
  • Что такое NSCD?
  • Что такое Automake и Autoconf?
  • Какие шаги для добавления пользователя в систему без использования useradd / adduser?
  • Как посмотреть информацию о файлах ELF?
  • Что такое MAJOR и MINOR номера специальных файлов?
  • Как фильтрация слоя ссылок?
osdyng
источник
16
  • Расскажите мне о последнем крупном проекте Linux, который вы завершили. Каковы были некоторые из препятствий и как вы их преодолели. Иногда задавая эти открытые вопросы, можно обнаружить гораздо больше, чем небольшие вопросы, на которые Google легко отвечает. Великому старшему администратору не нужно знать все, но он должен уметь находить удивительные решения для невозможных проектов.
  • Вы участвуете в каких-либо проектах с открытым исходным кодом? Не имеет значения, является ли это просто документацией, это показывает определенную преданность ремеслу.

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

cwheeler33
источник
2
+1 за открытые вопросы. Закрытые вопросы сводятся к знанию пустяков.
Sirex
2
Абсолютно. Для меня старший - это не просто тот, кто умеет запоминать вещи, которые вы можете запрограммировать в Google, а тот, кто может решать сложные задачи, проектировать, играть руководящую роль в проектах и ​​так далее. «Можете ли вы вспомнить, как использовать ldd», не скажет мне, найму ли я кого-нибудь, кто может помочь выявить недостатки в сложном многоуровневом производственном приложении или провести значимое планирование емкости.
Роджер
9

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

Ответ: В файловой системе могут отсутствовать inode-ы, ' df -i ' покажет это.

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

  • расскажите мне о том, как вы управляете своей базой знаний (вики, схемы, электронные таблицы, простые текстовые файлы) и почему вы выбрали определенные параметры
  • вы используете контроль версий? какой и почему? Ваши сообщения коммитов хорошо выглядят?
halp
источник
3
С этим может быть связано «Почему бы не согласиться с этим?» - Потому что du проверяет использование каталогов, но df проверяет inde-ы free'd, а файлы можно держать открытыми и занимать место после их удаления
Matt Simmons
+1 за это и комментарий Мэтта (на самом деле я спрашиваю об этом на ВСЕХ интервью unix, независимо от уровня. Это показывает, насколько хорошо кто-то понимает концепции файловой системы)
voretaq7
Охх ... разница между du / и df всегда хорошая
Майк
делает запись ага! Теперь я знаю это! :)
Мистер ИТ Гуру
8

Мне нравится спрашивать, и мне удобно, когда меня спрашивают:

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

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

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

Роберт Новак
источник
я поддерживаю этот вопрос
ZaphodB
7

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

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

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

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

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

Фил Холленбек
источник
Мой вариант вашего вопроса: от конца POST до появления приглашения на вход в систему, пожалуйста, опишите процесс загрузки ПК-сервера под управлением Linux настолько подробно, насколько вы считаете нужным, с акцентом на устранение неполадок? (Таким образом, вещи о том, как загрузочное устройство находится в BIOS и как загрузчик загружается кодом в MBR, как ядро ​​запускает процесс init и т. Д., Все имеют отношение к делу; поскольку каждый из них дает обратную связь и связан с устранением неполадок шаги).
Джим Деннис
6

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

Опишите процесс рукопожатия TCP.

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

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

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

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

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

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

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

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

Что такое тюрьма?

Как сказать, что тебя взломали?

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

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

Джоэл К
источник
Я не уверен, что они достаточно технические для старшей роли (на основании этого я могу ответить на них, и я младший).
Sirex
Со временем я мог бы ответить на все эти вопросы, но я хочу быть в состоянии сделать это во сне! Я думаю, мне нужно больше учиться :)
Мистер ИТ-гуру
6

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

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

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

  • пинг
  • ТСРйитр
  • п.с.
  • Lsof
  • Трассирование

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

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

obfuscurity
источник
5
Я думаю, я бы пошел, busyboxчтобы покрыть основы, а mplayerтакже помочь справиться со скукой. Это оставляет мне три остатка ....
Mattdm
2
Я просто хочу эхо и почту - эхо "пожалуйста, приходи и спаси меня!" | почта спасения admin@mcga.gov.uk
symcbean
«Почта» и «ntpdate». Я мог бы использовать Почту, чтобы позвать на помощь, и использовать NTP, чтобы определить мою точную широту и долготу. :)
Эрни
5

Я использую это:

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

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

Chmouel Boudjnah
источник
Это отличный вопрос ... Я не думаю, что многие высокопоставленные люди знали бы это. Я конечно не сделал, и это заставило меня читать об этом. Благодарность!
Майк
Мой ответ на этот вопрос будет следующим: ядро ​​ведет различную статистику, связанную с распределением виртуальной памяти и активностью подкачки. Когда определенные пороговые значения превышены, тогда убийца OOM вызывается, чтобы выбрать процессы для завершения. За последние несколько лет детали были подправлены и изменены почти с каждым выпуском ядра и сборкой ядра поставщика.
Джим Деннис
1
(Моя общая точка зрения заключается в том, что обычный системный администратор должен рассматривать выбор процессов-убийц OOM почти случайным. Пару лет назад я потратил смущающее количество времени на отслеживание таинственных спорадических смертей в моих процессах portmapper (несколько раз в неделю в кластерах несколько тысяч машин) только обнаруживают, что он был убит OOM killer - несмотря на то, что он использует очень мало памяти, почти никогда не выделяет дополнительную память, никогда не делает разветвлений и, в большинстве случаев, является крайне маловероятным кандидатом на OOM выбор). (Никаких настроек sysctl к ним не применялось).
Джим Деннис
Мой мозг только что взорвался - это ОЧЕНЬ очень хорошие вопросы!
Мистер ИТ Гуру
Джим, ты прав, это все время меняется, но меня больше интересует, как собеседник начнет думать об этом, и какой смысл в первую очередь убивать и получать бонус, если он может упомянуть, как защитить определенный процесс от гибели.
Chmouel Boudjnah
4

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

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

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

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

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

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

Джим Деннис
источник
Что вы подразумеваете под «наиболее портативным»? В любом случае мой ответ: «удалить по номеру инода». find . -inum <number> -exec rm -i {} \;
MacUsers
@MacUsers: В моей книге это примерно так же, как использование Perl для задачи (половина кредита ... это будет работать, но некоторые версии find могут не реализовывать опцию -inum, и это неоправданно сложно по сравнению с rm ./-fr ( не "самый простой"). В частности, мы можем измерить проще с точки зрения того, сколько усилий и насколько надежно мы можем провести пользователя через процесс по телефону.
Джим Деннис,
Хотелось бы узнать ваш ответ, чтобы получить свой «полный кредит». Ура !!
MacUsers
Самый простой и переносимый метод: rm ./-fr ... он всегда работает с самых старых версий UNIX и требует только двух нажатий клавиш без смещения. Что еще более важно, можно добавить к любому шаблону глобуса префикс ./ и быть уверенным, что расширение внешней оболочки не будет неверно истолковано как переключение какой-либо внешней командой. (Программа должна объединить свои аргументы вместе и повторно проанализировать строку, даже если ее запутает ./foo \ -bar ... файл с последовательностью пробела в нем).
Джим Деннис
Кажется, в 'вашем примере Perl Unlink отсутствует.
GnP
3

«Какие юниксы, которые не являются linux, вы использовали? Не могли бы вы рассказать мне некоторые различия между ними?»

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

Vatine
источник
4
Solaris killall! = Linux killall
user9517 поддерживает GoFundMonica
По крайней мере раньше было так, что редактирование файлов конфигурации в AIX не приводило к изменению поведения демонов, так как они выбирали конфигурацию из двоичной базы данных, а не из простого текстового файла конфигурации.
Ватин
2

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

date whoami echo sleep kill

Joey1978
источник
fsck fsck fsck fsck и fsck.
Sirex
Это обман, попытка превратить ответ на serverfault.com/questions/225946/… в дискуссию или как?
Quux
'whoami' - LOL!
Symcbean
1

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

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

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

ChudMunson
источник