Комментарии 39
Круто! Почитал бы про мидлов)
Было бы круто увидеть и эталонные ответы на эти вопросы. Мне как рядовому админу точно)
Ответы, которые дают в лайв-режиме, скорее всего для публикации подходят совсем плохо :) Думаю тут только по отдельности разбирать все, готовиться. Также следует понимать, что ответы на некоторые вопросы напрямую завязаны на опыт, например по Ansible
давно уже все есть. собрано и отвечено по полочкам
https://github.com/bregman-arie/devops-exercises
кстати, мы ищем админа/devops в австралийской тайм зоне. английский и линукс - маст хэв. если есть у кого желание - шлите резюме на почту raymond@dcmsys.com
Является ли bash языком программирования?
И каков правильный ответ на этот вопрос?
bash это командная оболочка из этого следует, что она не является языком программирования, но для оболочки можно писать скрипты автоматизации. Я полагаю так.
Только вот фактически "башем" называют как саму оболочку, так и язык на котором пишутся скрипты для этой оболочки.
html - это набор инструкций, который выполняет браузер, следовательно html - это интерпретируемый язык программирования
Но ведь можно и сказать, что баш - язык программирования, который также имеет repl оболочку для интерактивной работы. В качестве оболочки пользователя можно ставить что угодно, умеющее repl, тот же питон, например.
bash - вполне функциональный язык программирования, за счет собственного синтаксиса + использования команд UNIX/Linux (в состав которых входят, например, такие мощные средства, как grep, find, sed или awk). Вот кто-то даже реализовал быструю сортировку на bash:
https://gist.github.com/shreyansh26/af6fae1bb2497d0486c2cc36215f61eb
Когда-то в 2000 году я участвовал в одном проекте в голландской телефонной компании KPN Telecom, и мы активно использовали Korn Shell, вплоть до скриптов объемом в 3000-4000 строк. (Korn Shell - это почти то же самое, что и bash).
Хотя, по правде говоря, в оболочках типа bash удобно использовать только несколько специфических их черт, типа перенаправления ввода/вывода при помощи '<' и '>' или передачи данных из программы в программу через pipeline. А для больших программ удобнее использовать более развитые языки программирования типа Python (в прошлом этим языком также часто бывал Perl).
В том числе является языком программирования по формальным признакам, да
Bash is an sh-compatible command language interpreter.
Так что ответ "да" ближе к истине. Ну и кроме того он полный по Тьюрингу.
Чё-т как-то для Senior слабовато, я ожидал вопросы хотя бы по CNCF landscape.
Уточните, пожалуйста, вы имеете в виду сами технологии или обзор ландшафта в целом? Любые технологии прекрасно обсуждаются в рамках вопроса об опыте (с большим количеством уточняющих вопросов, разумеется). Если говорить про БД, например, часто встречаются вопросы про mysql, postgresql / stolon, mongodb, tarantool и др.
Хотя бы популярные темы типа сбора метрик, организации трейсинга, чем рантаймы различаются... Взять 2-3 темы и копнуть глубже.
А по БД это больше к DBA (если они есть) или разработчикам. Я не настоящий девопс, а всего лишь питонист, но считаю, что про индексы, локи, работу с памятью, анализ запросов и т.п. должен знать именно разработчик, а не DevOps.
ИМХО DevOps должен знать, хотя бы поверхностно.
Мониторинг и логи — базовые темы, которые априори нужно знать, причем желательно с умением применять распространенные инструменты. Их обычно в опыте так или иначе касаются.
Про БД — прекрасно, если и разработчик, и девопс в теме. Мы, конечно, не дба, но базовые навыки обязательны, имхо :)
Это вопросы для сеньора? Серьезно?
Так, и где мои 300к в месяц тогда?
Разумеется это не все, с чем вы можете столкнуться, но в целом ничего сложного нет... при соответствующем опыте. Дерзайте! Вакансий хватает, посмотрите рынок
Ну я сменил месяц назад работу и эти вопросы задавали на Pre-Middle DevOps, зп 190к на руки. Компания из РФ.
Классика — на джуна/мидла больше технических вопросов на знание задают, а с сеньором за жизнь говорят и проверяют опыт :)
Дело не столько в вопросах, а в ожидаемой глубине ответов. Я вот как чистый программист могу поверхностно ответить на все, некоторые вещи даже разок руками делал. Но мне даже до pre-pre-pre-middle еще далеко. Я к тому, что вопросы на всех уровнях одинаковые, ибо стек технологий у всей профессии один.
а в ожидаемой глубине ответов
Вот тут соглашусь на все 100%, можно знать многое, но вот насколько глубоко.
Мне еще понравился один вопрос на собесе "По какому порту по умолчанию работает ping?" :)
В точку! Хотя некоторые особенности все же есть. Например, джунов почти не о чем спрашивать в плане опыта, поэтому им приходится отдуваться теорией :)
Все так. Сам искал работу в апреле.
Вопросы скучные, для мидлов на знание документации и кругозор.
Мне больше сеньорные вопросы нравятся, типа "а расскажи как ты делал то то и то то и почему" и сидишь перетираешь, заодно софт скиллы оценить можно
Меня на Джуна примерно это же спрашивали
спасибо, вопросы хороши, сам ходил по собесам года 2 назад, где-то 80% из списка были. добавлю себе в закладки на будущее :) единственное, глаз цепляется за "опубликовать", может лучше поменять на "задеплоить"?
еще помню был вопрос про контейнер pause в k8s, зачем он нужен. я тогда ответил что он запускается первым в поде и висит в sleep, чтобы под не сдох даже если основной контейнер отработал. оказывается не только, он создает сетевое пространство имен, что бы контейнеры могли между собой в поде коммуницировать и на под создавался только один айпишник. недавно на статью по этой теме наткнулся, очень познавательно: https://blog.devgenius.io/k8s-pause-container-f7abd1e9b488
Немного доработал вопросы, постарался хотя бы немного их систематизировать. Смысл не поменялся: даже сеньеру (а иногда и в особенности сеньеру) нельзя просто так взять и прийти на собеседование с рассказом о своем прекрасном опыте, придется немного попотеть :)
Ещё бы ответы на все эти вопросы. А senior реально дополнен уметь отвечать на всё -всё-всё?
Собеседование Senior DevOps Engineer: вопросы