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 สามารถสรุปได้ดังนี้: เป็นเจ้าของทุกสิ่งที่เกี่ยวข้องกับการส่งมอบบริการหรือระบบเดียว และบริการและระบบสนับสนุนทั้งหมด ทำงานร่วมกับทีมพัฒนาเพื่อระบุการพึ่งพาระหว่างการพัฒนาและการดำเนินงาน และทำงานร่วมกับทีมปฏิบัติการเพื่อช่วยให้การดำเนินงานและการพัฒนากระบวนการจัดส่งเป็นไปโดยอัตโนมัติ ทำหน้าที่เป็นผู้ประสานงานระหว่างทีมพัฒนาและฝ่ายปฏิบัติการและทีมบริหารผลิตภัณฑ์และโครงการ