Изтеглете PDF
1) Обяснете какво е DevOps?
Това е нововъзникващ термин в ИТ сферата, който е нищо друго освен практика, която набляга на сътрудничеството и комуникацията както на разработчиците на софтуер, така и на екипа за внедряване (операции). Той се фокусира върху по-бързото доставяне на софтуерен продукт и намаляване на честотата на неизправности на изданията.
2) Споменете кои са ключовите аспекти или принцип, стоящи зад DevOps?
Ключовите аспекти или принцип, стоящи зад DevOps е
- Инфраструктура като код
- Непрекъснато разполагане
- Автоматизация
- Мониторинг
- Сигурност
3) Какви са основните операции на DevOps с разработването на приложения и с инфраструктурата?
Основните операции на DevOps са
Разработване на приложения
- Изграждане на код
- Покритие на кода
- Единично тестване
- Опаковка
- Разгръщане
Инфраструктура
- Предоставяне
- Конфигурация
- Оркестрация
- Разгръщане
4) Обяснете как „Кодът на инфраструктурата“ се обработва или изпълнява в AWS?
В AWS,
- Кодът за инфраструктура ще бъде в прост JSON формат
- Този JSON код ще бъде организиран във файлове, наречени шаблони
- Тези шаблони могат да бъдат разположени на AWS devops и след това да се управляват като стекове
- По-късно услугата CloudFormation ще извърши операцията Създаване, изтриване, актуализиране и т.н. в стека
5) Обяснете кой скриптов език е най-важен за инженер на DevOps?
По-опростен скриптов език ще бъде по-добър за инженер на DevOps. Python изглежда много популярен.
6) Обяснете как DevOps е полезен за разработчиците?
DevOps може да бъде полезен на разработчиците да отстранят грешката и да внедрят бързо нови функции. Също така помага за по-ясна комуникация между членовете на екипа.
7) Избройте някои популярни инструменти за DevOps?
Някои от популярните инструменти за DevOps са
- Дженкинс
- Нагиос
- Монит
- ELK (Elasticsearch, Logstash, Kibana)
- Дженкинс
- Докер
- Отговорни
- Git
8) Споменете в кой случай сте използвали SSH?
Използвал съм SSH за влизане в отдалечена машина и работа по командния ред. Освен това, аз също го използвах за тунелиране в системата, за да улесня защитените криптирани комуникации между два ненадеждни хоста по несигурна мрежа.
9) Обяснете как бихте се справили с контрола върху версията (версията)?
Моят подход за обработка на контрола на ревизиите би бил да публикувам кода на SourceForge или GitHub, така че всеки да може да го види. Също така ще публикувам контролния списък от последната редакция, за да се уверя, че са разрешени всички нерешени проблеми.
10) Какви са видовете Http заявки?
Видовете Http заявки са
- ВЗЕМЕТЕ
- ГЛАВА
- СЛАГАМ
- ПОСТ
- КРЪПКА
- ИЗТРИЙ
- СЛЕД
- СВЪРЖЕТЕ
- НАСТРОИКИ
11) Обяснете какво бихте проверили, ако Linux-build-server изведнъж започне да става бавен?
Ако сървърът за изграждане на Linux внезапно започне да става бавен, ще проверите за следните три неща
| Проблеми, свързани с RAM, Проблеми с четене / запис на дискови I / O, Проблеми, свързани с дисковото пространство и др. |
| Проверете за регистрационен файл на приложение ИЛИ регистрационен файл на сървъра на приложения, проблеми с производителността на системата, регистрационен файл на уеб сървъра - проверете HTTP, tomcat lo, jboss или WebLogic регистрационни файлове, за да видите дали времето за реакция / получаване на сървъра на приложения е проблемите за бавност, изтичане на памет на всеки приложение |
| Проблеми, свързани с антивирусната програма, свързани със защитната стена, мрежови проблеми, проблеми с времето за реакция на SMTP сървъра и др. |
12) Кои са ключовите компоненти на DevOps?
Най-важните компоненти на DevOps са:
- Непрекъсната интеграция
- Непрекъснато тестване
- Непрекъсната доставка
- Непрекъснато наблюдение
13) Назовете няколко облачни платформи, които се използват за внедряване на DevOps
Популярната платформа за изчислителни облаци, използвана за внедряване на DevOps, са:
- Google Cloud
- Amazon Web Services
- Microsoft Azure
14) Дайте някои предимства от използването на системата за контрол на версиите
- Системата за управление на версията позволява на членовете на екипа да работят свободно върху всеки файл по всяко време.
- Всички предишни версии и варианти са тясно опаковани във VCS.
- Разпределен VCS подобен ви помага да съхранявате пълната история на проекта, така че в случай на повреда на централния сървър можете да използвате локалното хранилище на Git на вашия екип.
- Позволява ви да видите какви точно промени са направени в съдържанието на файла
15) Обяснете Git Bisect
Git bisect ви помага да намерите коммита, който е въвел грешка, използвайки двоично търсене.
16) Каква е компилацията?
Изграждането е метод, при който изходният код е съставен, за да се провери дали работи като единична единица. В процеса на създаване на компилация изходният код ще бъде подложен на компилация, проверка, тестване и внедряване.
17) Какво е кукла?
Puppet е полезен инструмент за управление на проекти. Помага ви да автоматизирате административни задачи.
18) Обяснете двуфакторно удостоверяване
Двуфакторното удостоверяване е метод за защита, при който потребителят предоставя два начина за идентификация от отделни категории.
19) Обяснете термина „Canary Release“.
Пускането на канарче е модел, който намалява риска от въвеждане на нова версия на софтуера в производствената среда. Това се прави, като го прави контролирано достъпен за подмножество на потребителя. Преди да го направите достъпен за пълния потребителски набор.
20) Какви видове тестове са важни, за да се гарантира, че новата услуга е готова за производство?
Трябва да провеждате непрекъснато тестване, за да сте сигурни, че новата услуга е готова за производство.
21) Какво е Vagrant?
Vagrant е инструмент, който може да създаде и управлява виртуализирана среда за тестване и разработване на софтуер.
22) Каква е ползата от PTR в DNS?
Записът на указател, който е известен също като (PTR), се използва за обратно търсене на DNS.
23) Какво е готвач?
Това е мощна платформа за автоматизация, която трансформира инфраструктурата в код. В този инструмент можете да използвате скриптове за писане, които се използват за автоматизиране на процесите.
24) Какви са предпоставките за внедряването на DevOps?
По-долу са полезните предпоставки за внедряване на DevOps:
- Поне един софтуер за контрол на версиите
- Правилна комуникация между членовете на екипа
- Автоматизирано тестване
- Автоматизирано разполагане
25) Назовете някои най-добри практики, които трябва да се следват за успеха на DevOps.
Ето основните важни практики за внедряване на DevOps:
- Скоростта на доставка означава време, необходимо за всяка задача, за да ги вкарате в производствената среда.
- Проследете колко дефекти са открити в различните
- Важно е да се измери действителното или средното време, необходимо за възстановяване в случай на повреда в производствената среда.
- Броят на грешките, докладвани от клиента, също влияе върху качеството на приложението.
26) Обяснете инструмента SubGIt
SubGit ви помага да мигрирате SVN към Git. Той също така ви позволява да изградите записваем Git огледало на локално или отдалечено хранилище Subversion.
27) Назовете някои важни инструменти за наблюдение на мрежата
Някои от най-известните инструменти за наблюдение на мрежата са:
- Splunk
- Icinga 2
- Wireshark
- Нагиос
- OpenNMS
28) Дали вашата видеокарта може да работи с Unity, как бихте разбрали?
Когато използвате команда
/usr/lib/Linux/unity_support_test-p
тя ще даде подробна информация за изискванията на Unity и ако те са изпълнени, тогава вашата видеокарта може да работи с единство.
29) Обяснете как да активирам стартовия звук в Ubuntu?
За да активирате звука при стартиране
- Щракнете върху контролната предавка и след това върху Стартиране на приложения
- В прозореца Предпочитания за стартово приложение щракнете върху Добавяне, за да добавите запис
- След това попълнете информацията в полета за коментари като Име, Команда и Коментар
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
- Излезте и след това влезте, след като приключите
Можете също така да го отворите с клавишна комбинация Ctrl + Alt + T .
30) Кой е най-бързият начин за отваряне на терминал на Ubuntu в определена директория?
За да отворите терминал на Ubuntu в определена директория, можете да използвате персонализирана клавишна комбинация.
За да направите това, в командното поле на нова потребителска клавиатура въведете genome - terminal - - working - directory = / path / to / dir.
31) Обяснете как можете да получите текущия цвят на текущия екран на работния плот на Ubuntu?
Можете да отворите фоновото изображение в The Gimp (редактор на изображения) и след това да използвате инструмента за капкомер, за да изберете цвета в определена точка. Той ви дава RGB стойността на цвета в този момент.
32) Обяснете как създавате стартери на работен плот в Ubuntu?
За да създадете стартери на работен плот в Ubuntu, можете да използвате
След това ALT + F2 напишете "gnome-desktop-item-edit -create-new ~ / desktop", той ще стартира стария диалогов прозорец на GUI и ще създаде стартер на вашия работен плот
33) Обяснете какво е Memcached?
Memcached е безплатна и с отворен код, високоефективна, разпределена система за кеширане на обекти с памет. Основната цел на Memcached е да увеличи времето за реакция на данни, които иначе могат да бъдат възстановени или конструирани от друг източник или база данни. Той се използва, за да се избегне необходимостта да се работи с SQL база данни или друг източник многократно, за да се извлекат данни за едновременна заявка.
Memcached може да се използва за
- Социални мрежи-> Кеширане на профили
- Агрегиране на съдържание-> Кеширане на HTML / страници
- Насочване на реклами-> Проследяване на бисквитки / профили
- Връзка-> Кеширане на сесии
- Електронна търговия -> Кеширане на сесии и HTML
- Услуги, базирани на местоположение-> Мащабиране на заявки към база данни
- Игри и забавления-> Кеширане на сесии
Memcache помага
- Ускорете процесите на кандидатстване
- Той определя какво да съхранявате и какво не
- Намалете броя на заявките за извличане към базата данни
- Намалява входа / изхода (вход / изход) (твърд диск)
Недостатъкът на Memcached е
- Това не е постоянно съхранение на данни
- Не е база данни
- Това не е специфично приложение
- Не може да кешира голям обект
34) Споменете някои важни характеристики на Memcached?
Важни характеристики на Memcached включва
- CAS токени : CAS токенът е прикрепен към обект, извлечен от кеша. Можете да използвате този маркер, за да запазите актуализирания си обект.
- Обратни обаждания: Опростява кода
- getDelayed: Намалява времето за забавяне на вашия скрипт, който чака резултатите да се върнат от сървър
- Двоичен протокол: Можете да използвате двоичен протокол вместо ASCII с по-новия клиент
- Igbinary: Преди това клиент винаги използваше сериализация на стойността със сложни данни, но с Memcached можете да използвате опция igbinary.
35) Обяснете дали е възможно да се споделя един екземпляр на Memcache между множество проекти?
Да, възможно е да споделяте един екземпляр на Memcache между множество проекти. Memcache е място за съхранение на памет и можете да стартирате memcache на един или повече сървъри. Можете също да конфигурирате клиента си да говори с определен набор от екземпляри. Така че, можете да стартирате два различни процеса Memcache на един и същ хост и въпреки това те са напълно независими. Освен ако не сте разделили данните си, тогава е необходимо да знаете от кой екземпляр да вземете данните или да ги въведете.
36) Имате множество Memcache сървъри, в които един от memcache сървърите се проваля и разполага с вашите данни, ще се опита ли някога да получи ключови данни от този неуспешен сървър?
Данните в неуспешния сървър няма да бъдат премахнати, но има разпоредба за автоматична повреда, която можете да конфигурирате за множество възли. Прекъсването може да се задейства по време на грешки на ниво сокет или Memcached на сървъра, а не по време на стандартни грешки на клиента като добавяне на съществуващ ключ и т.н.
37) Обяснете как можете да сведете до минимум прекъсванията на сървъра Memcached?
- Когато един екземпляр се провали, няколко от тях слизат и това ще доведе до по-голямо натоварване на сървъра на базата данни, когато загубените данни бъдат презаредени, когато клиентът направи заявка. За да избегнете това, ако вашият код е написан, за да сведе до минимум печатите в кеша, тогава той ще остави минимално въздействие
- Друг начин е да се изведе екземпляр на Memcached на нова машина, използвайки IP адреса на загубените машини
- Кодът е друга опция за минимизиране на прекъсванията на сървъра, тъй като ви дава свободата да промените списъка със сървъри Memcached с минимална работа
- Задаването на стойност на времето за изчакване е друга опция, която някои клиенти на Memcached реализират за прекъсване на работата на сървъра Memcached. Когато вашият Memcached сървър падне, клиентът ще продължи да се опитва да изпрати заявка до достигане на ограничението за изчакване
38) Обяснете как можете да актуализирате Memcached при промяна на данните?
Когато данните се променят, можете да актуализирате Memcached от
- Проактивно изчистване на кеша : Изчистване на кеша, когато се прави вмъкване или актуализация
- Нулиране на кеша: Той е подобен на първия метод, но вместо просто да изтриете ключовете и да изчакате следващата заявка за данни, за да опресните кеша, нулирайте стойностите след вмъкването или актуализацията.
39) Обяснете какво представлява Dogpile ефектът? Как можете да предотвратите този ефект?
Dogpile ефектът се отнася до събитието, когато кешът изтече и уебсайтовете са засегнати от множество заявки, направени от клиента едновременно. Този ефект може да бъде предотвратен чрез използване на семафорна брава. В тази система, когато стойността изтече, първият процес придобива ключалката и започва да генерира нова стойност.
40) Обяснете как Memcached не трябва да се използва?
- Memcached често използваната злоупотреба е да се използва като хранилище за данни, а не като кеш
- Никога не използвайте Memcached като единствения източник на информация, от която се нуждаете, за да стартирате приложението си. Данните винаги трябва да са достъпни и от друг източник
- Memcached е просто съхранение на ключ или стойност и не може да изпълни заявка за данните или да прегледа съдържанието, за да извлече информация
- Memcached не предлага никаква форма на сигурност нито при криптиране, нито при удостоверяване
41) Когато сървърът се изключи, данните, съхранявани в Memcached, все още ли са налични?
Данните, съхранявани в Memcached, не са трайни, така че ако даден сървър бъде изключен или рестартиран, всички данни, съхранявани в Memcached, се изтриват.
42) Споменете каква е разликата между Memcache и Memcached?
- Memcache: Това е разширение, което ви позволява да работите чрез удобни обектно-ориентирани (ООП) и процедурни интерфейси. Той е проектиран да намали натоварването на базата данни в динамични уеб приложения.
- Memcached : Това е разширение, което използва библиотеката libmemcached, за да предостави API за комуникация със Memcached сървъри. Използва се за увеличаване на динамичните уеб приложения чрез облекчаване на натоварването на базата данни. Това е най-новият API.
43) Обяснете модела за внедряване в синьо / зелено
Моделът за оцветяване в синьо / зелено отговаря на най-важните предизвикателства, пред които е изправен по време на процеса на автоматично внедряване. При подхода за внедряване на синьо / зелено трябва да осигурите две еднакви производствени среди. Само един от тях обаче е НА ЖИВО във всеки даден момент от времето. ОКОЛНАТА среда се нарича Синя среда.
Когато екипът подготвя следващата версия на своя софтуер, те провеждат последния си етап от тестване в среда, известна като Зелена среда. След като бъде проверен, трафикът се насочва към зелената среда.
44) Какви са контейнерите?
Контейнерите са от лека виртуализация. Те предлагат изолация между процесите.
45) Какво представлява посмъртна среща с препратка към DevOps?
Срещата след смъртта се прави, за да се обсъди какво се е объркало и какви стъпки трябва да предприемете, за да избегнете неуспехи.
46) Кой е най-лесният метод за изграждане на малък облак?
VMfres е една от най-ефективните опции за създаване на IaaS облак от виртуални виртуални машини за нула време. Ако обаче искате лек PaaS, тогава Dokku е добър вариант, защото bash скриптът може да бъде PaaS извън контейнерите на Dokku.
47) Назовете два инструмента, които се използват за докер мрежа.
За мрежите на докер можете да използвате роя Kubernetes и Docker.
48) Назовете някои от областите, в които се изпълняват DevOps
DevOps се използват за производство, ИТ операции, обратна връзка за производството и разработването на софтуер.
49) Какво е CBD '?
CBD или компонентно-базираното развитие е уникален начин да се подходи към разработването на продукти. При този метод разработчиците винаги търсят съществуващи добре дефинирани, тествани и проверени компоненти, за да ги съставят и сглобят в продукт, вместо да се развиват от нулата.
50) Обяснете програмирането по двойки с позоваване на DevOps
Програмирането по двойки е инженерна практика на Правилата за екстремно програмиране. При този метод двама програмисти работят върху една и съща система, върху един и същ дизайн / алгоритъм / код.
Един програмист действа като „драйвер“. Други действа като „наблюдател“, който непрекъснато наблюдава напредъка на даден проект, за да идентифицира проблеми. Ролите могат да бъдат обърнати по всяко време, без предварителни намеквания.
51) Обяснете теста за устойчивост
Тест, който осигурява възстановяване без загуба на данни и функционалност след повреда, се нарича Тестове за устойчивост.
52) Назовете три важни KPI на DevOps
Три най-често срещани KPI на DevOps са:
- Междувременно до възстановяване на неуспеха
- Честота на внедряване
- Процент неуспешни разполагания