85

Продолжение поста «Системный администратор Linux»

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

Продолжение поста «Системный администратор 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 на собеседования - будем общаться, кого не позвали - Ваш уровень или профиль не подошел. Но не стоит унывать, рынок труда большой и каждый найдёт свою работу мечты, главное не унывать и стремиться к новому.


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

Показать полностью 1
315

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

К сожалению я не успел в очередную волну историй про собеседования, но всё же хочется поделиться своим опытом со стороны работадателей. Как часто бывает в больших организациях, собеседование проходит в несколько этапов. Однако самый первый и самый важный этап - техническое собеседование. Надо выяснить уровень знаний претендента, умение находить решения не типовых задач и провести первичную оценку адекватности, как бы смешно это не звучало. Так получилось, что результате реорганизации в моём отделе образовалось некоторое количество вакансий. И это именно системные администраторы. И именно 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: Если ты понял почти всё из сказанного, тебя это повеселило, ты живешь в Ростове-на-Дону и хочешь работать по специальности из заголовка за ЗП выше средней по рынку - милости прошу в телеграмм. Логин такой-же, как и тут. Да простят меня модераторы и не сочтут рекламой.

Показать полностью 2
Отличная работа, все прочитано!