From ba5aaced8721940da9e52a3a55c29bc6e6feee15 Mon Sep 17 00:00:00 2001 From: stormobile Date: Wed, 20 Oct 2021 20:47:02 +0300 Subject: [PATCH 1/2] fix-sre-sections --- interview.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/interview.md b/interview.md index 591f013..190b91e 100644 --- a/interview.md +++ b/interview.md @@ -39,7 +39,7 @@ #### SRE * [Базовое программирование](#Базовое-программирование) -* [Проверка общих инженерных компетенций](#Инженерные-компетенции) +* [Проверка общих инженерных компетенций](#Проверка-общих-инженерных-компетенций) * [Выявление и устранение проблем](#Выявление-и-устранение-проблем) Для позиций с фокусом на разработку возможно проведение дополнительных секций: @@ -62,7 +62,60 @@ #### Выявление и устранение проблем -Цель секции понять, как Вы мыслите в режиме неопределенности и стресса в сбойной ситуации. Каков Ваш опыт, как много приемов и инструментов поиска причин технических проблем Вы знаете. Вам предложат описание архитектуры решения и наблюдаемые признаки сбоя (обращения пользователей или текст пришедшего алерта). Задавая вопросы интервьюверу, наподобие, "Вижу ли я в логах сообщения о такой то проблеме?", "Перезагружаю сервер, исчезла ли проблема?" Вы должны выявить исходную проблему в системе и предложить способы устранения и защиты от нее в дальнейшем. +В этой секции кандидат вместе с интервьюером разыгрывают гипотетическу ситуацию критического отказа на production. Интервьюер играет роль этакого источника абсолютного знания о системе и происшествии, которому можно задавать вопросы и получать ответы. В рамках данной секции задача интервьюера оценить: + +1) На сколько структурно и системно кандидат умеет двигаться по проблеме: от фактов к гипотезе, от гипотезы к эксперименту и от эксперименту к решению +2) На сколько быстро и эффективно кандидат способен разобраться в общих принципах построения системы, в проблемах которой необходимо разобраться. Достаточно ли у кандидата кругозора и опыта относительно типовых дизайнов распределенных систем? (Веб сервисов, АПИ, сервисов работы с состоянием и т.д.) +3) Как хорошо кандидат работает с данными - способен ли верно сформулировать полезные и эффективные для поиска аномалий запросы в телеметрические системы? Хорошо ли получается у кандидата интерпретировать полученные данные? + +##### Книги: +- [The Site Reliability Workbook](https://sre.google/workbook/table-of-contents/) +- [Site Reliability Engineering](https://sre.google/sre-book/table-of-contents/) + +##### Курсы: +- [Слерм SRE](https://slurm.io/sre) + +##### Сайты: +- [Ультимативный сборник материалов по SRE-подготовке](https://github.com/mxssl/sre-interview-prep-guide) + +#### Базовое программирование + +Эта секция призвана проверить базовое владение навыками разработки у SRE специалистов. В отличии от секции алгоритмов или языковой мы не проверяем знание сложных алгоритмов или низкоуровневых особенностей работы с языковыми конструкциями/параллелизмом/памятью. От кандидатов ожидается: + +- Уверенное владение синтаксисом, выбранного языка +- Бзовое понимание того, как оценивается сложность алгоритмов / О-нотация +- Базовое знакомство с основными структурами данных / плюсом будет умение их имплементировать + +В рамках собеседования кандидату могут быть предложены самые базовые задачи по алгоритмам/структурам данных или более практические/прикладные упражнения вроде имплементации несложного API или написания просто теста. + +##### Сайты, которые помогают решать задачи: +- [LeetCode](https://leetcode.com/) - задачи сложности не выше Easy + +##### Материалы для теоретической подготовки: +- [Подборка материалов по прогрраммированию для SRE](https://github.com/mxssl/sre-interview-prep-guide#programming) + +#### Проверка общих инженерных компетенций + +Секция представляет из себя небольшой опрос, в рамках которого интервьер проверяет знания кандидата по широкому набору тем связаных с архитектурой компьютерных систем и системной инженерией. Опросник включает, но не ограничивается: + +- Linux +- Сети +- Принипы построения и концепции баз данных +- Протоколы +- Криптография +- Файловые системы + +Вопросы могу предполагать как и односложный ответ, так и детальный рассказ, который интервьюер интерпретирует в виде бальной оценки, опираясь на степень погружения кандидата в тему. Важно отметить, что вопросы не включают в себя тем, касающихся конкретных инструментов и технологий (Docker, Ansible, CI/CD, etc) - мы считаем, что инженер, обладающий достаточной подготовкой без труда освоит любые современные инструменты. + +##### Книги для подготовки: +- Таненбаум Э. С., Бос Х. Современные операционные системы. (издание актуальное на момент подготовки) +- Таненбаум Э. С. Архитектура компьютера (издание актуальное на момент подготовки) +- Таненбаум Э. С., Уэзеролл Д. Компьютерные сети. +- Martin Kleppmann. Designing Data-Intensive Applications (для вопросов вокруг баз и хранения состояния) + +##### Сайты для теоретической подготовки: +- [Подборка материалов по SRE](https://github.com/mxssl/sre-interview-prep-guide) + #### Секция по платформе или языку @@ -186,6 +239,7 @@ - [Performance testing of microservices in action](https://youtu.be/c1xu7W7bqKc) / Alexander Kachur, Ukraine [RU] + ## Этап 3: знакомство с командой После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится полчаса: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о Вашем опыте, любимых задачах, увлечениях. Таких созвонов будет не более трёх. From 800e0521f9cf427ba5348d2becfa2bb8b23bbe58 Mon Sep 17 00:00:00 2001 From: stormobile Date: Mon, 25 Oct 2021 15:32:56 +0300 Subject: [PATCH 2/2] change SRE order --- interview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interview.md b/interview.md index 190b91e..9836e9f 100644 --- a/interview.md +++ b/interview.md @@ -38,9 +38,9 @@ * [Системный дизайн](#Системный-дизайн) (для кандидатов senior-уровня) #### SRE -* [Базовое программирование](#Базовое-программирование) * [Проверка общих инженерных компетенций](#Проверка-общих-инженерных-компетенций) * [Выявление и устранение проблем](#Выявление-и-устранение-проблем) +* [Базовое программирование](#Базовое-программирование) Для позиций с фокусом на разработку возможно проведение дополнительных секций: * [Системный дизайн](#Системный-дизайн)