Что такое FizzBuzz для системных администраторов? [закрыто]

12

FizzBuzz - это простой тест на способность программирования, часто используемый работодателями для отсеивания людей, которые на самом деле не могут программировать. Существует ли аналогичный тест для системных администраторов и обычных ИТ-специалистов?

Разъяснение Я ищу вещи, которые можно протестировать в условиях собеседования с некоторой точностью. Очевидно, что это не будет однозначно определять правильного человека, как FizzBuzz не для программистов. Я просто хочу отсеять людей, которые думают, что могут работать системным администратором / ИТ-специалистом, потому что они могут выходить в Интернет.

бодэтака
источник
Если вы можете получить свою электронную почту, ваш, вероятно, в безопасности.
The Unix Дворник
1
@ user37899: ты имеешь в виду, что если он или она может получить твою электронную почту, ты, вероятно, в безопасности?
Барт Сильверстрим
Итак ... Мы должны просто нанять кого-нибудь с улицы, и если мы все еще можем получить нашу электронную почту, мы явно наняли подходящего парня?
Бодтак
Хорошо для тех, кто делает много сценариев, FizzBuzz не плохо для администраторов.
Кайл Брандт
2
Разве это не должно быть вики сообщества? Есть ли ответ на этот вопрос?
Ричард Холлоуэй

Ответы:

11

Я не думаю, что вы собираетесь придумать один такой тест для администраторов, потому что определение администратора (для целей этого сайта) слишком широкое. Тест FizzBuzz может быть реализован на любом языке программирования, поэтому не имеет значения, нанимаете ли вы PHP-разработчика или кого-то, кто занимается внедрением C.

С административной стороны вы можете нанять администратора сети, администратора хранилища, администратора сервера (далее разбитого на Windows, Linux, * nix, мэйнфрейм), администраторов настольных ПК / службы поддержки, службы поддержки или даже администраторов определенных приложений (Exchange, Lotus, SAP , и т.д).

Конечно, одна из областей, которую вы можете затронуть, это TCP / IP и CIDR, так как сетевое взаимодействие является фундаментальным навыком большинства позиций, но даже это может не понадобиться для зелий начального уровня (в отличие от FizzBuzz для разработчиков).

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

Дуг Люксем
источник
+1 Хорошие очки. Интервью и методология должны быть взяты в контексте заявленной позиции.
Джон Гарденье
2
+1 От меня тоже. Сисадмин - чрезвычайно широкое описание работы. Если вам нужен администратор Unix, сделайте так, чтобы он собрал пакет или установил несколько патчей. Если вам нужен администратор Windows, заставьте их добавить компьютер в домен или настроить DNS или DHCP. Если вы ищете настольного парня, задавайте ему глупые вопросы, пока нормальный человек не сломается.
Satanicpuppy
Из описания, fizzbuzz для администраторов будет тестом процесса устранения неполадок, нет? Я думаю, это то, что объединяет все эти подкатегории.
Барт Сильверстрим
@Satanicpuppy ... вопрос в том, обращаются ли нормальные люди на работу по поддержке рабочего стола?
Барт Сильверстрим
1
@ Барт Silverstrim Все в лучшем из всех возможных миров.
Satanicpuppy
7

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

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

Что вам нужно, так это интервьюер, чтобы быть квалифицированным и иметь способность «читать» людей. О том, как кандидат отвечает на вопросы, можно узнать больше, чем о самих ответах. Там нет ярлыков. По крайней мере, не имеет никакого значения.

