20 често постављаних питања и одговора на ДевОпс интервјуу [2022]

ДевОпс све више постаје популаран начин за прављење и примену апликација, што је довело до све веће потражње за ДевОпс професионалцима.

Овај чланак ће покрити нека од најчешће постављаних питања за ДевОпс интервју и њихове одговоре. Коришћење ових питања као суштине учења може повећати ваше шансе да будете ангажовани, или ако сте регрутер, они вам могу помоћи у процесу запошљавања.

Преглед садржаја

Често постављана питања и одговори на ДевОпс интервјуу

Шта је за вас ДевОпс?

ДевОпс је приступ који има за циљ побољшање рада током животног циклуса развоја софтвера. ДевОпс процес је приказан као бесконачна петља, која се састоји од фаза планирања, кодирања, изградње, тестирања, објављивања, постављања, рада и надгледања.

ДевОпс утиче на животни циклус апликације током фаза планирања, развоја, испоруке и рада. Свака фаза зависи од других, а фазе нису специфичне за улогу. У правој ДевОпс култури, свака улога је у одређеној мери укључена у сваку фазу.

Зашто је ДевОпс важан?

Тимови који користе ДевОпс приступ имају тенденцију да своје пројекте обављају брже. На овај начин се избегавају грешке у комуникацији, што омогућава брзу имплементацију побољшања и других неопходних промена. ДевОпс приступ подстиче већу сарадњу између развојних и оперативних тимова, где су циљеви свих њих више усклађени. Неке од предности можете сумирати на следећи начин:

  • Побољшана комуникација
  • Тимски рад и кохезија
  • Побољшана сарадња
  • Бржа испорука квалитетних производа
  • Смањена сложеност и брзо решавање проблема
  • Већа скалабилност и флексибилност за додавање новог кода
  • Стабилније оперативно окружење
  • Већа аутоматизација
  • Смањење трошкова и коришћење ресурса
  • Сигурност кроз интегрисане и аутоматизоване алате

Који су свакодневни задаци ДевОпс-а?

Неки од дневних задатака које можете поменути су:

  • Обезбедите континуирану интеграцију и примену
  • Доделите и саопштите задатке које треба извршити
  • Дизајнирајте и наручите протоколе за тестирање
  • Праћење и прикупљање метрике инфраструктуре и апликације
  • Анализа резултата добијених у свакој фази развоја
  • Смањите стопу грешака и време опоравка у случају грешака
  • Смањите време испоруке

Како ДевОпс помаже програмерима?

Када се имплементира ДевОпс методологија, програмери више не морају да чекају повратне информације од оперативног тима да би исправили грешке у свом коду. Али сада могу брже да реше ове проблеме јер имају сталне повратне информације о свом коду.

  У току је нова превара са „пецањем“ на Гоогле документима

Шта је контрола верзија?

Контрола верзија је пракса која нам омогућава да пратимо промене које уносимо у датотеку или скуп датотека током времена, тако да се одређене верзије могу касније преузети. Алат за контролу верзија нам омогућава да лако пратимо напредак вашег развојног рада и сачувамо различите верзије изворног кода да се вратимо на претходну по потреби. Један од најчешће коришћених алата у овој фази развоја софтвера је Гит.

Шта је ЦИ/ЦД и које су његове предности?

Континуирана интеграција (ЦИ)

ЦИ комбинује алате и праксе које олакшавају испоруку висококвалитетног и брзог софтвера. На овај начин се елиминишу уска грла и избегавају технички проблеми у фазама лансирања.

Континуирана испорука (ЦД)

Ова пракса аутоматизује испоруку промена кода, осигуравајући да се код може брзо допунити у производњи и да апликације исправно функционишу.

Континуирана примена (ЦД)

За разлику од континуиране испоруке, циљ ове праксе је да нема људске интервенције приликом постављања софтвера у производњу. Објављивање новог или измењеног кода у продукцији је аутоматизовано.

ЦИ/ЦД имплементира ДевОпс током целог животног циклуса апликације. Ове праксе помажу у побољшању продуктивности у различитим фазама процеса развоја софтвера тако што их поједностављују и аутоматизују.

Шта је континуирано праћење

Континуирано надгледање је ДевОпс пракса која укључује праћење, упозорење и предузимање радњи како на коду тако и на инфраструктури. Дакле, тај проблем који може настати у имплементацији се брзо открива и идентификује, смањујући време за решавање проблема.

Зашто је важно континуирано тестирање?

