İlk 50 DevOps Röportaj Sorusu ve amp; Yanıtlar

Anonim

PDF İndir

1) DevOps'un ne olduğunu açıklayın?

BT alanında yeni ortaya çıkan bir terimdir ve hem yazılım geliştiricilerin hem de dağıtım (operasyonlar) ekibinin işbirliğini ve iletişimini vurgulayan bir uygulamadan başka bir şey değildir. Yazılım ürününü daha hızlı teslim etmeye ve sürümlerin hata oranını düşürmeye odaklanır.

2) DevOps'un arkasındaki temel yönlerden veya ilkelerden bahsedin mi?

DevOps'un arkasındaki temel yönler veya ilke,

  • Kod olarak altyapı
  • Sürekli dağıtım
  • Otomasyon
  • İzleme
  • Güvenlik

3) DevOps'un uygulama geliştirme ve altyapı ile ilgili temel işlemleri nelerdir?

DevOps'un temel işlemleri

Uygulama geliştirme

  • Kod oluşturma
  • Kod kapsamı
  • Birim testi
  • Ambalajlama
  • Dağıtım

Altyapı

  • Sağlama
  • Yapılandırma
  • Orkestrasyon
  • Dağıtım

4) AWS'de "Altyapı kodunun" nasıl işlendiğini veya yürütüldüğünü açıklayın.

AWS'de,

  • Altyapı kodu basit JSON biçiminde olacaktır
  • Bu JSON kodu, şablon adı verilen dosyalar halinde düzenlenecektir
  • Bu şablonlar AWS geliştiricilerinde dağıtılabilir ve ardından yığınlar olarak yönetilebilir
  • Daha sonra CloudFormation hizmeti yığın içinde Oluşturma, silme, güncelleme vb. İşlemlerini yapacaktır.

5) Bir DevOps mühendisi için hangi komut dosyası dilinin en önemli olduğunu açıklayın.

Daha basit bir betik dili, bir DevOps mühendisi için daha iyi olacaktır. Python çok popüler görünüyor.

6) DevOps'un geliştiricilere nasıl yardımcı olduğunu açıklayın.

DevOps, geliştiricilerin hatayı düzeltmesi ve yeni özellikleri hızlı bir şekilde uygulaması için yardımcı olabilir. Ekip üyeleri arasında daha net bir iletişim kurulmasına da yardımcı olur.

7) DevOps için bazı popüler araçları listeleyin.

DevOps için popüler araçlardan bazıları

  • Jenkins
  • Nagios
  • Monit
  • ELK (Elasticsearch, Logstash, Kibana)
  • Jenkins
  • Liman işçisi
  • Ansible
  • Git

8) SSH'yi hangi durumda kullandınız?

Uzak bir makinede oturum açmak ve komut satırında çalışmak için SSH kullandım. Bunun yanı sıra, güvenli olmayan bir ağ üzerinden iki güvenilmeyen ana bilgisayar arasında güvenli şifrelenmiş iletişimi kolaylaştırmak için sisteme tünel açmak için de kullandım.

9) Revizyon (sürüm) kontrolünü nasıl yapacağınızı açıklayın?

Revizyon kontrolünü ele alma yaklaşımım, kodu SourceForge veya GitHub'a göndermek olacak, böylece herkes onu görebilecek. Ayrıca, çözülmemiş sorunların çözüldüğünden emin olmak için son revizyondaki kontrol listesini yayınlayacağım.

10) Http istek türleri nelerdir?

Http isteklerinin türleri

  • ALMAK
  • KAFA
  • KOYMAK
  • İLETİ
  • YAMA
  • SİL
  • İZLEME
  • BAĞLAN
  • SEÇENEKLER

11) Bir Linux-build-server aniden yavaşlamaya başlarsa neyi kontrol edeceğinizi açıklayın.

Bir Linux-build-server aniden yavaşlamaya başlarsa, aşağıdaki üç şeyi kontrol edeceksiniz

  • Uygulama Düzeyinde sorun giderme
RAM ile ilgili sorunlar, Disk G / Ç okuma-yazma sorunları, Disk Alanıyla ilgili Sorunlar vb.
  • Sistem Düzeyinde sorun giderme
Uygulama günlük dosyası VEYA uygulama sunucusu günlük dosyası, sistem performansı sorunları, Web Sunucusu Günlüğü olup olmadığını kontrol edin - uygulama sunucusu yanıt / alma süresinin yavaşlık, Bellek Sızıntısı gibi sorunlar olup olmadığını görmek için HTTP, tomcat lo, jboss veya WebLogic uygulama
  • Bağımlı Hizmetler sorunlarını giderme