Джон Гарденье
источник
3
Очевидно, FizzBuzz не собирается отсеивать каждого, кто не умеет программировать. Это не должно Предполагается отсеять тех, кто считает программирование забавной работой, но никогда не писал ни строчки кода. Это будет довольно очевидно, если кто-то просто срыгивает что-то, что они читают онлайн без понимания. Я в основном использовал FizzBuzz в качестве примера, не предлагая, чтобы кто-нибудь, кто передает его, мог программировать.
Бодтак
2
Я не могу сказать, насколько прав этот ответ.
Джим Б
2
Я должен не согласиться. Я задал FizzBuzz в качестве вопроса программирования интервью для многих кандидатов, и меня часто шокирует, как много кандидатов с этим справляются или терпят неудачу. Любой, кто не может пройти FizzBuzz, быстро отклоняется. Те, кто проходит FizzBuzz, проходят более тщательную оценку. FizzBuzz отличный инструмент для отсеивания некоторых некомпетентных программистов.
Абеленки
2
FizzBuzz не о программировании. Дело не в том, чтобы быть компетентным программистом. Это о мыслительном процессе. Сисадминам тоже нужно это качество, чтобы понять, как решить проблему. Fizzbuzz в основном заключается в том, чтобы придумать алгоритм / решение для некоторой относительно простой математики и перевести его в требуемый формат (поскольку в блогах, о которых я читал, говорилось, что даже поместить его в псевдокод было слишком сложно для многих кандидатов). Можно утверждать, что FizzBuzz применим к любой работе, которая требует методического, логического мышления. Просто не единственный квалификатор, которого в любом случае не было :-)
Барт Сильверстрим
1
@ Джон Гарденерс: я согласен. Я разочарован тем, что эти кандидаты дошли до этапа собеседования. Но дело в том, что люди лежат на резюме, рекрутеры искажают информацию о своих кандидатах, а сотрудники отдела кадров без технических знаний часто проводят собеседования. Программистам, таким как я, приходится стараться поддерживать минимальные стандарты для кандидатов и сотрудников.
Абеленки
4

Я до сих пор нахожу старую фразу «как мне безопасно и переносимо удалить файл с именем 'dash-eff-arr' (-fr)?" быть достаточно хорошим предиктором того, насколько хорошо кто-то будет справляться с более сложными вопросами. Я обычно рекомендую это как вопрос проверки.

Люди, которые возятся с предложениями о глобализации, цитировании и экранировании, на мой взгляд, потенциально опасны в корневой оболочке в производственной системе. Те, кто беспечно предлагают rm -- -fr, только немного лучше. Те, кто демонстрирует реальное понимание того, как оболочка анализирует командную строку ... о разнице между тем, что анализировала оболочка, и тем, что команда (такая как rm), полученная в ее векторе аргументов, обычно имеют довольно хорошее понимание других материалов системного администрирования: Что ж.

Гораздо более интересный и сложный вопрос:

Given a tape backup, a boot/root or rescue disc of your choice, and
a system with a freshly replace, blank, hard drive ... how would you get
that system back into production?  What other information do you need
before you can proceed?

(Я обычно обеспечиваю определенную tarкоманду и дату в качестве метки на случае ЛЕНТЫ в и распечатать с fdisk -lи df -kвыходом, и я вообще позволю им изменить tarв любые аналогичных cpio, afioили даже paxкоманды, подробности архивирования утилиты не в фокусе моего вопроса).

Этот вопрос не подходит для скрининга ... интервьюер должен иметь четкое понимание ответа и должен иметь возможность отметить около десяти шагов в процессе. Я очень прощаю незначительные проблемы последовательности, особенно если респондент ловит их - например, осознавая, что он или она должен был бы выполнить fdiskдо этой серии команд mkfsи mountкоманд.

Я бы сказал, что это по духу ближе всего к сценарию с шипением.

Еще один любимый:

You have just been given responsibility for a departmental server running Linux.
The former admin has been "hit by a bus" and no one knows the root password for
this system.  How do you proceed?

Этот предназначен для диалога. По сути, я хочу, чтобы они продемонстрировали понимание того, как загрузить систему в однопользовательском режиме и принудительно изменить пароль, а также как выполнить загрузку с аварийного диска и выполнить ту же задачу. (Таким образом, я поочередно раскрываю, что система настроена с suloginпаролем загрузчика (GRUB или LILO), чтобы его не было просто init=/bin/sh). Это чисто техническая часть желаемого ответа.

Тем не менее, я обычно также забочусь о более общих соображениях, которые они должны поднять. Они спрашивают, есть ли у кого-нибудь sudoдоступ к этой задаче? Как они ожидают, что они организуют перерыв в обслуживании? Они спрашивают о возможности того, что бывший администратор был враждебен или что система могла быть взломана? Выступают ли они добровольно или высказывают предложения о том, как пароли должны быть депонированы руководством?

