Rekrutacja na DevOpsa, o co pytać?

0

Hej pracuje w jakimś projekcie C++.
Do tej pory w projekcie DevOps nie był potrzebny, mój skill wystarczał jak trzeba coś było zrobić (średnio wychodziło parę dni w miesiącu)
Projekt się rozrasta, wspiera coraz więcej platform i konfiguracji. W końcu manager stwierdził, że warto zatrudnić profesjonalnego DevOps (w sumie się ciesze, bo przez ten czas rozwinąłem w sobie niechęć do Jenkisa).

No, ale problem polega na tym, że z moimi umiejętnościami w tym temacie trudno będzie przeprowadzić rekrutację.
Niedługo będę prowadził pierwszą rozmowę i muszę się jakoś przygotować.

Dlatego prosiłbym o wszelką pomoc: linki rady o co najlepiej pytać DevOpsa

Zakres technologii:

  • Jenkins
  • Bitbucket
  • Platformy: Windows, MacOS, Linux
  • Azure
  • Docker (Linux/Windows)
  • cmake C++ JavaScript python

Kto wie, może rady mi da ktoś kogo potem spotkam na rekrutacji :)

Na razie znalazłem coś takiego: https://www.simplilearn.com/t[...]al/devops-interview-questions

4

A to nie lepiej pytać o to, co ty robiłeś i czy koleś to umie, albo przynajmniej zna podstawy?

3

Zapytaj:

  • dostal w spadku duzy system na cloudzie -> jakby zrobil optymalizacje kosztow za clouda.
  • rzeczy ktore macie w projekcie i z ktorymi sie woziles albo fajnie byloby ogarnac.

Zalezy tez jaki macie system i w jakiej skali. ale z tematow:

  • pipelines w Jenkinsie
  • CI/CD as a code
    • automatyzacja deploymentu
  • skalowanie systemow w cloudzie i autoskalowanie
  • wypytac o elementy clouda (nie znam Azurowego, ale na AWS to chocby: Lambdy, EC2, SPOT, Load Balancery, S3 i co tam jeszcze uzywacie)
  • polaczenie CI/CD + z testami integracyjnymi + nazedzie do review kodu
2

Polecam oprócz pytania o to co ty normalnie robisz sprawdzić też podstawy. Z operacyjnych rzeczy zróbcie jakąś źle skonfigurowaną VMkę w Azure (usługa umarła, firewalle są spieprzone, routing jest spieprzony, usługa zbindowana do localhosta, uprawnienia są złe, tego typu rzeczy), niech zdiagnozuje. Podobnie dać przynajmniej jakiś prosty skrypt do zaklepania (np zbierz dane z takiego serwisu, wrzuć je do jakiegoś innego jeśli spełniają jakiś warunek) żeby było wiadomo czy taki jegomość umie sobie skleić kilka narzędzi na raz.

4
UglyMan napisał(a):

A to nie lepiej pytać o to, co ty robiłeś i czy koleś to umie, albo przynajmniej zna podstawy?

Zależy od tego, co konkretnie robił @MarekR22 i jak. Żeby się nie skończyło wałkowaniem pytaniami o rzeczy mocno specyficzne dla danego projektu :) IMO o takie rzeczy jest sens pytać najwyżej żeby sprawdzić, jak kandydat myśli, a nie zmuszać go do zgadywania co ktoś narzezał w swoim CI/CD, którego on na oczy nie widział.

