Pull to refresh

Comments 39

PinnedPinned comments

Немного доработал вопросы, постарался хотя бы немного их систематизировать. Смысл не поменялся: даже сеньеру (а иногда и в особенности сеньеру) нельзя просто так взять и прийти на собеседование с рассказом о своем прекрасном опыте, придется немного попотеть :)

Было бы круто увидеть и эталонные ответы на эти вопросы. Мне как рядовому админу точно)

Ответы, которые дают в лайв-режиме, скорее всего для публикации подходят совсем плохо :) Думаю тут только по отдельности разбирать все, готовиться. Также следует понимать, что ответы на некоторые вопросы напрямую завязаны на опыт, например по Ansible

давно уже все есть. собрано и отвечено по полочкам

https://github.com/bregman-arie/devops-exercises

кстати, мы ищем админа/devops в австралийской тайм зоне. английский и линукс - маст хэв. если есть у кого желание - шлите резюме на почту raymond@dcmsys.com

Является ли bash языком программирования?

И каков правильный ответ на этот вопрос?

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

Только вот фактически "башем" называют как саму оболочку, так и язык на котором пишутся скрипты для этой оболочки.

html - это набор инструкций, который выполняет браузер, следовательно html - это интерпретируемый язык программирования

txt - "набор инструкций", вернее только одной - "выводить все символы на экран шрифтом, установленным по умолчанию", который "выполняет браузер".

Но ведь можно и сказать, что баш - язык программирования, который также имеет 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 это процедурный язык, так как идёт пошаговое/поэтапное исполнение кода.

В том числе является языком программирования по формальным признакам, да

+1 Первый признак языка программирования - наличие "if" - способа разветвлять линейный алгоритм.

Bash is an sh-compatible command language interpreter.
Так что ответ "да" ближе к истине. Ну и кроме того он полный по Тьюрингу.

хоть кто то ответил как ответил бы я, уже думал придется самому писать комментaрий про Тuring-complete language :) профильная вышка?

Чё-т как-то для 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

Отличный вопрос, спасибо! Как минимум за последнее время дважды столкнулся со связанными с pause проблемами.

Немного доработал вопросы, постарался хотя бы немного их систематизировать. Смысл не поменялся: даже сеньеру (а иногда и в особенности сеньеру) нельзя просто так взять и прийти на собеседование с рассказом о своем прекрасном опыте, придется немного попотеть :)

Ещё бы ответы на все эти вопросы. А senior реально дополнен уметь отвечать на всё -всё-всё?

Sign up to leave a comment.

Articles