Devops คำถามสัมภาษณ์ & คำตอบ 2022 – คำถามที่พบบ่อยที่สุด

เผยแพร่แล้ว: 2021-01-08

สารบัญ

คำถามและคำตอบสัมภาษณ์ DevOps

คุณเป็นวิศวกร devops และกำลังมองหางานอยู่ มาดู คำถามสัมภาษณ์ Devops ที่พบบ่อยที่สุด

เมื่อเทียบกับสาขาวิทยาการคอมพิวเตอร์อื่นๆ DevOps นั้นไม่ได้รับความนิยมมากนัก แต่นั่นเป็นเพราะทั้งง่ายและซับซ้อนที่จะเข้าใจ

ในการเริ่มต้นไม่ใช่เครื่องมือหรือซอฟต์แวร์ แต่เป็นวัฒนธรรมและวิธีการทำงานชนิดหนึ่งที่ทีมพัฒนา (นักพัฒนาซอฟต์แวร์) และทีมปฏิบัติการ (ผู้ปรับใช้) ถูกรวมเข้าด้วยกันเพื่อการพัฒนา การรวม การทดสอบ การปรับใช้ และการตรวจสอบอย่างต่อเนื่อง เป้าหมายสุดท้ายคือการสร้างและส่งมอบผลิตภัณฑ์ได้เร็วขึ้น โดยมีอัตราความล้มเหลวต่ำที่สุดเท่าที่จะเป็นไปได้ มันช่วยเสริมและใช้งานได้กับวิธีการแบบ Agile แต่ไม่เหมือนกับวิธีการนี้

