Системный администратор Linux1

К сожалению я не успел в очередную волну историй про собеседования, но всё же хочется поделиться своим опытом со стороны работадателей. Как часто бывает в больших организациях, собеседование проходит в несколько этапов. Однако самый первый и самый важный этап - техническое собеседование. Надо выяснить уровень знаний претендента, умение находить решения не типовых задач и провести первичную оценку адекватности, как бы смешно это не звучало. Так получилось, что результате реорганизации в моём отделе образовалось некоторое количество вакансий. И это именно системные администраторы. И именно Linux.


Для начала немного теории. Системный администратор, это человек, в зоне ответственности которого именно операционная система. Чаще всего это серверные версии операционок. Это и Windows, и Linux, и всякая экзотика типа Solaris, HP-UX или AIX. А вот заправка картриджей, решение вопросов «У меня Excel не работает» или «У меня почта отправляется» - это хелпдеск, а не администрирование системы. К сожалению, в маленьких фирмах эти две должности зачастую объединены в одну. Отсюда и стереотипы, что сисадмин это мастер на все руки. Он и утюг посмотрит, и ноут починит, и 1С на сервере обновит. А если из клавиатуры вытрясет все крошки - может решить мировую проблему голода.


Так же стоит сказать, что в больших организациях сисадмины специализируются зачастую только на одном направлении. Обычно таких направлений два. Это семейство ОС Windows и семейство ОС Linux/Unix. Внутри каждого направления бывает дополнительные разделения. Например это виртуализация на какой-либо из платформ, либо это высоконагруженные системы обработки данных, либо сервера под базы данных и т.д. Хороший администратор отлично знает своё направление и понимает принципы работы смежных.


Кандидаты бывают разные, но в 95% случаев резюме мало соответствует реальности. Чаще всего получается так:

- Я ставил на ноут Ubuntu и значит могу написать «Экспертные знание в области Linux».

- В наследство от предыдущего админа достался шлюз на FreeBSD - как минимум надо перечислить всё, что там стоит и что лично не настраивал.

- Написал Hello world на Python/Lua/etc - опыт программирования не меньше Middle в резюме.


И таких примеров масса. Где-то когда-то слышал или кто-то на работе использовал - значит надо указать в резюме.

Системный администратор Linux Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Длиннопост

Для оценки у меня есть список 40 вопросов разного уровня. Чем дальше по списку человек заходит - тем больше вероятность, что он будет у нас работать. Уровень от «как посмотреть версию ядра» или «как можно назначить ip адрес на интерфейс» до «принципы построения высоконадёжных кластеров виртуализации» и «преимущества Fibre Channel перед iSCSI». За пару лет я провёл больше сотни собеседований и на все вопросы никто ещё не ответил, но были люди, которые знали ответы на многие из них, а чего не знали - с подсказками понимали. Всего их было четверо и все в настоящий момент работают со мной.


В зависимости от уровня знаний и стремлений кандидата собеседование длится от 20 секунд до 3 часов. При этом мы не тираны и не маринуем 3 часа «без вынимачки». Мы и кофе напоим и печеньками угостим. Обычно две трети времени занимают наши вопросы и треть времени мы отвечаем на вопросы кандидата и рассказываем об организации.


Ну и на последок «успешные» примеры:


Успеть за 20 секунд.

- Как у Вас со знаниями Linux?

- Никак.

- До свидания.

Кандидат откликнулся на вакансию Старший системный администратор Linux.


Не интересно.

- У Вас в резюме опыт работы с Centos, Gentoo, FreeBSD. На сколько хорошо Вы с ними знакомы?

- Никак не знаком. Мне они не интересны.

- Зачем откликались на вакансию линукс-админа?

- …

- Всего доброго.

Зачем было тратить своё и чужое время - не понятно.


Уровень английского - made in velikobritania.

- Как исключить из обновления пакет?

- …

- Ну какой ключик надо использовать?

- …

- Хорошо, Вы набрали man yum, нажали слэш для поиска и что будете искать? Там же много всего. Какое слово?

- …

- У Вас указано уверенное владение английским. Есть слово include, включить. А как будет наоборот, исключить?

- Uninclude?

- [тихий мат про себя]

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


Что-то где-то слышал…

- У Вас в резюме есть опыт работы с git. Как сделать коммит в текущую ветку?

- …

- Надо набрать git и что? Какое слово дальше?

- …

- Зачем писать то, чего не знаете?

- …

Копипаста чужих резюме - зло.


Провал памяти.

- У Вас указан опыт разработки на Python. Какие есть встроенные типы структур данных?

- …

- Есть list, список, есть dict, словарь. А третий тип?

- Я не помню названия.

- Хорошо, list это прямые скобки, dict - фигурные, последний тип tuple - кортеж. Какие у него скобки?