Континуирано тестирање је аутоматизација тестова рано, постепено и на одговарајући начин у процесу развоја. Неопходан је јер омогућава да се обезбеди квалитет кода. Грешке се рано откривају, а повратна информација кода се обавља брже.

Објасните неколико типова тестова који се користе у ДевОпс-у?

Јединични тестови

Они тестирају одређени део кода у изолацији. Јединични тестови не смеју да буду повезани са базом података, да користе систем датотека, да разговарају са спољним системима или да комуницирају са компонентама система. Омогућава им да брзо раде, а ви добијате брзе повратне информације ако промене наруше постојећу функционалност.

Тестови компоненти

Они тестирају велике групе функција како би могли да идентификују проблеме попут ових. Они су генерално спорији, захтевају сложенију конфигурацију и више И/О повезивања са базом података, системом датотека или другим системима.

Тестови примене

Такви тестови потврђују да је имплементација функционисала, другим речима, да је ваша апликација исправно инсталирана, конфигурисана, да може да приступи свим услугама које су јој потребне и да реагује.

Осим ових, постоје и тестови експлоатације и употребљивости. Да бисте сазнали више о тестирању, погледајте чланак о врстама тестирања апликација.

Шта је архитектура микросервиса и по чему се разликује од традиционалне архитектуре?

Традиционални метод писања софтвера је монолитан. То значи да су све функције апликације скупљене у једном блоку. У случају грешака или потребе за ажурирањем, анализира се код који управља целим производом.

  Како избрисати ДевиантАрт налог

Генерише заустављања или чак падове и представља велику опасност за очување кода. За купце то значи губитке и главобоље.

У архитектури микросервиса, функције апликације представљају независно развијену и интегрисану услугу. Компоненте су одвојене, али раде заједно да би извршиле повезане задатке.

На овај начин, свака независна услуга ради без ометања других, што важи и у случајевима квара. Ако функција не успе, могуће је прилагодити је без угрожавања функционисања целе апликације.

Микроуслуге стижу да би ДевОпс учинили још агилнијим и ефикаснијим, убрзавајући развој од краја до краја и чинећи апликације још скалабилнијим.

Шта је инфраструктура као код?

Инфраструктура као код је приступ дефинисању рачунарске и мрежне инфраструктуре, који користи технике управљања изворним кодом и третира се као сваки софтверски систем.

Овај код се може задржати у контроли извора како би се омогућила чујност и поновљива конструкција, подложна пракси тестирања и пуној дисциплини континуиране испоруке.

Инфраструктура као код се заснива на неколико пракси:

  • Користите датотеке дефиниција
  • Самодокументовани системи и процеси
  • Верзија свих елемената
  • Континуирано тестирајте системе и процесе
  • Мале измене уместо серија
  • Нека услуге буду доступне непрекидно

Алати за аутоматизацију изградње одређују како софтвер треба да се изгради (који кораци треба да се ураде и којим редоследом) и које зависности су потребне (који други софтвер треба да буде присутан да би изградња била успешна).

Неки алати су погоднији за пројекте на одређеним програмским језицима, као што су Мавен и Апацхе’с Ант, који се, иако се технологија може користити са другим језицима, углавном користе у Јава пројектима. Други, попут Хадсона или Џенкинса, могу се више користити са различитим пројектима.

Шта је ДевОпс цевовод?

ДевОпс цевовод је процес који обухвата неколико корака пре објављивања новог софтвера. Може се применити у свим фазама пројекта, од интеграције и тестирања до испоруке и примене. Генерално, пролази кроз следеће фазе и тимове:

  • Визија производа: дефинише карактеристике производа;
  • Дев тим: развија се итеративно и постепено;
  • Област деловања: имплементира и одржава стабилно окружење;
  • Праћење и повратне информације: настојите да генеришете вредност и искористите је од стране корисника.

Које су различите фазе ЦИ/ЦД цевовода?

Кораци који чине ЦИ/ЦД цевовод су неколико груписаних задатака који се називају фаза цевовода. Укратко, то су:

  • Компилација: фаза у којој се саставља апликација;
  • Тест: фаза у којој се тестира код. Овде аутоматизација штеди време и труд;
  • Покрени: када се апликација пошаље у спремиште;
  • Примена: Код се примењује у производном окружењу;
  • Валидација и усклађеност: Можете да користите алате за верификацију безбедности слике као што је Цлаир да бисте обезбедили квалитет својих слика упоређујући их са познатим рањивостима (ЦВЕ).
  Зашто је мој Ворд документ црн? Како то поправити