หากคุณเป็นคนที่มีความสนใจในธรรมชาติผสมผสานของสาขานี้และต้องการทำงาน คำถามสัมภาษณ์ต่อไปนี้จะช่วยให้คุณผ่านพ้นอุปสรรคและขัดขวางงานในฝันของคุณ

  • เครื่องมือ DevOps ยอดนิยมมีอะไรบ้าง
    • หุ่นเชิด
    • Ansible
    • กิต
    • มาเวน
    • พ่อครัว
    • เจนกินส์
    • นักเทียบท่า
    • นาจิโอส
    • ELK
  • การดำเนินงานหลักของ DevOps คืออะไร?
    • การพัฒนา
    • การควบคุมเวอร์ชัน
    • การทดสอบ
    • บูรณาการ
    • การปรับใช้
    • จัดส่ง
    • การกำหนดค่า
    • การตรวจสอบ
    • ข้อเสนอแนะ
  • 3 KPI ที่สำคัญของ DevOps คืออะไร?
    • ความถี่ในการปรับใช้
    • เปอร์เซ็นต์ของการปรับใช้ที่ล้มเหลว
    • เวลาเฉลี่ยในการกู้คืนความล้มเหลว
  • ระบบควบคุมเวอร์ชันคืออะไร?
    VCS เป็นซอฟต์แวร์ที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถทำงานร่วมกันได้ในขณะที่ยังคงรักษาประวัติการทำงานทั้งหมดที่ทำไว้จนถึงจุดใดก็ได้
  • VCS มี 2 ประเภท:
    • เซ็นทรัล วีซีเอส ตัวอย่าง: Git
    • กระจาย/กระจายอำนาจ VCS ตัวอย่าง: SVN
  • เหตุผลที่ VCS เป็นส่วนสำคัญของ DevOps คือ:
    • ช่วยให้นักพัฒนาสามารถทำงานบนโค้ดร่วมกันได้
    • ไม่อนุญาตให้เขียนทับการเปลี่ยนแปลงของกันและกัน
    • ที่คงประวัติของแต่ละเวอร์ชั่นไว้ตลอดไป
  • ความแตกต่างระหว่าง Git pull และ Git fetch คืออะไร?
    ในรูปของสมการง่ายๆ คือ
    Git pull = การดึง Git + การผสาน Git
    คำสั่ง git pull ใช้เพื่อดึงการเปลี่ยนแปลงที่ทำขึ้นใหม่หรือส่งไปยังสาขาเป้าหมายในที่เก็บในเครื่องของคุณจากสาขาจากที่เก็บส่วนกลาง
    คำสั่ง git fetch มีจุดประสงค์เดียวกันเช่นกัน อย่างไรก็ตาม แทนที่จะจัดเก็บการเปลี่ยนแปลงใหม่และกระทำในสาขาเป้าหมาย การเปลี่ยนแปลงจะเก็บไว้ในสาขาใหม่ เพื่อให้แน่ใจว่าการเปลี่ยนแปลงสะท้อนให้เห็นในสาขาเป้าหมายด้วย เราต้องใช้คำสั่ง git merge
    สมการนี้มีประโยชน์ในการจดจำฟังก์ชันของแต่ละคำสั่ง
  • เราจะรู้ได้อย่างไรว่าสาขาใน Git ถูกรวมเข้ากับมาสเตอร์แล้ว?
    โดยใช้ คำสั่ง git branch -merged หรือ git branch -no-merged
    สาขาแรกจะแสดงสาขาทั้งหมดที่รวมกับสาขาปัจจุบัน ในขณะที่สาขาหลังแสดงสาขาที่ยังไม่ได้รวม
  • กลยุทธ์การโยงหัวข้อใดบ้างที่พร้อมใช้งานใน Git
    • การแยกคุณสมบัติ
      ในกลยุทธ์การโยงหัวข้อนี้ การเปลี่ยนแปลงทั้งหมดสำหรับฟีเจอร์จะถูกเก็บไว้ภายในแบรนช์ เมื่อการทดสอบอัตโนมัติทำการทดสอบและตรวจสอบสาขาคุณลักษณะ สาขาจะถูกรวมเข้ากับหลัก
    • การแบ่งงาน
      ภายใต้กลยุทธ์นี้ แต่ละงานจะดำเนินการในสาขาของตนเอง รวมคีย์งานพร้อมกับชื่อสาขา การมีคีย์นี้ทำให้ง่ายต่อการดูว่างานใดถูกใช้งานโดยโค้ดใด
    • ปล่อยสาขา
      เมื่อแบรนช์พัฒนาพร้อมคุณสมบัติแล้ว จะถูกโคลนเพื่อสร้างรีลีสแบรนช์ การสร้างสาขานี้จะกำหนดรอบการเผยแพร่ซึ่งไม่มีคุณลักษณะใหม่และสามารถเพิ่มได้ งานเดียวที่สามารถทำได้คือ: การแก้ไขจุดบกพร่อง การสร้างเอกสาร และงานอื่นๆ ที่เกี่ยวข้องกับการเปิดตัว การเผยแพร่จะถูกรวมเข้ากับต้นแบบและแท็กด้วยหมายเลขเวอร์ชันเมื่อพร้อมที่จะจัดส่ง
  • SubGit คืออะไร?
    SubGit เป็นเครื่องมือที่ใช้ในการย้าย SVN ไปยัง Git
  • เราจะโคลนที่เก็บ Git โดยใช้เจนกินส์ได้อย่างไร
    ขั้นตอนแรกคือการป้อนชื่อผู้ใช้และอีเมลในระบบเจนกินส์ ไปที่ไดเร็กทอรีงานของคุณแล้วรันคำสั่ง 'git config'
  • Ansible Playbook กับ Roles ต่างกันอย่างไร?
    เพลย์บุ๊ก:
    มีบทละคร
    ทำหน้าที่เป็นแผนที่ระหว่างเจ้าบ้านและบทบาท
    ตัวอย่าง: webservers.yml, site.yml
    บทบาท:
    เป็นชุดย่อยที่ใช้ซ้ำได้ของการเล่น
    เป็นชุดของภารกิจเพื่อให้บรรลุบทบาทบางอย่าง
    ตัวอย่าง: ทั่วไป เว็บเซิร์ฟเวอร์
  • Docker คืออะไร?
    Docker เป็นเทคโนโลยีประเภทหนึ่งที่รวมแอปพลิเคชันทั้งหมดและการพึ่งพาที่เกี่ยวข้องไว้ในคอนเทนเนอร์ ดังนั้นจึงมั่นใจได้ว่าแอปพลิเคชันของคุณทำงานได้อย่างราบรื่นและไม่มีที่ติในทุกสภาพแวดล้อม อิมเมจ Docker ถูกใช้เพื่อสร้างคอนเทนเนอร์เหล่านี้

มันทำงานบนแพลตฟอร์ม Linux และ Cloud เท่านั้น:

  • openSUSE 12.3+
  • เจนทู
  • ArchLinux
  • RHEL 6.5+
  • Fedora 20+
  • Microsoft Azure
  • แร็คสเปซ

เพื่อชื่อไม่กี่

  • Scrum คืออะไร?
    Scrum เป็นเหมือนตัวแก้ไขงานที่ใช้การวนซ้ำและแนวทางปฏิบัติที่เพิ่มขึ้นเพื่อแบ่งซอฟต์แวร์ที่ซับซ้อนและงานการพัฒนาออกเป็นชิ้นเล็ก ๆ ที่ทำได้ การทำซ้ำแต่ละครั้งจะใช้เวลา 2 สัปดาห์
  • Jenkins รองรับเครื่องมือ SCM ใดบ้าง
    • RTC
    • Perforce
    • เคลียร์เคส
    • กิต
    • การโค่นล้ม
    • CVS