Antivirüs ile ilgili sorunlar, Güvenlik duvarıyla ilgili sorunlar, Ağ sorunları, SMTP sunucusu yanıt süresi sorunları vb.

12) DevOps'un temel bileşenleri nelerdir?

DevOps'un en önemli bileşenleri şunlardır:

  • Sürekli Entegrasyon
  • Sürekli Test
  • Sürekli Teslimat
  • Sürekli izleme

13) DevOps Uygulaması için kullanılan birkaç bulut platformunu adlandırın

DevOps uygulaması için kullanılan popüler Bulut bilişim platformu şunlardır:

  1. Google Cloud
  2. Amazon Web Hizmetleri
  3. Microsoft Azure

14) Sürüm Kontrol sistemini kullanmanın bazı faydalarını sağlayın

  • Sürüm Kontrol sistemi, ekip üyelerinin herhangi bir zamanda herhangi bir dosya üzerinde özgürce çalışmasına olanak tanır.
  • Tüm eski sürümler ve varyantlar, VCS'nin içinde sıkıca paketlenmiştir.
  • Dağıtılmış bir VCS benzeri, projenin tüm geçmişini depolamanıza yardımcı olur, böylece merkezi sunucuda bir arıza olması durumunda ekip üyenizin yerel Git deposunu kullanabilirsiniz.
  • Dosyanın içeriğinde tam olarak hangi değişikliklerin yapıldığını görmenizi sağlar

15) Git Bisect'i açıklayın

Git bisect, ikili aramayı kullanarak bir hataya neden olan kaydetmeyi bulmanıza yardımcı olur.

16) Yapı nedir?

Yapı, kaynak kodun tek bir birim olarak çalışıp çalışmadığını kontrol etmek için bir araya getirildiği bir yöntemdir. Derleme oluşturma sürecinde, kaynak kodu derleme, inceleme, test ve dağıtımdan geçecektir.

17) Kukla nedir?

Puppet, kullanışlı bir proje yönetimi aracıdır. Yönetim görevlerini otomatikleştirmenize yardımcı olur.

18) İki faktörlü kimlik doğrulamayı açıklayın

İki faktörlü kimlik doğrulama, kullanıcının ayrı kategorilerden iki tanımlama yolu sağladığı bir güvenlik yöntemidir.

19) 'Kanarya Salınımı' terimini açıklayın.

Bir canary sürümü, yeni bir sürüm yazılımının üretim ortamına girme riskini azaltan bir modeldir. Kontrollü bir şekilde kullanıcının bir alt kümesine sunulması ile yapılır. Tüm kullanıcı setine sunmadan önce.

20) Yeni hizmetin üretime hazır olmasını sağlamak için ne tür testler önemlidir?

Yeni hizmetin üretime hazır olduğundan emin olmak için sürekli testler yapmanız gerekir.

21) Vagrant nedir?

Serseri, yazılımı test etmek ve geliştirmek için sanallaştırılmış ortamlar yaratabilen ve yönetebilen bir araçtır.

22) DNS'de PTR'nin kullanımı nedir?

(PTR) olarak da bilinen işaretçi kaydı, ters DNS araması için kullanılır.

23) Chef nedir?

Altyapıyı koda dönüştüren güçlü bir otomasyon platformudur. Bu araçta, işlemleri otomatikleştirmek için kullanılan yazma komut dosyalarını kullanabilirsiniz.

24) DevOps'un uygulanması için ön koşullar nelerdir?

DevOps Uygulaması için yararlı ön koşullar şunlardır:

  • En az bir Sürüm Kontrol Yazılımı
  • Ekip üyeleri arasında doğru iletişim
  • Otomatik test
  • Otomatik dağıtım

25) DevOps başarısı için izlenmesi gereken bazı en iyi uygulamaları belirtin.

DevOps uygulaması için temel en iyi uygulamalar şunlardır:

  • Teslimat hızı, herhangi bir görevin onları üretim ortamına sokması için harcanan zaman anlamına gelir.
  • Çeşitli alanlarda kaç kusur bulunduğunu izleyin.
  • Üretim ortamında bir arıza olması durumunda kurtarmak için gereken gerçek veya ortalama süreyi ölçmek önemlidir.
  • Müşteri tarafından bildirilen hataların sayısı da uygulamanın kalitesini etkiler.

26) SubGIt aracını açıklayın

