Все, что нужно знать об ОС на техническом интервью
Усі статті, обговорення, новини про DevOps — в одному місці. Підписуйтеся на DOU | DevOps!
Я Тарас Остапенко, СЕО IT-аутсорсинговой компании OS.ECO. В компании 10 системных администраторов, а у меня — двенадцатилетний опыт проведения собеседований с кандидатами на эту должность. Потому делюсь информацией о том, как начинающему системному администратору подготовиться к техническому интервью, что нужно знать и как сразу понять получите ли вы оффер после собеседования или нет.
На сегодняшний день распространены операционные системы семейства Windows и Unix-подобные (куда относятся Mac OS, многочисленные дистрибутивы Linux’а и семейство BSD). Поэтому приглашая администратора на собеседование в нашу команду, мы интересуемся его знаниями во всех системах (исключая BSD). По опыту можем сказать, какие базовые навыки должен иметь джуниор сисадмин для успешного старта в этой профессии.
Что должен уметь начинающий сисадмин
Начнем с самого простого и базового:
- Развертывать операционную систему.
- Понимать различия между файловыми системами.
- Добавлять и настраивать пользователей ОС.
- Настраивать политики безопасности.
- Проводить базовую сетевую настройку ОС, включая работу с VPN.
- Работать в консоли операционной системы.
- Уметь читать журнал ошибок ОС и служб.
Конечно же, кто-то скажет, что это не полный список, но речь идет о нашем опыте и конкретно моем мнении. И моя цель — помочь начинающему системному администратору выстроить план обучения и входа в профессию.
А теперь поговорим детальнее по каждому пункту.
Развертывание ОС
Почему крайне важно уметь устанавливать операционную систему? Потому что в компании, где свыше 1 000 сотрудников, системному администратору за неделю это нужно делать
Думаю, теперь понятно, почему этот навык в списке базовых и важных для сисадмина. На собеседовании всегда спрашиваю об опыте работы с каждой операционной системой и жду от кандидата «Умею разворачивать Windows, Ubuntu и другие». Кстати, о разворачивании Mac OS не спрашиваю: этот навык не удивляет/не важен, так как тут все примитивно.
Понимание различий между файловыми системами
Глубокие знания каждой файловой системы не нужны. Они ни начинающему системному администратору, ни продвинутому не пригодятся. Но иметь базовые знания об особенностях каждой из них — нужно.
К примеру, на Linux часто по умолчанию предлагается файловая система ext4. Но есть и прочие. Например, у Btrfs есть возможности сжатия и дедупликации, у ZFS — создания снимков и сжатия данных, F2FS оптимизирована под использование с SSD. Поэтому, имея эти знания, вы будете понимать, в каких случаях какая файловая система будет оптимальной. И это нужно применять на практике!
К примеру, на некоторых серверах мы используем ZFS ради возможностей по сжатию. Без ZFS данные 2 ТБ занимают, на ZFS — 1 ТБ. Еще мы пытались произвести дедупликацию, но тогда происходит странная деградация диска, по крайней мере в связке с dedup+compress. Ниже коэффициент сжатия на одной из нод:
n1n3 compressratio 4.28x - n1n3 compression lz4 local
Вот пример датасета одного из серверов:
used 176G compressratio 5.16x compression lz4 refcompressratio 5.18x logicalused 908G logicalreferenced 906G
Как видите, на ноде 176 Г данных, без сжатия было бы 906 Г.
Добавление и настройка пользователей ОС
Думаю, понятно, зачем нужны эти знания, но все же. На рабочем компьютере всегда будет больше одного юзера. Это связано с разграничением прав доступа. И это правильная практика. Дело даже не в том, что компания не доверяет сотруднику. К примеру, мы часто отвозим компьютеры в сервисный центр на ремонт или диагностику. В некоторых ситуациях нужно завести юзера с минимальными правами для работников сервисного центра. Ты не переживаешь ни о каких данных на компьютере, и сервисный центр в полной мере может работать с компьютером.
Настройка политик безопасности
Вопрос безопасности данных стоит остро и разве что очень начинающие администраторы могут думать, что установка антивируса и брандмауэра — это все, что нужно для обеспечения безопасности данных, но это на самом деле далеко не так.
Существуют параметры безопасности, которые обеспечивают сетевую безопасность, доступность к данным и службам компьютера. И вот эти знания ценны и важны даже для начинающего сисадмина. К примеру, далеко не все базы данных должны быть публично доступны, и надо знать, как их закрыть от мира. Нужно понимать, почему WEP и тем более открытые сети — это плохо, а WPA2 — хорошо. И поверьте, все крутые компании очень заботятся о сетевой безопасности. И именно с этих соображений вы должны уметь создавать сертификаты для VPN.
Базовая сетевая настройка операционной системы, включая работу с VPN
Получив «чистый» компьютер, нужно не только установить операционную систему, добавить и настроить пользователя, но еще и настроить сеть. По опыту скажу, что у каждой компании существуют свои особенности и нюансы работы в офисной сети и нужно производить дополнительные настройки сети на компьютере.
А последние годы еще и многие компании используют VPN (IPSec, OpenVPN, PopTop DMVPN). Зачем? Например, для тестирования приложения из другой страны. А еще таким образом компании защищают доступ к корпоративным ресурсам. Особенно это стало актуально в ковидные времена после перехода на удаленку.
Поэтому нужно знать не только как настроить DHCP, но и задать статические настройки — IP, шлюз, маску сети, DNS-сервера и прочие. Еще рекомендую разобраться с правилами обработки hosts и маршрутизацией. Конечно же, не забываем и о настройке фаервола. Это базовый навык, который должен уметь сисадмин, и пригодится в случае, если в компании по какой-то причине не используется DHCP. И да, такое вполне может быть.
Работа в консоли операционной системы
Это в большей части касается Unix-подобных систем, но не стану отрицать, что и для обслуживания Windows этот навык тоже полезный. Да, большую часть настройки операционной системы можно сделать через оболочку, обойдя консоль, но рекомендую стараться больше работать в консоли и привыкать к ней, так как более тонкая настройка или диагностика операционной системы все же производится через неё. Опять же, особенно если вы хотите работать в команде DevOps (потенциально каждый начинающий сисадмин вырастает в DevOps`а).
Читать журнал ошибок ОС и служб
Современные системы достаточно сложны в плане устройства и работа с ними невозможна без периодически встречающихся ошибок. А их устранение невозможно без умения разбираться в причинах. Пользователь на экране видит ошибку, а админ читает журнал и только потом понимает, почему возникла проблема и как ее исправить. Никак иначе это не работает.
Вас не должны пугать такие понятия как DHCP/DNS/AD (GPO/WSUS/VSS). Что это и как с ними работать должен знать любой уважающий себя начинающий системный администратор. Обязательно! Я специально не буду расписывать подробнее об этих службах, так как информации в Интернете много — ищите, читайте, разбирайтесь.
Обучение
Перед тем как советовать какие-то курсы, рекомендую сначала заняться самообучением. Минимальную базу можно получить и бесплатно. Уточню, речь идет о самых минимальных понятиях по администрированию. У каждого начинающего есть момент, когда он понимает, что эта профессия его, и он готов двигаться и развиваться дальше. Вот тогда рекомендую идти на курсы (на все курсы нужно идти с минимальным набором знаний).
Рекомендую курсы от CISCO. Больше никаких рекомендовать не буду, так как опыт есть только с этой академией. Думаю, что этого вполне достаточно для начинающих сисадминов и идеально для того, чтобы понять точно ли вы будущий крутой сисадмин или нужно еще поискать себя.
Первый оффер начинающего сисадмина
На техническом интервью будьте готовы рассказать о своем опыте работы с каждой операционной системой: с какими сервисами и службами работали и с какими сложностями при этом сталкивались. Обязательно в деталях расскажите о ваших достижениях в администрировании систем, даже если считаете их незначительными. Что-то поднимали с нуля? Расскажите об этом с уверенностью! Не забудьте в деталях рассказать, с какими ошибками сталкивались и как их решили. Чтение и понимание логов — фундамент сисадмина.
Хочу еще рассказать, как не нужно делать, готовясь к собеседованиям. Мы сейчас активно набираем сисадминов и потому рассматриваем много резюме, приглашаем на собеседование, и вот что получаем: кандидат в резюме описывает все свои навыки и является идеальным для нас сотрудником. Рекрутер берет резюме и приходит ко мне. Я изучаю резюме и после прошу рекрутера звонить кандидату. Пообщавшись с кандидатом, мы решаем пригласить его на техническое интервью. Человек приходит и оказывается, что много чего из написанного в своем резюме не знает, а с некоторыми службами работал поверхностно. При этом на вопрос «А как же ты будешь решать проблему?», человек отвечает «Погуглю или спрошу друзей-сисадминов». Вот так и не нужно делать. Конечно, с кандидатом долго мы не говорили и никакого оффера он от нас не получил.
Мы в свою команду берем только опытных администраторов, но бывает, что даем шанс и начинающему. Как это и случилось два месяца назад. Почему мы взяли его в команду, если еще на собеседовании поняли, что кандидат не нашего уровня? Портфолио и потенциал.
Человек уже производил базовую настройку операционной системы с достаточной уверенностью как для начинающего админа. Он рассказал, как диагностировал новые для него ошибки и как тестировал незнакомые политики безопасности.
Посовещавшись, мы решили дать кандидату шанс, так как человек показал, что он учится и не будет прекращать это делать.
Вот именно так и работают ваши навыки и потенциал на вас, потому развивайте их. Надеюсь, статья будет полезна для джуниоров и направит в правильную сторону развития.
Выводы
Имея нужный багаж знаний и опыта работы с операционными системами и службами (для этого, кстати, не обязательно работать в компании), можно рассчитывать на первую работу в неплохой компании. Важно помнить, что нервничать на техническом интервью — это нормально и в этом нету ничего удивительного или постыдного. Важно не забыть рассказать все, что знаете и умеете, и даже если вы и будете перекошены из-за напряжения, то работодатель не обратит на это внимание и поверьте, такое эмоциональное состояние никак не влияет на результаты собеседования.
Надеюсь, был полезным. Успеха!
25 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів