DevOps // Human Help – Telegram
Channel created
⌨️ Привет всем, добро пожаловать на наш канал!

Меня зовут Глеб, и я здесь отвечаю за публикации на темы администрирования Linux и DevOps. Иногда делюсь информацией о технических собеседованиях, даю советы по карьерному росту для начинающих специалистов, и тех, кто уже вышел на уровень джун+. Также помогаю с подготовкой к собеседованиям для специалистов уровня мидл. С радостью почитаю или послушаю об опыте специалистов любого уровня, если наши читатели захотят таковым поделиться. Больше информации обо мне можно найти на моей странице на сайте GetMentor, где я описал, с какими вопросами могу помочь лично вам. Там же вы сможете прочитать отзывы людей, с которыми я уже работал.

Вкратце про мою карьеру в IT: у меня нет профильного образования, выпустился со степенью бакалавра по специальности “Прикладная механика”, специальность, подходящая скорее для чисто инженерной карьеры, так и получилось, я 4 года работал на космос, рассчитывал прочность компонентов ракет-носителей, даже посчастливилось съездить в командировку на космодром Байконур и поучаствовать в пуске. Но денег в русском космосе для простого инженера было немного, поэтому пришлось поменять направление развития. Так я оказался в Sber Infra, работал там над несколькими проектами по сопровождению (распределенное хранилище Hadoop, кластеры NoSQL баз данных). Спустя 4 года я получил оффер от IT-отдела Кадастровой палаты и сыграл ключевую роль в интересном проекте по миграции огромного массива данных Росреестра, к сожалению, мне удалось поработать над этим проектом всего лишь меньше года, по определённым обстоятельствам пришлось сменить не только место работы, но и страну проживания. Сейчас я DevOps в Retail Rocket, работаю удаленно.

А ещё я практикую IT-репетиторство и на своих занятиях стараюсь давать практику, максимально приближенную к реальным рабочим задачам. Моя цель — чтобы студенты получали не только знания и опыт, но и удовольствие от процесса обучения.

Этот пост — для знакомства со мной и моей деятельностью. О содержимом канала и моих соавторах расскажу подробнее в следующих публикациях.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍74🎉1
Всем привет! Меня зовут Катя и я - IT talent sourcer, твой инсайдер о рынке труда и фея эффективных резюме

Моя карьера в области айти-рекрутинга началась в 2022 году в агентстве по подбору персонала, где я работала с такими компаниями, как Яндекс, Тинькофф, Промсвязьбанк и InDriver. Сейчас тружусь в двух местах - аутстаффинговой компании, нанимающей разработчиков, девопс-инженеров, аналитиков и тестировщиков на проекты нескольких российских банков, и в международном агентстве, специализирующемся на найме в финтех-стартапы, которые в большинстве своем связаны с трейдингом и криптовалютой.

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

Очень рада знакомству!
🔥7👍53
⌨️ Из чего сделаны наши процессы?

#process_management

Что такое процесс в OS Linux? Если подходить формально и давать наиболее краткое определение, то процесс — это экземпляр программы, загруженной в память сервера и выполняющейся в данный момент в системе. Процесс состоит из двух компонентов: адресное пространство и набор структур данных внутри ядра.

Первое — это виртуальная область памяти, которую процесс использует для выполнения своих задач. В этом пространстве содержится всё, что нужно процессу для работы: его код, данные, библиотеки, которые он использует, переменные и стеки.

Второе — это метаинформация о процессе, которую ядро использует для управления им, например, текущее состояние процесса, его приоритет, информация о используемых ресурсах и т.д.

Аналогия: Процесс можно представить как совокупность офисного клерка, его собственной изолированной рабочей зоны со всеми нужными инструментами, отделенной от остального опенспейса перегородками, и записи о клерке и его задачах. Ядро в этой аналогии — это корпорация, которой принадлежат и сам клерк, и его ноутбук, и перегородки рабочей зоны, и записи обо всех этих вещах. Такая вот желающая машина на теле без органов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
👰‍♀️ Как точно НЕ получить работу в айти: 5 простых шагов. Вредные советы

#рекрутинг

Шаг 1. Скрываем абсолютно все контакты в резюме. Как известно, любой нормальный работодатель умеет пользоваться голубиной почтой и обязательно вас найдет.

Шаг 2. Эйчар-интервью - это пустая трата времени! Уверенно отказывайтесь его проходить и настаивайте сразу на общении с лидом.

Шаг 3. Если коварный рекрутер все же заманил вас на звонок с собой, нужно всем своим видом продемонстрировать ему, насколько вы недовольны этим фактом.

Шаг 4. Попросите друга сходить за вас на техническое интервью. Если камера не включена, то вас никто не спалит!

Шаг 5. Когда дело дойдет до оффера, скажите, что у вас их уже пять, и потребуйте сумму +100 тысяч к той, что вы обговаривали на прошлых этапах.

Ждем ваши “вредные советы” в комментариях ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12😢521🔥1
⌨️ Немного о чудовищных собеседованиях

#собеседования

Всем привет и добро пожаловать в вечер пятницы!

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

Начнем с классики: бесконечное техническое собеседование. В IT много энтузиастов, желающих выполнять свою работу хорошо. Иногда это доходит до абсурда. Скажем, встречается соискатель и интервьюер: один из них готов до бесконечности задавать вопросы, а второй с разной степенью успешности на них отвечать. В итоге выходит интересное противостояние, длящееся несколько часов, и неплохо было бы, чтобы одна из сторон нашла в себе силы прекратить его - лучше раньше, чем позже. В общем, когда договариваетесь о собеседовании, фиксируйте время интервью, ведь ситуация неравная хотя бы потому, что соискателю никто за лишний час интеллектуальной дуэли не заплатит, а интервьюер тратит свои рабочие, то есть оплачиваемые, часы. Лучше все моменты обговаривать заранее, оптимальная длительность одной секции интервью - 1, максимум 1.5 часа. Цените своё время.

Когда шарашкина контора слабая компания мнит себя Google, секций технического собеседования может быть ни одна, ни две, и даже ни три. Кроме того, всё это великолепие может быть скрыто за файрволом технического задания. Получив от HR интервью план, соотнесите своё желание работать именно в конкретной фирме с размером испытаний для соискателей, которая она предлагает.
Встретилась мне одна аутстаф-компания, в которой собеседование проводил аутстаф-интервьюер, что означало вечную спешку, непрерывный поток вопросов, и было противоположностью бесконечного интервью. Человек, которого наняли исключительно для собеседований и который на втором экране проставляет галочки в списке из десятка соискателей, постоянно торопится. Его время жестко ограничено, вы у него третий, а впереди еще три. Скажем так, такой тип собеседования не будет комфортным. Вы также не сможете спросить его о компании, в которую вы устраиваетесь (он о ней ничего не знает), и рассказать о своем опыте (в форме которую он заполняет подобные изыски не предусмотрены), это придется делать во время следующей секции, а мы помним, что количество секций должно быть строго пропорционально престижу работы в этой компании и уровню зарплаты. Станет ли уважающая себя компания отдавать на аутсорс собеседование, даже если это один из ранних его этапов? На этот вопрос придется искать ответ индивидуально, но что-то мне подсказывает, что в 90% случаев - “нет”.

Думаете, аутстаф-интервьюер - это самый худший тип интервьюера? Если подумать, всё не так плохо: если сильно попросите, то он даст обратную связь в конце интервью, и, что не менее важно, он знает правильные ответы на свои же вопросы. Тогда как джун-интервьюер не знает, да и вопросов у него поболее будет. Собес, который ведет джун - это два часа странной игры, в которой соискатель не понимает, что конкретно от него требуется сказать, отвечая на тот или иной вопрос, а интервьюер не в силах ему с этим помочь, он абсолютно не имеет понимания о правильности данных ответов. Интервью, разумеется, записывается, чтобы затем его мог посмотреть страшно в данный момент занятой старший товарищ (удачи ему в этом). Неделю спустя соискателю прилетит оффер, но пойдет ли он в компанию, где даже интервью не могут организовать нормально? Ответ очевиден.

Это только малая толика баек, которые я хотел вам поведать. Если вам понравилось, дайте знать реактами и комментариями. Через некоторое время планирую рассказать о провалах HR - поверьте, там тоже всё довольно интересно.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5😱3
⌨️ Внутри процесса (thread inside)

#process_management

Поток — это единица выполнения внутри процесса, работающая независимо. Потоки обеспечивают параллельное выполнение задач, совместно используя пространство памяти и ресурсы процесса, что упрощает обмен данными между ними.

Основные компоненты потока:

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

- набор регистров: хранит контекст выполнения потока, включая значения регистров процессора, такие как счетчик команд и указатели стека.

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

Аналогия: продолжая наши офисные инсинуации, где процесс — это клерк, потоки можно представить как его левую и правую руку. Одна рука может делать заметки, а другая параллельно печатать годовой отчет. Эти руки работают независимо, но при этом остаются частью одного и того же клерка. Ничто не мешает одной руке помочь другой: например, левая рука может подать папку с документами правой, передвинуть курсор мыши или выполнить другую вспомогательную задачу. Руки клерка не являются изолированными единицами; они могут взаимодействовать и координировать свои действия. Однако, они также могут мешать друг другу, конкурируя за доступные клерку ресурсы, но об этом как-нибудь в другой раз.

Более подробно читаем тут
Please open Telegram to view this post
VIEW IN TELEGRAM
622
Давайте проведём небольшой опрос

Ставьте реакцию с вашей любимой/наиболее используемой/изученой вами OS на базе Linux

Победившая OS станет эмодзи-статусом канала на неделю)

Если у вас нет с ней реакций - пишите название в комментариях ⬇️
2111861
👰‍♀️ Так почему они вредные?

#рекрутинг

Надеюсь, вы все посмеялись над прошлым постом с вредными советами. А теперь разберем, чем же так плохи все перечисленные в нем советы

1. Чем больше контактов вы укажете в резюме - тем легче и удобнее будет вас найти. Если вы не хотите, чтобы коллеги с нынешней работы видели, что вы в поиске, то на ХХ есть возможность скрыть резюме от конкретной компании или нескольких.

2. В каждой компании существуют (более или менее) отлаженные процессы, и никто не станет делать исключение ради одного, пусть даже сильного кандидата. По крайней мере, не на начальных этапах. Требуя пропустить эйчар-интервью, вы, в лучшем случае, испортите настроение рекрутеру и попадете в “черный список” компании, а в худшем - в “черный список” побольше, ведь многие эйчары общаются между собой 👾

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

4. Ни для кого не секрет, что айти - очень желанная сфера, поэтому обман со стороны кандидатов встречается часто. Для многих работодателей выключенная камера даже на первичном собеседовании, не говоря уже о техническом - это огромный красный флаг. Если вы хотите подстраховаться на интервью, делайте это с умом.

5. Ходит легенда, что итоговую сумму в оффере можно повышать бесконечно, но это не так. Да, может получиться прыгнуть на 10-20 тысяч выше верха вилки, но, если торговаться во множество этапов и особенно прикрываться несуществующими офферами на значительно большую цифру, чем та, о которой вы говорили изначально, скорее всего, к такому кандидату потеряют интерес.
Please open Telegram to view this post
VIEW IN TELEGRAM
9🤔2💯2
Всем привет! Благодарю за активность под постом про выбор любимой OS. Победила ubuntu, хотя лично я болел за debian. Мэйнил же я совершенно разные оси, и это, конечно, зависело от текущего место работы. В разные годы это были rhel, centos и debian. Как-нибудь обязательно напишу пост на схожую тематику, а сегодня поздравляем победителя! Как и обещал, его символ повисит в названии канала неделю. 👩‍💻
Upd. Оказалось, что кастомный эмодзи в название канала поставить нельзя, придется выкручиваться.
Upd2. Теперь у пингвина на неделю брендирована кружка.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🎉44👍1
Channel photo updated
⌨️ Имя отчество (PID PPID)