SubGit, SVN'yi Git'e taşımanıza yardımcı olur. Ayrıca, yerel veya uzak bir Subversion deposunun yazılabilir bir Git yansımasını oluşturmanıza da olanak tanır.

27) Bazı önemli ağ izleme araçlarını adlandırın

En önemli ağ izleme araçlarından bazıları şunlardır:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Video kartınızın Unity'yi çalıştırıp çalıştıramayacağını nasıl bilebilirsiniz?

Bir komut kullandığınızda

/usr/lib/Linux/unity_support_test-p

Unity'nin gereksinimleri hakkında ayrıntılı çıktı verir ve bunlar karşılanırsa, video kartınız birliği çalıştırabilir.

29) Ubuntu'da başlangıç ​​sesini nasıl etkinleştireceğinizi açıklayın.

Başlangıç ​​sesini etkinleştirmek için

  • Kontrol dişlisine tıklayın ve ardından Başlangıç ​​Uygulamaları'na tıklayın.
  • In Başlangıç Uygulaması Tercihler penceresinde, tıklayın Ekle bir girdi eklemek için
  • Ardından Ad, Komut ve Yorum gibi yorum kutularına bilgileri doldurun
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Çıkış yapın ve işiniz bittiğinde oturum açın

Ayrıca Ctrl + Alt + T kısayol tuşuyla da açabilirsiniz .

30) Belirli bir dizinde Ubuntu terminali açmanın en hızlı yolu nedir?

Belirli bir dizinde bir Ubuntu terminali açmak için, özel klavye kısayolunu kullanabilirsiniz.

Bunu yapmak için, yeni bir özel klavyenin komut alanına genom - terminal - - çalışma - dizin = / yol / / dir yazın.

31) Ubuntu masaüstünde mevcut ekranın mevcut rengini nasıl alabileceğinizi açıklayın.

Arka plan resmini Gimp'te (görüntü düzenleyici) açabilir ve ardından belirli bir noktadaki rengi seçmek için damlalık aracını kullanabilirsiniz. Size o noktada rengin RGB değerini verir.

32) Ubuntu'da bir masaüstünde başlatıcıları nasıl oluşturduğunuzu açıklayın.

Ubuntu'da bir masaüstünde başlatıcılar oluşturmak için kullanabilirsiniz

ALT + F2 ardından "gnome-desktop-item-edit -create-new ~ / desktop" yazın, eski GUI iletişim kutusunu başlatır ve masaüstünüzde bir başlatıcı oluşturur

33) Memcached'in ne olduğunu açıklayın?

Memcached, ücretsiz ve açık kaynaklı, yüksek performanslı, dağıtılmış bellek nesnesi önbelleğe alma sistemidir. Memcached'in birincil amacı, başka bir şekilde kurtarılabilecek veya başka bir kaynaktan veya veritabanından oluşturulabilecek veriler için yanıt süresini iyileştirmektir. Eşzamanlı bir istek için veri almak üzere SQL veritabanını veya başka bir kaynağı tekrar tekrar çalıştırma ihtiyacını ortadan kaldırmak için kullanılır.

Memcached için kullanılabilir

  • Sosyal Ağ-> Profil Önbelleğe Alma
  • İçerik Toplama-> HTML / Sayfa Önbelleğe Alma
  • Reklam hedefleme-> Çerez / profil izleme
  • İlişki-> Oturum önbelleğe alma
  • E-ticaret -> Oturum ve HTML önbelleğe alma
  • Konum tabanlı hizmetler-> Veritabanı sorgu ölçeklendirme
  • Oyun ve eğlence-> Oturumu önbelleğe alma

Memcache yardımcı olur

  • Başvuru süreçlerini hızlandırın
  • Neyin saklanıp saklanmayacağını belirler
  • Veritabanına erişim taleplerinin sayısını azaltın
  • G / Ç (Giriş / Çıkış) erişimini (sabit disk) keser

Memcached'in dezavantajı

  • Kalıcı bir veri deposu değil
  • Veritabanı değil
  • Uygulamaya özel değildir
  • Büyük nesneyi önbelleğe alamaz

34) Memcached'in bazı önemli özelliklerinden bahsettiniz mi?

Memcached'in önemli özellikleri şunları içerir:

  • CAS Belirteçleri : Önbellekten alınan bir nesneye bir CAS belirteci eklenir. Güncellenen nesnenizi kaydetmek için bu belirteci kullanabilirsiniz.
  • Geri aramalar: Kodu basitleştirir
  • getDelayed: Betiğinizin sonuçların bir sunucudan geri gelmesini bekleyen gecikme süresini azaltır.
  • İkili protokol: Daha yeni istemcide ASCII yerine ikili protokol kullanabilirsiniz
  • Igbinary: Önceden, bir istemci her zaman değeri karmaşık verilerle serileştiriyordu, ancak Memcached ile igbinary seçeneğini kullanabilirsiniz.

35) Tek bir Memcache örneğini birden çok proje arasında paylaşmanın mümkün olup olmadığını açıklayın.

Evet, birden çok proje arasında tek bir Memcache örneğini paylaşmak mümkündür. Memcache bir bellek deposu alanıdır ve memcache'yi bir veya daha fazla sunucuda çalıştırabilirsiniz. Ayrıca istemcinizi belirli bir örnek kümesiyle konuşacak şekilde yapılandırabilirsiniz. Böylece, aynı ana bilgisayarda iki farklı Memcache işlemi çalıştırabilirsiniz, ancak bunlar tamamen bağımsızdır. Verilerinizi bölümlendirmediyseniz, verileri hangi örnekten alacağınızı veya içine koyacağınızı bilmek gerekli hale gelir.

36) Memcache sunucularından birinin başarısız olduğu ve verilerinizin bulunduğu birden fazla Memcache sunucunuz var, başarısız olan bu sunucudan anahtar verileri almaya çalışacak mı?

Başarısız olan sunucudaki veriler kaldırılmaz, ancak birden çok düğüm için yapılandırabileceğiniz bir otomatik arıza koşulu vardır. Yük devretme, herhangi bir soket veya Memcached sunucu seviyesi hatası sırasında tetiklenebilir ve mevcut bir anahtarın eklenmesi gibi standart istemci hataları sırasında tetiklenemez.

37) Memcached sunucu kesintilerini nasıl en aza indirebileceğinizi açıklayın.

  • Bir örnek başarısız olduğunda, birkaçı kapanır ve bu, bir istemci istekte bulunurken kaybolan veriler yeniden yüklendiğinde veritabanı sunucusuna daha büyük bir yük getirir. Bunu önlemek için, kodunuz önbellek izini en aza indirecek şekilde yazıldıysa, minimum etki bırakacaktır.
  • Başka bir yol da, kayıp makinelerin IP adresini kullanarak yeni bir makinede Memcached'in bir örneğini ortaya çıkarmaktır.
  • Kod, size Memcached sunucu listesini minimum çalışmayla değiştirme özgürlüğü verdiği için sunucu kesintilerini en aza indirmek için başka bir seçenektir.
  • Zaman aşımı değerini ayarlamak, bazı Memcached istemcilerinin Memcached sunucu kesintisi için uyguladığı başka bir seçenektir. Memcached sunucunuz düştüğünde, istemci zaman aşımı sınırına ulaşılana kadar bir istek göndermeye çalışacaktır.

38) Veriler değiştiğinde Memcached'i nasıl güncelleyebileceğinizi açıklayın.

Veriler değiştiğinde Memcached'i güncelleyebilirsiniz.

  • Önbelleği proaktif olarak temizleme : Bir ekleme veya güncelleme yapıldığında önbelleği temizleme
  • Önbelleği Sıfırlama: İlk yönteme benzer, ancak anahtarları silmek ve verilerin önbelleği yenilemesi için bir sonraki isteği beklemek yerine, ekleme veya güncellemeden sonra değerleri sıfırlama.

39) Dogpile etkisinin ne olduğunu açıklayın. Bu etkiyi nasıl önleyebilirsiniz?

Dogpile etkisi, bir önbelleğin süresi dolduğunda olaya atıfta bulunur ve web siteleri, müşterinin aynı anda yaptığı birden çok istek tarafından vurulur. Bu etki semafor kilidi kullanılarak önlenebilir. Bu sistemde değerin süresi dolduğunda ilk işlem kilidi alır ve yeni değer üretmeye başlar.

40) Memcached'in nasıl kullanılmaması gerektiğini açıklayın.

  • Memcached'in yaygın kötüye kullanımı, onu bir önbellek olarak değil bir veri deposu olarak kullanmaktır.
  • Memcached'i asla uygulamanızı çalıştırmak için ihtiyacınız olan bilgi kaynağı olarak kullanmayın. Veriler her zaman başka bir kaynaktan da sağlanmalıdır
  • Memcached yalnızca bir anahtar veya değer deposudur ve veriler üzerinde bir sorgu gerçekleştiremez veya bilgileri ayıklamak için içerik üzerinde yineleme yapamaz
  • Memcached, şifreleme veya kimlik doğrulama konusunda herhangi bir güvenlik biçimi sunmaz