- …

- Что за проект Вы писали на Python?

- Не помню.

- Ну что он делал? Для чего?

- Это давно было. Не могу сказать.

Знание Python это плюс в резюме только если оно действительно есть.


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

Ожидание: «Нагрузку на процессор можно посмотреть командой top».

Реальность: […белый шум в глазах…]


Данный текст побудило написать профессиональное подгорание.

Системный администратор Linux Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Длиннопост

P.S: Если ты понял почти всё из сказанного, тебя это повеселило, ты живешь в Ростове-на-Дону и хочешь работать по специальности из заголовка за ЗП выше средней по рынку - милости прошу в телеграмм. Логин такой-же, как и тут. Да простят меня модераторы и не сочтут рекламой.

GNU/Linux

1.1K постов15.5K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

132
Автор поста оценил этот комментарий
На собеседовании, спрашиваю у соискателя:
Я: Что такое Апач?
Соискатель: Нуууу, это что-то с индейцами связанное.
Я: Хорошо. У тебя осталась одна попытка, и это не вертолёт.

(с)bash
раскрыть ветку (1)
40
Автор поста оценил этот комментарий

Не слышал. Надо взять на вооружение)

показать ответы
14
Автор поста оценил этот комментарий
Собеседую эникея, как раз такого, который на все руки. Плавает в ответах. Ну, я настойчивая, думаю, раз на мои вопросы ответить не может, может хоть по своему резюме расскажет. А в резюме у нас и опыт работы с 1с, и с ДНС. Вот так я и узнала, что "ДНС - это самый главный сервер", а работал с 1с - это "ну , я ее продавал".
раскрыть ветку (1)
17
Автор поста оценил этот комментарий

Хорошего эникея найти тоже сложно. Вроде требования ниже, а дичи больше)

показать ответы
4
Автор поста оценил этот комментарий

Большинство вопросов гуглится, не знания надо проверять, а умения.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Без знания как работает система - умение гуглить не поможет. Гуглу тоже надо правильно уметь задавать вопросы.

показать ответы
1
Автор поста оценил этот комментарий

А биллинг вбивают ручками 100500 тружениц с бумажного носителя, что бы не подвергать опасности данные ?

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Зачем? Есть же автоматические считыватели с перфокарт) Нужен "сильный программист", который эти перфокарты будет загружать в считыватель.

показать ответы
21
Автор поста оценил этот комментарий

Вот про man yum было обидно. А если мне Ubuntu-подобные линукса нравятся? Я бы man apt-get сделал :)

На питоне написал всего 1 программу, просто потому, что не нашел для java вразумительной библиотеки чтения dxf формата, а надо было срочно.

И svn я люблю больше, чем git. Мне одноранговое хранение ближе. А то в гите сначала себе надо закоммитить, а потом уже с глобалкой слить..

Мда.. на работу меня не взяли бы..

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Не угадал. Привязки к yum/git/python нет. Если есть знания - метод их применения довольно легко найти. Зная как работает svn не сложно перейти на git или, упаси ктулху, mercurial. Так же и с остальным.

показать ответы
116
Автор поста оценил этот комментарий
ответный пост

Не ожидал, что предыдущий пост даст такой фидбек. Когда утром увидел сообщения в телеграмме от нескольких человек - проскочила мысль: «Вот они, желающие поработать!». Но нет, не всё так просто.

Продолжение поста «Системный администратор Linux» Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Длиннопост

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


№1: «Я не хочу у Вас работать, дайте список вопросов» или «Я хочу пройти тест для себя».

Подробный список вопросов и ответов на них я опубликую после закрытия вакансий. С учётом объёма - это будет большой пост, а может и два. Не хотелось бы, что бы кандидаты приходили на собеседование заучив вопросы и ответы. Это затянет и без того долгое собеседование и в конечном итоге ничего не даст. Для «затравки» могу дать один вопрос/ответ из начала списка, который уже прозвучал в предыдущем посту:


- В: Как назначить IP-адрес на интерфейс? [Разумеется речь идёт о Linux и позволяет понять насколько большой опыт у кандидата]

- О: Назначить адрес можно несколькими способами. Всё зависит и дистрибутива, его версии и того, на постоянно надо назначить адрес или временно. Временно можно командами ip или ifconfig. Например ip addr add 10.0.0.1/24 dev eno1. Команда ifconfig используется для более старых дистрибутивов, команда ip - для более новых, т.к. в старых может не быть ip, а в новых не быть ifconfig. [При этом конкретный синтаксис не так важен. Главное, что кандидат знает что делать и понимает направление поиска параметров в случае чего]. Далее, если надо назначить адрес постоянно, можно это сделать при установке системы, либо после. Вариант при установке самый простой и не интересный. После установки это можно сделать специальными утилитами, если при установке системы был установлен Network Manager, такими как nmtui, nmcli или system-config-network-manager для старых версий RedHat-подобных дистрибутивов. Настройка через эти утилиты сводится к заполнению данных в предложенные формы или через командную строку в случае nmcli. Далее, настройка через конфигурационные файлы. Для начала надо понять какие у нас есть интерфейсы. Их можно посмотреть командами ip a, ifconfig -all или cat /proc/net/dev. В RHEL-based дистрибутивах необходимо создать файл /etc/sysconfig/network-scripts/ifcfg-названия_интерфейса, в котором надо указать настройки сети - адрес, маску, шлюз, dns и т.д. В Debian-based дистрибутивах интерфейсы настраиваются в одном файле - /etc/network/interfaces, в котором указывается интерфейс и его настройки. В более свежих дистрибутивах перешли на NetPlan, его настройки хранятся в /etc/netplan/ и представляют из себя структуры на Yaml - т.е. файлы форматированы отступами, минусами и двоеточиями. [Дословный синтаксис опять же не важен. Главное, что кандидат знает что это и как оно выглядит]. После сохранения конфигов необходимо перезапустить сеть или просто поднять интерфейс. Перезапуск через service или systemctl с указанием network, networking или NetworkManager в зависимости от версии дистрибутива. Поднять интерфейс можно командами ifup, ip link up … или ifconfig, опять же в зависимости от дистрибутива.


Это только один простой вопрос. По мере роста сложности - растёт о объём ответа.


№2: «Можно ли работать удалённо?»

Даже подготовленный специалист первое время будет обучаться, т.к. специфика не типовая для небольших и средних организаций. Удалённо пройти такое обучение конечно можно, но это будет долго и не эффективно. Готовых специалистов под наши задачи я пока не встречал. Часть оборудования предстоит «потрогать», часть - просто увидеть как с ним работают другие. Опять же, работа в коллективе, а не самостоятельно. Тысячи виртуальных машин, сотни хостов гипервизоров, схд разных мастей middle и hi-end классов, петабайты данных, san коммутаторы, большие сервера с террабайтами озу и тысячами потоков процессора - это то, с чем предстоит работать. К сожалению эффективно удалённо это делать не получится, так что нет, только локально.


№3: «Какой уровень знаний/требований?»

Уровень от среднего и выше. Необходимо понимать как работает система. Понимать как взаимодействует система с железом, какие могут быть узкие места и взаимное влияние. И это всё без гугления симптомов, т.к. при аварийной ситуации на это просто не будет времени. Если это есть - остальному мы готовы научить.


№4: «Рассматриваете ли кандидатов из других городов?»

Как говорил выше - только локальная работа. Есть желание перебраться в Ростов? Придётся делать это самостоятельно.


№5: «Я классный Python/Perl/PHP-программист, но мало опыта в линуксах. Возьмёте?»

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


№6: «Хочу у Вас работать. Вот резюме.»

Самый редкий тип запросов. Резюме отправляются руководству и оно решает, подходит кандидат или нет. Соответственно кого позвали HR на собеседования - будем общаться, кого не позвали - Ваш уровень или профиль не подошел. Но не стоит унывать, рынок труда большой и каждый найдёт свою работу мечты, главное не унывать и стремиться к новому.


На этом пока всё. Всем адекватных работников и работодателей)

Показать полностью
комментарии (168)
2
Автор поста оценил этот комментарий

А я не хочу. Начальник сразу видно зануда :)

раскрыть ветку (1)
9
Автор поста оценил этот комментарий

У меня есть 1387 причин почему я не зануда.

И да, я не начальник. Просто собеседую кандидатов в отдел.

показать ответы
3
Автор поста оценил этот комментарий

Я хочу у тебя работать, но Linux не знаю... Что делать?

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

Если есть хорошие знание FreeBSD или Solaris - этого тоже достаточно. Остальному научим. Ну а если знаний нет - дорогу осилит идущий. Сейчас масса всяких курсов и документации. Главное - это стремление.

показать ответы
6
Автор поста оценил этот комментарий

то есть админ работает прямо в серверной, да ?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Админ работает на своём рабочем месте, в локалке. Изолированный сегмент сети.

показать ответы
1
Автор поста оценил этот комментарий

Зачем работать в РнД за ЗП выше рынка, если вся работа удалено делается ?

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Есть такие сферы, которые не предусматривают работу удалённо. Финансы/биллинг, например.

показать ответы
12
Автор поста оценил этот комментарий

Ахренеть... Неужели на серьёзных щах, вот так, на халяву, люди пытаются устроиться на работу, которую они совершенно не знают и не понимают?... Полный фейспалм.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

От одних только фейспалмов можно получить сотрясение мозга)