#process_management

Здесь все довольно очевидно: PID (Process ID) — это уникальный номер, присваиваемый процессу ядром для контроля его выполнения и предоставления ресурсов. Каждый процесс также имеет атрибут PPID (Parent Process ID), который совпадает с идентификатором PID родительского процесса, то есть процесса, который его инициировал. В системе каждый процесс имеет родительский процесс, который запустил его, ну или усыновил, о чем ниже.

Варианты получения PID и PPID процесса вы найдете в статье по этой ссылке.  Лично мне нравится использовать команду:
pstree -p

(доступна через установку пакета psmisc на вашей OS) для построения дерева процессов, а далее в /proc/<PID> выяснять подробности.
Если знаете какие-то интересные примеры работы с PID и PPID пишите в комментарии ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
432🔥1🥰1
⌨️ Как они размножаются? fork()/clone() exec()

#process_management

Итак, мы погружаемся в жизнь процессов всё глубже и глубже, и настало время узнать, откуда берутся новые процессы. Чтобы создать новый процесс, существующий процесс использует системный вызов fork() (технически в Linux используется вызов clone(), но для удобства повествования пока пропустим это). В результате выполнения fork() мы получаем два почти идентичных процесса, с одним важным исключением: системный вызов fork() возвращает два разных значения. В дочернем процессе это значение равно 0 (всегда помним, что согласно Linux-нумерологии 0 обозначает успех), а в родительском процессе возвращается идентификатор PID процесса-потомка.

Поскольку в остальном процессы идентичны, они должны проверить это значение, чтобы определить, кто из них родитель, а кто потомок, и, исходя из этой информации, планировать дальнейшие действия. В жизни родительского процесса мало что изменится, кроме новой ответственности за процесс-потомка, тогда как дочерний процесс изменится кардинально, выполнив один из вызовов exec (например, execl, execp, execv). Все вызовы этого семейства заменяют текущую программу в процессе, и вся память, связанная с текущим процессом, сбрасывается и перенастраивается в соответствии с требованиями нового исполняемого файла. И вот перед нами свежерожденный потомок, скорее всего он будет абсолютно не походить на своего предка, но кое-что он от него всё-таки унаследует, но об этом чуть позже и чуть ниже.
Please open Telegram to view this post
VIEW IN TELEGRAM
54🔥1
👰‍♀️ Странные вопросы на интервью

#из_первых_рук
#рекрутинг

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

Самый странный вопрос, с которым я столкнулась на первичном интервью:
"Зачем вы работу ищете, почему бы просто замуж не выйти?"

А самый смешной диалог — это вот:

— Вам звонят из офиса, говорят, что ничего не работает. Ваши действия?
— Эээ... у вас в офисе свет есть сейчас?
— Поздравляю, проблема диагностирована!

Был ещё случай, как раз при приёме на нынешнюю работу, спросили на техсобесе про сокеты, я давай про сетевые, а они переглянулись — не, мы про матплаты. А я им на это честно сказала, что мне такие моменты погуглить проще.

Лариса, системный администратор и junior DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10🤔3🤯3👍1
⌨️ Отцы и дети (parent - child processes)

#process_management

Отношения родителей и потомков после непосредственно рождения/деления/клонирования, очень кратко, начнем с
наследства/наследственности/наследия, а закончим родительскими обязанностями.

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