41) Bir sunucu kapatıldığında, Memcached'de depolanan veriler hala kullanılabilir mi?

Memcached'de depolanan veriler dayanıklı değildir, bu nedenle bir sunucu kapatılırsa veya yeniden başlatılırsa Memcached'de depolanan tüm veriler silinir.

42) Memcache ile Memcached arasındaki farktan bahsedin.

  • Memcache: Kullanışlı nesne yönelimli (OOP'lar) ve prosedürel arayüzler üzerinden çalışmanıza izin veren bir uzantıdır. Dinamik web uygulamalarında veritabanı yükünü azaltmak için tasarlanmıştır.
  • Memcached : Memcached sunucuları ile iletişim için API sağlamak üzere libmemcached kütüphanesini kullanan bir uzantıdır . Veritabanı yükünü hafifleterek dinamik web uygulamalarını artırmak için kullanılır. En son API'dir.

43) Mavi / Yeşil Dağıtım Modelini Açıklayın

Mavi / Yeşil renklendirme deseni, otomatik dağıtım işlemi sırasında karşılaşılan en önemli zorlukları ele alır. Mavi / Yeşil Dağıtım yaklaşımında, iki özdeş üretim ortamı sağlamanız gerekir. Ancak, herhangi bir zamanda bunlardan yalnızca biri CANLI durumdadır. CANLI ortama Mavi ortam denir.

Ekip, yazılımlarının bir sonraki sürümünü hazırlarken, son test aşamasını Yeşil ortam olarak bilinen bir ortamda gerçekleştirirler. Doğrulandıktan sonra, trafik Yeşil ortama yönlendirilir.

44) Kaplar nelerdir?

Kapsayıcılar hafif sanallaştırmadan yapılmıştır. İşlemler arasında izolasyon sunarlar.

45) DevOps ile ilgili ölüm sonrası toplantı nedir?

Ölüm sonrası toplantı, neyin yanlış gittiğini ve başarısızlıkları önlemek için hangi adımları atmanız gerektiğini tartışmak için yapılır.

46) Küçük bir bulut oluşturmanın en kolay yöntemi nedir?

VMfres, Sanal Kutu sanal makinelerinden kısa sürede IaaS bulutu oluşturmak için en etkili seçeneklerden biridir. Bununla birlikte, hafif PaaS istiyorsanız, Dokku iyi bir seçenektir çünkü bash betiği Dokku kapsayıcılarından PaaS olabilir.

47) Docker ağ iletişimi için kullanılan iki aracı adlandırın.

Docker ağ iletişimi için Kubernetes ve Docker sürüsünü kullanabilirsiniz.

48) DevOps'un uygulandığı alanlardan bazılarını adlandırın

DevOps; Üretim, BT operasyonları, üretim geri bildirimi ve yazılım geliştirme için kullanılır.

49) CBD nedir?

CBD veya Bileşen Tabanlı Geliştirme, ürün geliştirmeye yaklaşmanın benzersiz bir yoludur. Bu yöntemde, geliştiriciler, sıfırdan geliştirmek yerine, bunları oluşturmak ve bir üründe birleştirmek için her zaman mevcut iyi tanımlanmış, test edilmiş ve doğrulanmış bileşenleri ararlar.

50) DevOps'a istinaden Çift Programlamayı açıklayın

Çift programlama, Ekstrem Programlama Kurallarının bir mühendislik uygulamasıdır. Bu yöntemde iki programcı aynı sistem üzerinde aynı tasarım / algoritma / kod üzerinde çalışır.

Bir programcı "sürücü" olarak hareket eder. Diğeri, sorunları belirlemek için bir projenin ilerlemesini sürekli olarak izleyen bir "gözlemci" görevi görür. Roller, herhangi bir zamanda herhangi bir ön bilgi verilmeksizin tersine çevrilebilir.

51) Dayanıklılık Testini Açıklayın

Bir arızadan sonra veri ve işlevsellik kaybı olmadan kurtarmayı sağlayan test, Dayanıklılık testleri olarak adlandırılır.

52) Üç önemli DevOps KPI'sını adlandırın

En yaygın üç DevOps KPI'sı şunlardır:

  • Arıza kurtarma zamanı
  • Dağıtım sıklığı
  • Başarısız dağıtımların yüzdesi