พื้นที่ที่ครอบคลุมโดย DevOps นั้นกว้างใหญ่ เนื่องจากเป็นการควบรวมของ 2 ขั้นตอนเฉพาะของการสร้างซอฟต์แวร์ รายการด้านบนให้แนวคิดเกี่ยวกับประเภทของคำถามที่ถามและไม่ครบถ้วนสมบูรณ์ สำหรับการเริ่มต้นที่ดี คุณไม่สามารถผิดพลาดได้ ขอให้โชคดีกับการเตรียมการสัมภาษณ์ของคุณ!

เรียนรู้ หลักสูตรวิศวกรรมซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

บทสรุป

ด้วยเหตุนี้ เราจึงเสร็จสิ้น คำถามและคำตอบในการสัมภาษณ์ Devops ของเรา เราหวังว่าคำแนะนำของเราจะเป็นประโยชน์ เราจะอัปเดตคู่มืออย่างสม่ำเสมอเพื่อให้คุณอัปเดต

หากคุณสนใจที่จะเป็นวิศวกร DevOps โปรดดูที่ IIIT-B & upGrad's Executive PG Program ใน Full Stack Software Development Program

DevOps คืออะไร?

DevOps เป็นคำที่ใช้อธิบายการทำงานร่วมกันของนักพัฒนาซอฟต์แวร์ วิศวกรด้านความน่าเชื่อถือของไซต์ และวิศวกรด้านการประกันคุณภาพ มันสามารถเห็นได้ว่าเป็นวิธีการหรือวัฒนธรรม เป็นปรัชญาที่ใช้สำหรับการพัฒนาแอปพลิเคชันและการส่งมอบผ่านการทำงานร่วมกันของนักพัฒนาซอฟต์แวร์และการดำเนินงานด้านไอที คำว่า DevOps เป็นการผสมผสานระหว่างคำว่า Development and Operations สองคำ แนวปฏิบัติ DevOps ใหม่ได้รับการพัฒนาและนำไปใช้เพื่อช่วยให้นักพัฒนาซอฟต์แวร์ทำงานร่วมกันได้อย่างมีประสิทธิภาพยิ่งขึ้น และการดำเนินงานด้านไอทีเพื่อส่งมอบซอฟต์แวร์ให้กับลูกค้าได้รวดเร็วยิ่งขึ้น

เครื่องมือควบคุมเวอร์ชันที่ใช้ใน DevOps คืออะไร

Git เป็นหนึ่งในเครื่องมือยอดนิยมที่ใช้ใน DevOps เป็นระบบควบคุมเวอร์ชันแบบกระจายซึ่งส่วนใหญ่ใช้สำหรับการจัดการซอร์สโค้ด Git เก็บการแก้ไขแต่ละโครงการในที่เก็บของตัวเอง คุณลักษณะที่ดีที่สุดของ Git คือลักษณะการกระจาย โปรแกรมเมอร์ทุกคนสามารถทำงานร่วมกันและแบ่งปันรหัสกับผู้อื่นในกลุ่มได้อย่างง่ายดาย ส่วนที่ดีที่สุดคือช่วยให้นักพัฒนาประหยัดเวลาได้มากในขณะที่เขียนโค้ด ซึ่งนำไปสู่การทำงานที่ดีขึ้น

นักพัฒนา DevOps ทำอะไร?

คำว่า DevOps เป็นกระเป๋าหิ้วของสองคำ: การพัฒนาและการดำเนินงาน คำนี้ได้รับการประกาศเกียรติคุณจาก Patrick Debois และมันหมายถึงแนวโน้มล่าสุดของการรวมสองด้านของวงจรการพัฒนาซอฟต์แวร์และการทำให้สายงานเดิมของความรับผิดชอบไม่ชัดเจน วิศวกร DevOps ทำงานร่วมกับทีมที่พัฒนาซอฟต์แวร์และทีมที่ทำงานเซิร์ฟเวอร์ บทบาทของวิศวกร DevOps สามารถสรุปได้ดังนี้: เป็นเจ้าของทุกสิ่งที่เกี่ยวข้องกับการส่งมอบบริการหรือระบบเดียว และบริการและระบบสนับสนุนทั้งหมด ทำงานร่วมกับทีมพัฒนาเพื่อระบุการพึ่งพาระหว่างการพัฒนาและการดำเนินงาน และทำงานร่วมกับทีมปฏิบัติการเพื่อช่วยให้การดำเนินงานและการพัฒนากระบวนการจัดส่งเป็นไปโดยอัตโนมัติ ทำหน้าที่เป็นผู้ประสานงานระหว่างทีมพัฒนาและฝ่ายปฏิบัติการและทีมบริหารผลิตภัณฑ์และโครงการ