показать ответы
7
Автор поста оценил этот комментарий
Интересуюсь просто так - какая вилка зарплат в Ростове-на-Дону для такого рода специалистов?
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Зависит от знаний, от организации. В среднем 65 +/- 30.

показать ответы
27
DELETED
Автор поста оценил этот комментарий

Системный администратор - ИТ специалист, который поддерживает готовую систему (будь это заменить картридж, будь это systemctl restart NetworkManager). Пофиг из хелпдеск он или нет.

Системный инженер - ИТ специалист, который внедряет или дополняет системы, а так же решает проблемы вне компетенции администратора.

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


Так вот:

«принципы построения высоконадёжных кластеров виртуализации» и «преимущества Fibre Channel перед iSCSI»

вам нужен Cистемный инженер Linux

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Всё начинается с малого. Нужен хотя бы администратор, а до архитектора мы его прокачаем) В идеале да, именно инженер.

показать ответы
Автор поста оценил этот комментарий

Удаленную работу рассматриваете?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Нет. Только локально.

показать ответы
DELETED
Автор поста оценил этот комментарий
Есть вероятность того, что всё-таки взяли бы на работу админа, без опыта работы в Linux системах, при условии, что они ему интересны?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Вообще без опыта - нет. Со смежным опытом - легко.

1
Автор поста оценил этот комментарий

о, надо таки контроллер докер-узлов на питончике добить, спасибо что напомнили.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

кубер, дженкинс и гит уже придумали. зачем писать свою версию? может стремление лучше направить в более полезное русло?)

показать ответы
Автор поста оценил этот комментарий

А эникеи вам не надо? Именно картриджи. Просто, ради интереса спрашиваю :)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Именно в наш отдел - нет. Про другие - не скажу.

показать ответы
1
Автор поста оценил этот комментарий

Ну это сказки какие-то, достаточно посмотреть, где чел работал и звать уже, понимая, что он может. А собеседовать «на вокзале» всех прохожих...

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

2
Автор поста оценил этот комментарий

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


> «как посмотреть версию ядра» 

uname -a

> «как можно назначить ip адрес на интерфейс»

Система какая? Debian-like и CentOS очень разно настраиваются, причём центовку без гугла можно запомнить только если фигачишь постоянно.


> «принципы построения высоконадёжных кластеров виртуализации»


Вот тут можно удариться в теорию и фантазию. Если нужно совершенно неубиваемое решение, то нужно помнить, что виртуалка в теории работает везде, следовательно критичны именно данные. Дальше от уровня паранойи - сперва RAID, потом дубль-сервер и дубль-датацентр, 2 и 3 можно совместить, если дубль-сервер будет в другом дата-центре. Но тут есть нюансы. Дубль-сервер вещь дорогая, поэтому резервные копии дисков лучше писать на СХД с которого в случае ЧП слить образ и перезапустить. ФС CephFS или GlusterFS - они работают как RAID, только между серверами. Не юзал, ничего сказать не могу.


Короче имеем 2 ЦОД в котором есть сервера виртуализации и СХД, развернутая CephFS или GlusterFS. Сервера виртуализируют, СХД хранят данные, если сервер сдох, то вводится на замену другой, данные реплецируются.


> «преимущества Fibre Channel перед iSCSI».

На уровне теории слышал про скорость работы и большей масштабируемости. ХЗ, в реале не сталкивался.



На выходные можно попробовать "собеседоваться" для личной проверки уровня?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Это только 4 вопроса.

Про адреса - вариантов как минимум два изначально. Надо адрес постоянно или временно? временно на debian/rhel-based командами ip или ifconfig. Постоянно в конфигах /etc/sysconfig/network-scripts/ifcfg-... или /etc/network/interfaces. Или через network manager - nmtui, nmcli. А вот в солярке только постоянно можно назначить и только командой ipadm, только до этого надо интерфейс приготовить командой dladm. Это в 11 (актуальной) версии. В 10 солярке - ifconfig.

Отказоустойчивость реализовывать на ceph - так себе решение. Гипервизор kvm? High availability как там работает? На сколько знаю - из коробки никак) Логичнее midrange san использовать и нормальную кластеризацию, например esxi. Ну или hyper-v, если вм будут на windows.


FC vs iSCSI - вопрос скорее теоретический. Надо просто понимать как они работают и тогда не будет вопросов "почему scsi работающий гарантированно лучше scsi завёрнутого в негарантированный сетевой стек?".


Итого: знания есть, но 100% верный ответ только на 1 вопрос из 4) Но и этого достаточно на собеседовании для начала дискуссии.

показать ответы
5
Автор поста оценил этот комментарий
Под Московским меркам немного :-)
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ну так то и уровень расходов в "провинции" не столичный.

показать ответы