Ово су најчешће фазе ДевОпс цевовода. Међутим, свака компанија има своје специфичне потребе и цевовод.

Шта значи виртуелизација платформе и које су њене предности?

Виртуелизација платформе подразумева симулацију целог рачунарског система ради покретања више инстанци оперативних система истовремено на једној физичкој машини.

У овој конфигурацији, монитор виртуелне машине (ВММ), или хипервизор, има потпуну контролу над хардверским ресурсима физичке машине. Оперативни системи за госте раде на виртуелним машинама, којима ВММ управља. Виртуелизација окружења укључује симулацију једне или више виртуелних машина и мрежних веза између њих.

Виртуелизација може помоћи у смањењу времена утрошеног на примену и ризика повезаних са њом на неколико начина. Употреба виртуелних машина у примени је огромна помоћ у постизању ефикасног управљања конфигурацијом вертикално и хоризонтално у свим вашим системима.

Конкретно, коришћење виртуелизације доноси следеће предности:

  • Брз одговор на променљиве захтеве
  • Консолидација
  • Стандардизација
  • Лакоћа одржавања основних линија

Која је разлика између контејнера и виртуелних машина?

И контејнер и ВМ раде са виртуелизацијом и изолацијом окружења како би унапредили обраду независно од апликација. Ипак, контејнери стварају изолована окружења у којима различите апликације могу да раде истовремено јер је подела направљена на нивоу доступних ресурса, као што су меморија и обрада. С друге стране, виртуелна машина омогућава физичкој машини да смешта друге са различитим оперативним системима, чврстим дисковима и хардверски независним од оригиналних.

Која је главна разлика између Доцкер-а и Кубернетеса?

Доцкер је један од најчешће коришћених ДевОпс алата за контејнере. Фокусира се на преносивост апликација, стављајући их у технолошке контејнере и системе за паковање и премештајући их преко различитих платформи.

У исто време, Кубернетес је алат за оркестрацију контејнера који може да групише контејнере логичком категоризацијом. Може се применити на више рачунара путем аутоматизоване дистрибуције.

Прочитајте више о Кубернетес вс. Доцкер.

Које су неке метрике телеметрије у ДевОпс-у?

  • Пословни ниво: Примери укључују број продајних трансакција, приход од продајних трансакција, регистрације корисника, стопу одлива и резултате А/Б теста.
  • Ниво апликације: Примери укључују времена трансакције, времена одговора корисника и отказе апликације.
  • Ниво инфраструктуре: Примери укључују саобраћај веб сервера, оптерећење ЦПУ-а и коришћење диска.
  • Ниво клијентског софтвера: Примери укључују грешке у апликацији, рушења и време трансакција које мери корисник.
  • Ниво цевовода за примену: Примери укључују статус цевовода за изградњу (црвено или зелено за различите аутоматизоване тестне пакете), промену рокова примене, учесталости примене, промоције окружења за тестирање и статус окружења.

Које технологије користите за ДевОпс?

Ово питање има за циљ да сазна које технологије можете да користите за имплементацију ДевОпс културе у организацији. Неке од најчешћих технологија које ДевОпс може да користи су:

  • Континуирани развој: Гит, СВН, Мерцуриал, ЦВС, Јира
  • Континуирана интеграција: Јенкинс, Бамбоо, Худсон
  • Континуирани развој: Некус, Арцхиве, Томцат
  • Континуирана примена: лутка, кувар, доцкер
  • Континуирано праћење: Сплунк, ЕЛК Стацк, Цонтинуоус Нагиос
  • Тестирање: Селен, Каталон Студио

Реците нам нешто о свом искуству у управљању ДевОпс пројектима

ДевОпс вештине се не односе само на техничко знање и захтевају људске и менаџерске вештине које се често налазе међу менаџерима, директорима програма и пројектним менаџерима.

Од суштинског је значаја да знате како да управљате променама и да их подржите, да обезбедите пролаз за олакшавање преноса нових верзија кода на оперативну страну, процените и надгледате различите платформе и алате за мерење перформанси, анализирате и делите резултате како бисте побољшали будуће испоруке , итд.

Приступите овом питању методолошки и објасните свој пут у решавању сложених проблема. Како мислите да побољшате функционисање инфраструктуре? Како планирате да сарађујете са фронт-, средњим и бацк-оффице програмерима? Које алате за праћење савладате? Такође, размислите о томе да поделите своја искуства у решавању сукоба унутар свог тима.

Да бисте сазнали више, размислите о упису на један од ових ДевОпс курсева.