Zgadzam się w dużej mierze z @WhiteLightning

  • koszty w chmurze
  • pipeline as code
  • co by zawarł w takim pipeline CI/CD i dlaczego, w jakim celu
  • rzeczy poza samym Jenkinsem (tudzież innym build serwerem)
    • integracje z chmurą
    • integracje z VCS, zależnie czego używacie np. githooki, status publishery itd.
    • zarządzanie artefaktami (obrazy, binarki, RPMy, JARy czy co tam macie), wersjonowanie
    • observability - logowanie, metryki, traceability, co powinny zawierać
    • inne narzędzia których używacie lub byłyby użyteczne np. Terraform, Ansible, Sumologic, Grafana, Prometheus, Datadog, Artifactory, k8s, konkretne usługi w chmurze... tu już zależy co robicie
    • skalowalność, jakie widzi możliwości, z czym by się wiązało np. wprowadzenie shardingu, a z czym replikacji, co by się stało gdyby wepchnąć jeszcze cache po drodze itp itd.
    • dostępność usług, co by zrobił żeby zapewnić high availability, na co by patrzył, na jakich poziomach można by zapewnić redundancję itp
    • różne przydatne komponenty i wzorce chmurowe np. sidecary, load balancery etc.
    • jak by podszedł do tematu multi-tenancy (jeżeli was to dotyka), czy jakoś by to wpłynęło np. na jego odpowiedzi wyżej
    • jak by podszedł do deploymentów, jakie by to miało wady / zalety (np. blue/green, canary, shadowing itp.)
    • jeśli bawicie się w mikroserwisy (wymieniasz różne technologie i chmurę) to piłuj z tego do bólu, pytaj co by zrobił żeby ten proces CI/CD był bezbolesny, co robić a czego unikać
    • bezpieczeństwo infrastruktury
  • co by zrobił gdyby - i tu scenariusz gdzie coś się posypało w CI/CD, nie działa, coś jest flaky etc - jak z życia to nawet lepiej.
  • jeśli ten DevOps miałby nie tylko opiekować się Waszymi procesami, ale np. też administracją Jenkinsa, to pewnie o te kwestie też trzeba będzie wypytać (np. zarządzanie uprawnieniami, worker nodami etc) - podobnie zresztą np. z zarządzaniem uprawnieniami w chmurze

EDIT: po namyśle, na tyle na ile możesz pilnuj też jakie ma podejście do ludzi którzy się nie znają, czy chętnie dzieli się wiedzą itd. Na dłuższą metę niby macie mieć to odrębne stanowisko devopsa w zespole, ale tak z moich obserwacji developerzy nieraz są jednak zdani na siebie, albo "opsowanie" rozkłada się na cały zespół (zresztą tak ma to chyba nawet wyglądać w metodyce DevOps).

0
Zing napisał(a):

Polecam oprócz pytania o to co ty normalnie robisz sprawdzić też podstawy. Z operacyjnych rzeczy zróbcie jakąś źle skonfigurowaną VMkę w Azure (usługa umarła, firewalle są spieprzone, routing jest spieprzony, usługa zbindowana do localhosta, uprawnienia są złe, tego typu rzeczy), niech zdiagnozuje. Podobnie dać przynajmniej jakiś prosty skrypt do zaklepania (np zbierz dane z takiego serwisu, wrzuć je do jakiegoś innego jeśli spełniają jakiś warunek) żeby było wiadomo czy taki jegomość umie sobie skleić kilka narzędzi na raz.

Pomysł mi się bardzo podoba. Test praktyczny jest zawsze najbardziej miarodajny niż jakieś pytania teoretyczne.
Problem polega na tym, że wsparcie Azure właśnie wchodzi do projektu i cały team jest w tym temacie zielony, więc skonstruowanie nawet złej konfiguracji jest dość sporym wyzwaniem.

4

Pytania zależą od oczekiwań. Nie ma sensu pytać o to jak zrealizować w Azure georedundancję, jeżeli jej nie będziecie używać.

3

A jak przyszły senior devops zada kilka pytań:
dlaczego miałbym pracować w firmie u @MarekR22 ?
czego nowego się w tej pracy nauczę?
jakie umiejętności/wiedzę rozwinę?
co mnie ma skłonić do rozstania się z firmą gdzie teraz pracuję?
ile zarobię?
jak się mają proponowane zarobki do pracy u konkurencji?

pytanie przyszłego devopsa i @MarekR22 razem to będzie dopiero kompletna układanka

4

Można spytać, czy wie, czym jest DevOps. Tak pro forma, bo jeśli ktoś wie, to przecież na taką rekrutację nie przyjdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0