Родительские обязанности включают отслеживание изменений статуса дочерних процессов. При получении сигнала о завершении или остановке дочернего процесса, родительский процесс должен вызвать wait() или waitpid(), чтобы определить причину изменения статуса. Это требование, в частности, ядра системы, прежде чем процесс окончательно исчезнет, его удаление должно быть подтверждено родительским процессом, это предотвращает образование зомби-процессов о которых расскажу в другом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔4👻2
Channel photo updated
⌨️ Родился, потерпел и умер: Жизненный цикл процесса.

#process_management

Быть процессом в OS Linux — довольно безрадостное существование. Ты — клон своего родителя, созданный системным вызовом fork(). Затем ты изменяешься под чьи-то нужды с помощью вызова exec(), который полностью заменяет твое содержимое. То, что недавно было идентично родительскому, теперь становится новым и уникальным. Этот вызов дает старт твоей самостоятельной жизни: ты получаешь новую цель от exec(), а также ресурсы, инструменты и настройки, унаследованные от родителя.

Основная фаза твоего жизненного цикла связана с выполнением кода программы, к которой ты относишься. Это может включать вычисления, обработку данных, взаимодействие с пользователем или другими программами, а также выполнение системных операций. У тебя будут ресурсы, чтобы идти к своей цели: виртуальная память для хранения данных и инструкций, дескрипторы для открытия, чтения, записи и закрытия файлов. Планировщик процессов будет решать, сколько времени CPU тебе выделить.

У тебя будут коллеги, с которыми ты сможешь перекинуться парой слов у кулера, то есть, обмениваться данными и сигналами через механизмы IPC, такие как пайпы, очереди сообщений, разделяемая память и сокеты. Ты сможешь посылать и получать сигналы для уведомления о событиях или запросы на выполнение определенных действий (например, завершение работы). Твой внутренний обработчик сигналов позволит тебе реагировать на изменения в системе или запросы других процессов.

Все хорошее рано или поздно заканчивается, как закончится и твоё существование в качестве процесса. Это случится, когда ты получишь сигнал завершения (например, SIGTERM или SIGKILL) или когда у тебя закончатся задачи. При завершении ты отправишь своему родительскому процессу весточку с просьбой гордиться тобой (сигнал SIGCHLD, сообщающий о твоём состоянии). Он, в свою очередь, подождет, убедится, что ты завершился и освободил ресурсы и, вызвав wait() или waitpid(), с чистой совестью уберет тебя из таблицы процессов. Ты выполнил свой долг, покойся с миром.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6531😁1😢1
👰‍♀️ Лучший запрос самооценки, лучшая обратная связь

#из_первых_рук
#рекрутинг

Продолжаем цикл историй о самых смешных вопросах, которые слышали на интервью сисадмины!

Это был 2013 год, я только переехал в Москву, начал искать работу.
Сходил на около 10 собеседований, все они прошли стандартно для моей должности и были похожи друг на друга.
В итоге собеседовался в небольшую контору которая занималась разработкой ПО для метрологических служб, на должность сисадмина.

Собеседование было очень коротким. Шеф IT отдела был типичным бумером, как сейчас бы сказали. Сначала мне задали некоторые базовые технические вопросы уровня модели OSI и что делать если не открывается сайт или не печатает принтер, и довольно быстро прерывали мой развернутый ответ фразой "понятно, это тоже знаешь".

В итоге удовлетворившись ответами, очередной вопрос прозвучал примерно так: "Ну ты вообще нормально себя оцениваешь, не тупой?"
Я ответил, что в тех сферах где не хватает опыта, проконсультируюсь с коллегами и погуглю. Удовлетворившись ответом, шеф ответил "Вижу что не тупой, когда готов выходить?"
Так получил свою первую работу в Москве, на которой проработал до 2017 года.


Е., системный администратор, сейчас работает в Германии
Please open Telegram to view this post
VIEW IN TELEGRAM
😁66🥰51