Вопросы на собеседовании младшему Линукс админу
Коллеги, подскажите, хочу уйти в линукс админство. Какие вопросы меня могут ожидать, какие бы вы задавали джуну? Мне 24 года, вроде еще не старик. Полагаю есть компании которые берут джунов. (Москва) Сейчас работаю шивой — и хелпдеск линукс и виндоус и свичи настроить и вай-фай. Но специализация вроде как решает. И по деньгам и по востребованности. По инструкции раскатывал рабочие места с chef-сервера, поднимал заббикс-прокси, добавлял oid итд, хосты, шаблоны итд. Настраивал оповещения. В процессе самообучения поднимал Gitlab, Zabbix. Сейчас активно изучаю Ansible. И какую ЗП писать в резюме? Сколько могут платить джуну?
Перемещено leave из job
Чтоб мне такие джуны попадались.
Ты скорее ближе к миддлу.
Приходили тут ко мне синьоры-помидоры, не слышиавших половину тобой перечисленных слов.
берешь свою ЗП, плюсуешь к ней 50-100к, и публикуешь.
У меня сейчас 60 000, судя по НН.ру я едва в джуны кажусь. (или это замысел корпораций завышать требования? :D) А уж 50-100 это вообще смешно. Или это троллинг(
У джуна больше оценивают желание работать и адекватность в целом (поэтому не стоит говорить, что зарегистрировался на лоре).
То есть, спрашивая «как настроить $featurename в $distroname» оценивают скорее общую толковость ответа, а не то, знает ли кандидат конкретно это. Ну а в целом кэп подсказывает, что спрашивают то, что актуально в конкретной компании.
Зарплату в резюме писать не надо вообще, её обсуждают на собеседовании. Опять-таки, в нормальных конторах понимают, что джун едва ли может дать оценку своим навыкам с учетом особенностей рынка, города и конкретной конторы и не будут ловить на недооценке/переоценке себя любимого.
Это даже не заговор корпораций — это как правило тупоголовость HR, которые вбивают в требования все когда-либо слышанные аббревиатуры.
160 — мало? в чем ты заподозрил троллинг?
Вот типичный пример https://hh.ru/vacancy/30974177 тут тебе и кубы и докер и базы данных и питон веб-сервера и все это 93 до налогов (
Какие вопросы меня могут ожидать, какие бы вы задавали джуну?
Подготовь парочку показательных примеров, что ты сделал интересного на своей работе за прошлые полгода.
Собеседующие обычно тыкают вопросами куда попало наугад. Если видишь что попадают не туда, вполне нормально сказать мол, занимался не этим, давайте лучше расскажу про то, чем занимался. Правда тогда уж эти темы действительно надо понимать, чтобы не получилось так что даже в той теме которую ты сам выбрал ты совсем не разбираешься.
Ну и имхо то что ты описываешь это не то чтобы джун уже. Так что не надо напирать на то что «Я только учусь» и «не судите строго», а стоит выбирать нормальные вакансии и собеседоваться по-взрослому, а дальше тебе при оценке зп скажут считают тебя джуном или как.
так это не по твоей области. там и программирование, и базы данных
Результат выполнения следующих команд
И будут искать мидла на джуниора
Собеседовался в Екате в Альфу, спрашивали очень много, по зп средне для города, офисное здание прям не вызывает желание работать. Может в Москве у них получше.
По инструкции раскатывал рабочие места с chef-сервера, поднимал заббикс-прокси, добавлял oid итд, хосты, шаблоны итд. Настраивал оповещения. В процессе самообучения поднимал Gitlab, Zabbix.
Самый лучший способ разобраться и научиться — сломать что-то, и починить, разобравшись в работе софта, или же воссоздать реальный функционал. Поднять заббикс нетрудно, однако писать шаблоны, знать его возможности и способы применения в работе, это уже сложнее.
Сделайте тестовую среду, ее и показывайте на собесе, мол, вот тут я применял это и то.
или это замысел корпораций завышать требования?
не слышиавших половину тобой перечисленных слов.
интересно как ты думаешь если админ юзал puppet, справится ли он с ansible ?
а тебе нужны пионеры?
В обратную сторону не сработает, а в эту вполне.
Иди на мида. Стандартный стек вопросов: показатель лоад авг, ввод/вывод, зомби, иерархия процессов. Это на каждом собесе спрашивают.
. И ещё в копилку: последовательность загрузки ОС с вариативностью по глубине допроса, malloc/fork etc, различия между nginx и apache, межпроцессное взаимодействие, устройство фс, устройство памяти (резидентная, виртуальная итд), что-нибудь сравнительно примитивное по сетям в разрезе администрирования, часто контейнеры/cgroups.
Это так, что на память пришло из собеседок прошлых лет. Вообще многое зависит ещё и от профиля. Кому-то нужен уклон в мониторинг, кому-то в инфру с опытом траблшутинга аппаратных проблем в линуксе, кому-то нужен виртуальщик, кому-то уклон в сети а кому-то в бд. От вакансии все-таки зависит.
Какие вопросы меня могут ожидать, какие бы вы задавали джуну?
Обычно спрашивают базу, а ля «если у меня load 5, это хорошо или плохо» и «пишет no space left on device, что делать?» и «df -h показывает дофига свободных гигов, и всё равно no space left on device, почему?» ну и прочая классика а ля «free -m показывает, что нет свободного рама»
Бывает говорят «у меня сервер не работает, почини» и смотрят на твои обьяснения. Такие вопросы задают, что бы посмотреть действуешь ли ты по шаблону который выучил в саппорте или пытаешься думать мозгой и прочими частями тела.
Потом просто углубляются в то, что у тебя написанно в резюме, дабы понять, действительно ли ты работал над тем, что у тебя там написанно или просто рядом стоял.
По инструкции раскатывал рабочие места с chef-сервера
Ожидай вростов на тему что такое шеф и с чем его едят. Если будешь знать что-то большее, чем как толкнуть конфиги на клиенты, тебе это будет бонусом.
Из джуна который делает все по инструкции и не интересуется большим, сложно вырастить толкового админа.
Если ты в девопсы метишь, помимо понимания шефоансиблей, от тебя будут хотеть знаний гита, а ля обьясни разницу между git merge и git rebase.
Вопрос на самом деле выявляет хреновых девов, но когда админ не отвечает на такое, общее впечатление всё равно портится.
Серьезно? Когда админ не отвечает на » объясни разницу между git merge и git rebase», то админу это в минус?
интересно как ты думаешь если админ юзал puppet, справится ли он с ansible ?
Потенциально любой может справиться с чем угодно.
Однако работать надо здесь и сейчас, а не когда-нибудь потом, когда справится. Если для джуна или миддла несоответствие заявленного в CV еще может считаться приемлемым, то для синьоров — нет.
А у меня общее впечатление портится, когда Senior DevOps понятия не имеет про tcpdump и strace.
И так, в итоге по моему вопросу подтвердите или опровергните/добавьте: — на джуна в принципе можно идти, если руками делал перечисленное и в теории могу рассказать что и как работает (хотя бы общие принципы) — писать в резюме то что реально делал (вопрос имеет ли смысл писать то что просто учил?) — если на собеседовании спросят про деньги и работодатель сам первый не назовут цифру, то 60-80 тысяч можно просить? — готовиться к основам, всевозможные флаги к типовым командам, типа ls, rm, netstat etc..
В Юбисофте было в минус.
ЗЫ: гитовые вопросы для девопсов. Если собеседуют админа на позицию админа, про гит спрашивать не будут.
угу. и про load ответить не могут)
в этой профессии 24 — уже много. я в 21 был джуном, кто-то в 18 начинает.
По инструкции раскатывал рабочие места
чтобы там господа выше не отписали. важно не то, сколько умных слов ты знаешь или какой софт смог настроить по инструкции, а насколько у тебя есть общетеоретические знания. меня бесят технари, которые все настраивали, но не в состоянии сразу назвать уровни OSI (ну можно где-то замяться, но идея применительно к tcp/ip+arp должна быть ясна), описать tcp хендшейк или работу arp-протокола. короче, будет зависить от того, куда ты пойдешь. пойдешь в торговую фирму — там всем пофиг. пойдешь к айтишникам, могут ожидать, что ты кроме рук имеешь еще и голову.
Подготовь парочку показательных примеров, что ты сделал интересного на своей работе за прошлые полгода.
Ну и имхо то что ты описываешь это не то чтобы джун уже.
ну да, то есть если у него полгода опыта настройки софта по инструкциям, то вы его к своим серверам на федоре пустите?) ну да, а че, всеравно ведь ломаются)
Источник
Где найти работу junior unix администратору?
Всем привет, мне 23 года, я студент, 4 год работаю в сфере it. У меня не хило бомбануло на тему поиска работы, так что читайте:
Я работал в основном эникеем, знал лишь о существовании ОС линеки nt, с unix познакомился случайно, в первые когда узнал, что мой роутер можно перепрошить в openwrt и нехило увеличить его функционал и стабильнсть. Затем посмотрел видео-курсы для unix администраторов. Я был в начале немного поражен сложной в освоении средой. Но затем понял, все преймущества unix: это и ФС с единым корнем и множеством точек монтирования, и пакетный менеджер, и простая понятная структура каталогов, стандартизированный подход к хранению конфигурационных файлов и логов. Большая свобода и гибкость в выборе системного и прикладного ПО, и главное большинство административных задач решается оооочень маленькими ресурсами и не требуют x-сервера, например taskmgr.exe в виндовс жрет в 20 раз больше чем top или ps в unix. А самое главное преймущество для предприятий, это отсутсвие затрат на приобретение.
За годы своей работы каких только идиотских решений я не встречал, например в офисе с 10 рабочими станциями, поднят интернет шлюз и файловый сервер на windows xp + acronis backup + kerio control, потомучто директор захотел заблокировать доступ сотрудникам в социальные сети. Лицензии ломаные естественно, ведь откуда у конторы в 10 рабочих мест 20-40 т.р. на все эти продукты. НО ЗАЧЕММ?? debian+samba+squid+bind+cron+ rsync справились бы с этой задачей на ура и абсолютно бесплатно, плюсом можно было поднять apache, sendmail, cups, сервер сканирования, софт-рейд из 2х дисков, и даже хилый системник, решал бы все на ура. И таких примеров полно, я знаю это потому что работал разъездным эникеем и бывал в
40 малых и средних офисах города. Все какбудто помешались на винде и платном громоздком и глючном как и сама винда софте, я даже лично знаю людей которые работают или работали в конторах 100+ рабочих стаций и при этом не используют в своей сети vlan, dhcp, dns и ad, вся их подготовка сводится к тому, чтобы установить ломаную винду, офис и ломаный радмин сервер чтоб далеко не бегать И при этом наибрают на 100 машин целый штат таких же «специалистов».
Не смотря на ту писанину что я тут устроил, у меня не большой опыт администрированию оных. Но есть желание работать и развиваться именно как unix-админ. Но вот вакансии в которых присутствовало бы unix/linux администратор, увы в моем городе почти нет, что посоветуешь форумачнин? Где востребованы такие специалисты? А самое главное где начать кареру?
Источник
KAZARIN OnLine
Blog about IT, Me, education, etc…
Вопросы для собеседования Системного администратора или DevOps инженера Linux. Часть 2. Simple Linux Questions
Всем привет! в прошлой статье мы начали разбор статьи с GitHub — Linux System Administrator/DevOps Interview Questions.
Сегодня будет пачка вопрос из раздела «Простые» — экзамен на звание junior Linux administrator.
Простые вопросы / Simple Linux Questions
1. Какое имя и UID у администратора системы? (What is the name and the UID of the administrator user?)
В Linux системе, как в большинстве unix-like/base систем, администратором (а точнее суперпользователем, тк администратором может идейно выступать любой пользователь, сопровождающий систему и способный получить права суперпользователя) является пользователь с учетной записью root. Название является исторически сложившимся и в принципе может быть заменено на любое другой. Права суперпользователя зависят не от названия учетной записи, а от ее идентификатора — UID (User ID). Для суперпользователя uid=0 и именно это так отличает его учетную запись от всех прочих.
2. Как вывести список всех, даже скрытых файлов, находящихся в директории (How to list all files, including hidden ones, in a directory?)
За вывод содержимого текущего (если без аргументов, содержащих путь к какой-то определенной директории) отвечает команда ls — сокращение от слова list. Параметр -a (сокращение от all) позволяет посмотреть все файлы, даже скрытые ( их имя начинается с точки), а если комбинировать его с параметром -l (long) — то мы увидим подробную информацию. Есть еще одна команда — tree, которая не входит в стандартный комплект утилит, которая также может показывать содержимое каталогов ( однако в более удобном-наглядном древовидном представлении) и так же может показывать скрытые файлы, дополнительную информацию и тд.
3. Какая linux/unix команда позволяет удалить директорию и все ее содержимое? (What is the Unix/Linux command to remove a directory and its contents?)
Существует команда rmdir, созданная специально для удаления директорий, однако она не удалит их, если директории не пусты. Команда rm может помочь нам в этом — если применить флаг -r (recursive) она рекурсивно удаляет все содержимое каталога и потом его тоже. Флаг -f позволит сделать это игнорируя различные предупреждения, однако будьте осторожны с этой комбинацией rm -rf — так как она может запросто снести вам большую часть системы). В обычной ситуации я бы рекомендовал использовать комбинацию -ri — тогд на удаление каждого объекта будет задаваться вопрос- а точно ли вы этого хотите.
4. Какая команда покажет вам объем свободной или используемой памяти? Существует ли в linux свободная память? (Which command will show you free/used memory? Does free memory exist on Linux?)
Еще одна команда, входящая в стандартный набор утилит linux — free. Как раз для этого и предназначена. Ряд модификаторов типа -h, -m, -b меняет формат вывода (байты, мегабайты и тп). Команда выводит информацию как по оперативной памяти, так и по свопу (аналог “подкачки” в windows). Однако столбцов там больше чем 2 ( свободно/занято), а точнее их 6:
- total – общее количество установленной в системе памяти — ОЗУ и под своп;
- used – реально использующая в данный момент и зарезервированная системой память; Вычисляется как ( total – free – buffers – cache)
- free – свободная память (вообще никем не используется);
- shared – Shared memory или Разделяемая память, обычно используется tmpfs.
- buffers – буферы в памяти – страницы памяти, зарезервированные системой для выделения их процессам, когда они потребуют этого, также известна как heap-memory;
- cached – файлы, которые недавно были использованы системой/процессами и хранящиеся в памяти на случай если вскоре они снова потребуются.
- available — оценка того, сколько памяти может быть доступно для запуска новых приложений без свопинга. То есть это сколько памяти система также может освободить + использовать свободное пространство.
5. Как найти строку “my konfi is the best” рекурсивно в файлах каталога? (How to search for the string «my konfi is the best» in files of a directory recursively?)
Самым простым и известным способом поиска является использование утилиты grep, с ключами -r (рекурсивынй поиск) — то есть поиск по каталогам и подкаталогам и ключом -i (искать вне зависимости от регистра). Однако grep не является лучшим вариантом поиска, так как является утилитой общего назначения. Вторым вариантом является вызов связки find + grep — первой из них вы можете задать что искать надо только по файлам ( игнорируя каталоги, линки, сокеты и прочие объекты, в которых искомой строки быть точно не может) а так же указать по каким файлам искать (задать маску расширения например). Тем самым ускорив поиск. И наконец третий вариант — использовать специализированную утилиту ack или ack-grep (одно и то же — просто названия разные). Она создана для поиска среди файлов проекта с исходным кодом, поэтому понимает некоторые казалось бы очевидные вещи (не ищи среди резервных копий файлов, среди файлов метаданных git и тп), тем самым еще сильней ускоря поиск.
6. Как удаленно подключиться к серверу или что такое SSH? (How to connect to a remote server or what is SSH?)
Удаленно к серверу можно подключиться довольно большим числом способов, в зависимости от того, что есть под рукой ( то есть в зависимости от вашего окружения). Вот только некоторые из известных мне способов:
- IP-KVM —
- VNC via IPMI / iLo / iDRAC / etc…
- VNC
- VNC via Web
- Web интерфейс
- Telnet
- SSH
- RDP
Однако, в обычной ситуации когда речь заходит про удаленное подключение к Linux серверу, речь обычно идет про SSH (а если быть точнее — openssh), который де-факто является стандартом удаленного управления Linux серверами. SSH или secure socket shell — протокол, обеспечивающий защищенный при помощи криптографических средств способ подключения к удаленному командному интерпретатору. Защита представляет собой обеспечение безопасности в двух аспектах:
- Обеспечение конфиденциальности передаваемых данных — вводимых команд и получаемых ответов за счет шифрования всего трафика, передаваемого между клиентом и сервером.
- Защита от атак типа MiTM — за счет сохранения отпечатка ключа сервера на стороне клиента при первом подключении с последующей сверкой его при каждом следующем подключении
7. Как посмотреть все переменные окружения и как вы можете их использовать? (How to get all environment variables and how can you use them?)
Переменные окружения — сущность, существующая во всех unix подобных операционных системах (и отчасти в windows тоже) — это переменные, задаваемые для каждого отдельного сеанса пользователя (как интерактивный — вход в режиме графического интерфейса, запуск командного интерпретатора так и не интерактивный- запуск процесса от имени пользователя), и несущие ряд настроек- пути поиска бинарных файлов утилит, локаль и язык окружения, основной редактор и прочее.
Как посмотреть — используя например команды “printenv” или “env”. Задать — с помощью команды “export”. Использовать можно для изменения поведения системы и запускаемых приложений. Так же в некоторых ситуациях для конфигурации программ и сервисов. В моей практике была система, состоящая из нескольких сервисов, написанных на node.js. Так вот ее конфигурация задавалась через переменные окружения, а вместо конфигурационного файла использовался специальный bashrc профайл с значением переменных окружения для пользователя, из под которого запускался процесс.
8. Я получаю сообщение «command not found» когда я ввожу “ifconfig -a”, что я делаю не так? (I get «command not found» when I run ifconfig -a. What can be wrong?)
Мне известны две причина:
- Пакет, содержащий утилиту ifconfig не установлен (обычно она входит в пакет net-tools — установите его).
- Каталог “/sbin”, в котором содержится эта утилита, не добавлен в пути поиска вашей переменной окружения “$PATH” — в таком случае попробуйте ввести полный путь для этой утилиты “/sbin/ifconfig -a”. Такое например случается когда вы работаете не под учетной записью с правами суперпользователя.
9. Что происходит когда я ввожу “TAB-TAB”? (What happens if I type TAB-TAB?)
в зависимости от того где мы применяем эту комбинацию. В случае когда мы набираем команду в терминале, эта комбинация сработает как автодополнение — дописав команду за нас. В случае когда мы вводим аргументы команды — имя файла или путь, он так же будет дополнение. В обоих случаях это сработает в случае если существует однозначное соответствие.
10. Какая команда покажет доступное пространство в Unix/Linux системе? (What command will show the available disk space on the Unix/Linux system?)
df или disk free — команда, отображающее свободное место на той или иной файловой. У команды существуют различные модификаторы ее вывода- например отображение размера в человеко-читаемом формате (-h):
Источник