Джим Деннис
источник
3
Восстановление пароля бесполезно в качестве теста администратора. Вы действительно должны поставить проблему, которая не может быть легко решена любым школьником с доступом в Интернет. Кроме того, демонстрация методов взлома никоим образом не означает, что у кандидата есть какие-либо полезные навыки администратора.
Джон Гарденье
@John Gardeniers: восстановление пароля не является «демонстрацией взлома». Но давайте перевернем эту критику и спросим: считаете ли вы кого-то, кто НЕ знал, как заставить изменение системного пароля, быть действительно квалифицированным системным администратором UNIX / Linux? Имейте в виду, что процесс принудительного изменения пароля root практически идентичен тому, который используется для устранения различных проблем конфигурации загрузки (особенно при использовании загрузочного диска или сетевой загрузки).
Джим Деннис
3
Я действительно администратор Windows, поэтому не могу комментировать слишком много о принципах, на которые вы ссылаетесь, только когда мне нужно было восстановить пароли в Windows и Mac, но я бы определенно нанял кого-то, кто не знает, как восстановить пароли - при условии, что я удовлетворен тем, что они знают, как это сделать, если / когда потребуется. Это единственный навык, который я хочу больше всего на свете, умение находить ответы.
Джон Гарденье
1
Учитывая, сколько работы сисадмина я натолкнул, приходит из-за необходимости исследовать онлайн и «общаться» с другими администраторами ... Я подвергаю сомнению все, что оценивает потенциальных администраторов по мелочам на месте, особенно с тех пор, как методы меняются со временем ( диск с «прикосновением» к определенному имени файла при загрузке работает для Ubuntu ... но для всех систем Linux? Как насчет простой загрузки с диска и проверки там? Или различий в обработке монтирования файловой системы в версиях Linux? Огромное количество Похоже, устранение неполадок состоит в поиске ответов, а не в их знании.)
Барт Сильверстрим
@Джон и Барт: основные принципы того, как «спасти» систему Linux, были последовательны в ее истории. Некоторые детали изменились по уважительным причинам. Многие из них также применимы к другим формам UNIX (на очень старых системах вы загрузили «мини-root» среду с системной установки или с ленты IPL; аналогично запуску с RAM-диска сегодня). Если бы я проходил собеседование на предмет начального уровня или стажировки, я был бы рад предоставить ноутбук / браузер и попросил бы его или ее найти ответы прямо там. (Обычно меня просят давать технические интервью только для очень старших кандидатов).
Джим Деннис
3

Я не могу придумать ничего формального, но вот несколько общих советов.

Спросите их о резервных копиях. Если они не говорят что-то вроде «целью резервного копирования является восстановление», вы не хотите их.

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

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

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

Максимус Минимус
источник
2

Попросите их объяснить, что означает 10.13.216.41/18. Ответ не должен быть достаточно , как описано , как этот, но любой SysAdmin должен быть в состоянии объяснить адреса, сети, маски.

Опека - Восстановите Монику
источник
ИМО любой, кто использует компьютер, должен, но это не произойдет в ближайшее время
PostMan
2
@PostMan: Понимание CIDR намного выше необходимого для среднего пользователя компьютера.
Брент
@PostMan - это все равно, что сказать, что любой, кто летит на самолете, должен понимать алгоритмы управления воздушным движением для посадки. Системные администраторы существуют, потому что инструменты, которые невежественные не могут использовать, в конечном итоге оказываются в куче мусора.
sh-beta
2

Попросите их составить дерево устранения неполадок для SSL. Большинство новых ИТ-систем сегодня зависят от веб-серверов, а SSL зависит от ряда технологий. Начните с того, что «пользователь жалуется, что веб-сайт сообщает, что сертификат безопасности недействителен», и пусть он начинает перечислять вещи, которые нужно искать.

То, что вы хотите найти, это три вещи:

  • сбор информации, кульминацией которой является воспроизведение проблемы
  • Экспериментальная процедура; изменить одно и только одно и сравнить результаты
  • понимание механизмов безопасности SSL и технологий под ним; DNS, конфигурация веб-сервера и даже конфигурация браузера

Бонусные баллы, если вы действительно можете получить первоначальное расплывчатое описание проблемы из вашего существующего трекера. Найти первопричину проблемы может быть сложно; как говорит Торвальдс :

Кто-то находит проблему, а кто-то другой понимает ее. И я официально заявлю, что найти его - более сложная задача.

jldugger
источник
Я не дал отрицательный ответ (я ненавижу, когда люди понижают голос, но не оставляют причину, чтобы ответы могли быть улучшены) ... но у нас только что был отчет пользователя, который они не могли попасть на домашнюю страницу. Технология идет на месте. Компьютер не включается. «Домашняя страница» означала экран входа в систему, по-видимому.
Барт Сильверстрим
Хорошая точка зрения. Я уточню последнее предложение немного.
Jldugger
1

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

Я задал несколько тестов для людей, которые показались на балу и у которых есть все нужные кусочки бумаги, только чтобы получить регистратор, который в слезах сдавал тест! Таким образом, хотя сертификаты являются хорошим индикатором, вы не можете полностью в них поверить.

user32285
источник
1

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


@Ben, предоставление им компьютера побеждает суть теста. Я думаю, что настройка сети - это очень базовый навык, который каждый системный администратор должен посвятить памяти.

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

оборота Зоредаче
источник
На похожую заметку. Если вы попросите их настроить что-то общее (например, сеть), они не должны читать каждый экран. Экраны должны быть достаточно знакомы, чтобы они просто знали, где нажимать следующий скользящий экран.
Крис С
2
Я должен не согласиться с этим. На мой взгляд, спрашивать кого-либо, как сделать что-нибудь по памяти, просто жестоко. Я уверен, что, черт возьми, не запоминаю каждый аспект Windows (и это еще хуже, поскольку Vista / 7 полностью изменила многие важные вещи), и я не ожидаю, что кандидаты узнают это наизусть. xkcd.com/627 разве вы не знаете! Лично я бы дал им ноутбук и попросил бы сделать это и попытаться оценить это.
Бен Пилброу
@Ben, обновлен, чтобы соответствовать вашей точке зрения. У меня было несколько случаев, когда мне приходилось предоставлять этот уровень помощи своим пользователям. Я полагаю, что системный администратор должен знать базовую конфигурацию сети лучше, чем задний план.
Зоредаче
@ Zoredache: на мой взгляд, не все так просто, поскольку время от времени радикально меняется. Они должны иметь возможность изучать его и ориентироваться в нем, но в то же время он не обязательно будет работать на всех наших системах (пример: беспроводная утилита dell любит украсть сетевое управление из Windows на наших ноутбуках XP). Новые технологии были бы потеряны, если бы они не были знакомы с этим, но это не делает их некомпетентными. Я предпочел бы иметь кого-то, кто любит учиться и приспосабливаться к этим проблемам вместо того, чтобы запоминать человека, который имеет пули
Барт Сильверстрим
@ Бен и Барт: Вы упускаете суть. Они не должны быть точными на 100%. Но они должны знать это, как будто это их работа . Вопросы должны быть основаны на простом задании для этой конкретной работы. Если вам нужно извиниться перед тем, как нанять их, найдите время найти кого-то еще.
Крис С
-1

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

Если бы они сказали мышь, я бы показал им дверь.

Уникс Дворник
источник
И то и другое. Мышь в основном используется для переключения из одного окна в другое и для управления моим браузером (хотя я постепенно привык к Vimperator для Firefox). На моей рабочей системе я стандартизировал 132x52 Terminal.app (ноутбук Mac OS X ... обычно в офисе используется режим двойного монитора). У меня обычно 4 или 5 таких окон термина ... все ssh'd на моем рабочем столе и общий доступ к одному постоянному многопользовательскому screenсеансу GNU, который в среднем 20 оболочек поддерживает состояние в различных соединениях с другими системами, IRC и т. Д.
Джим Деннис
6
Я не люблю этот ответ. Существует множество ситуаций и решений, которые можно адресовать с помощью мыши, и многие из них невозможно решить без них. Мне тоже нравится CLI, но в этом нет необходимости.
quux
Я думаю , что это немного слишком тупое и узким, но это правда , что шокирующее количество ИТ - специалистов , - даже люди в тридцатом - исповедует общепризнанную нелюбовь с помощью командной строки, в результате чего они совершенно не способны автоматизировать что-либо без какого-либо предварительно упакованного решения. Эти люди действительно действительно заслуживают того, чтобы быть на дверь, если они не нанимаются для тупиковой работы.
Скайхок