招聘優秀 DevSecOps 工程師的實用面試關注點

PetterLiu發表於2024-04-21

招聘優秀 DevSecOps 工程師的實用面試關注點

image

程式設計經驗

任何從事 DevSecOps 和 AppSec 的安全專業人員都必須瞭解程式碼。理想情況下,所有安全專業人員都應從程式設計師成長起來。你可能不同意我的觀點,但 DevSecOps 和 AppSec 專家應該在某種程度上與程式碼打交道,無論是一些 YAML 清單、JSON、各種指令碼,還是用 Java、Go 等語言編寫的經典應用程式。如果一個安全專家不知道他要查詢漏洞的語言,那就大錯特錯了。你不能看著掃描器工具亮顯示的一行就說:"是的,這一行確實是漏洞:"是的,的確,這一行在這種情況下可以被利用,否則就是假的"。你需要了解整個專案及其結構。如果你不是程式設計師,你根本無法理解這些程式碼。

image

積極主動

希望我未來的員工能夠積極主動--我指的是那些足夠努力、能完成重大任務、有雄心壯志、希望取得成就並在具體任務上花費大量時間的人。我支援員工希望在自己的領域有所發展,在社會上有所進步,為自己尋找有趣的任務和專案,包括工作之外的任務和專案。如果簡歷中顯示了相應的要點,我一定會將其作為加分項予以強調。

工作與生活的平衡

非常重視這一點,在面試時我總是會談到這一點。一個人有愛好和興趣,說明他有能力從工作轉向其他事情,有多面性,不會固守一份工作。興趣愛好不一定是積極的運動、登山、散步等。最重要的是,一個人的生活中不僅有工作,還有生活本身。這意味著他不會在幾年的不間斷工作中倦怠。休息和分心的能力是長期工作關係的保證。根據我的經驗,只有少數員工的生活中只有工作,沒有其他。但我認為他們是獨一無二的人。他們長期在這種節奏下工作,不會倦怠,也不會抑鬱。這需要一定的耐力和性格。但在 99% 的情況下,過度勞累和無法休息是員工在兩三年內離職和倦怠的保證。目前,他可以做很多事情,但我不需要每隔幾年就像換手套一樣換人。

學歷

您應檢查簡歷中註明的學歷證書和文憑是否可用。透過證書確認學歷可以說明所申報能力的真實性。學習五年並不容易,但與此同時,在學習的過程中,您不得不朝著正確的方向思考,分析複雜的情況,並開發出目前具有科學新穎性、將來可用於造福人類的東西。在這裡,原則上也是一樣:你與同事們結合共同的想法,創造出進步的 DevOps,從而進一步幫助人們;特別是在銀行業的安全方面。

證明人和推薦信

我要求申請人提供可以推薦其工作的前任僱主或同事的聯絡方式。如果一個人曾在資訊保安領域工作過,那麼通常會有一些共同的熟人,我也會與他們進行溝通,他們可以證實他的資歷。

image

在面試中需要注意什麼

遺憾的是,並非所有方面都能在閱讀簡歷時得到澄清。求職者可能會隱瞞一些事情,以便以更有利的姿態展示自己,但更多的情況是,在編寫簡歷時根本不可能考慮到僱主所需的所有要點。透過與求職者交談中的引導性問題以及他以前工作中的故事,我可以發現潛在員工是否具備以下素質。

閱讀能力
這聽起來很有趣,但事實上,這並不是一種常見的素質。一個會閱讀和分析的人幾乎可以解決任何問題。我對這一點深信不疑,因為我自己就經歷過不止一次這樣的情況。現在,我嘗試從多個渠道尋找資訊,我積極使用相同的 ChatGPT 和其他類似服務,只為加快工作進度。也就是說,我自己推送的資訊越多,我解決的任務就越多,相應地,我就會更成功。有時,我要求應聘者在網上找到一個複雜問題的解決方案,併為他提供分析材料,我看他能以多快的速度閱讀並對所提供的文章進行定性分析。

分析思維
有兩個過程:分解和組合。程式設計師通常使用第二部分。他們進行組合分析,即從程式碼中組合出一些進一步工作所需的工件。資訊保安分析師或安全專家則使用分解法。相反,他們會將工件分解成各個元件,並查詢漏洞。如果程式設計師負責建立,那麼安全專家則負責分解。在與他人程式碼如何工作相關的部分,需要分析思維。例如,在上世紀 90 年代,如果程式碼是用匯編語言編寫的,我們就會討論反彙編問題。也就是說,你有一個二進位制檔案,你需要了解它是如何工作的。如果你不分析程式設計師在這段程式碼中開發的所有入口和出口點、所有程序和功能,那麼你就無法確定程式是否按預期執行。程式執行的正確與否可能存在許多陷阱和邏輯問題。例如,有一個函式可以傳遞一定量的資料。程式設計師可以將這個函式視為可以傳遞給它的一些輸入數字資料,也可以透過一些序列或長度來限制這些資料。例如,我們輸入卡號。卡號似乎有一定的長度。但同時,任何分析師和您都應該明白,輸入的可能不是數字,而是字母或特殊字元,長度也可能與程式設計師設定的不一樣。這一點也需要檢查,所有的假設都需要分析,要比程式設計師編寫的業務邏輯和思維更廣泛地看待一切。

如何瞭解應聘者是否具有分析能力?所有這些在與候選人 "交談 "階段就很容易弄清楚。您可以簡單地提出以下問題 "有一個 X 流程的資料樣本,其中包含 1000 個引數。您需要確定最重要的 30 個引數。這項分析任務將由 3 組分析人員共同完成。您將如何劃分這些引數,以獲得高效可靠的分析

應急情況下的工作經驗
申請者最好有在應急情況下工作的經驗;例如,如果他曾在某種大型關鍵負載的伺服器上工作並值班。通常情況下,這些都是夜班、晚班、週末,你必須緊急提高和恢復某些東西。這樣的人非常寶貴。他們真正懂得如何工作,並親身經歷過不同的 "痛苦"。他們隨時準備與你一起救火,最重要的是,他們極有可能比其他人更加小心謹慎。我曾在一家公司工作過,那裡有很多沒有經驗的學生。他們經常會弄壞很多東西,之後,就需要把這些東西都提出來。當然,這在一定程度上是指導的結果。你必須幫助、培養學生,讓他們成為專家,但這並不能否認糾正錯誤的 "痛苦"。在你和他們一起經歷這一切之前,他們不會變得冷靜。如果一個人參與了這些過程,並有力量和能力去提高和糾正,這就非常酷了。你需要為自己挑選和接受這樣的人,因為他們顯然知道如何工作。

如何避免被求職者愚弄
求職者可能會誇大自己的成就,但這很容易核實。如果一個人擁有必要的經驗,你需要問他一些沒有實際經驗難以回答的實際問題。例如,我會詢問 DevSecOps 中某項實踐的實施情況,即他曾在哪個協調器中工作過。例如,應聘者應該用幾句話寫出在哪項工作中實施了這一切,以及他使用了什麼工具。您甚至可以從這個漏洞掃描器中提出一些關鍵字,並詢問您會使用哪些關鍵字以及在哪些方面使一切正常。只有從事過這方面工作的專家才能回答這些問題。在我看來,這是檢查一個人的最好方法。也就是說,您需要給出可以快速解決的小型實際任務。

並不是所有應聘者的工作經歷和工作內容都和我一樣,他們可能有更多的經驗和知識。那麼,找到一些共同的問題和我們一起工作過的接觸點就很有意義了。例如,只需列出資訊保安領域的 20 件事,詢問應聘者熟悉哪些內容,找到共同點,然後詳細介紹。當應聘者在面試中誇誇其談時,最好也問一些具體的問題。如果應聘者毫不猶豫地告訴你他實施了什麼,你還可以問他一些關於每個專案和方向的小細節。例如,您是如何實施 SAST 驗證的,使用了哪些工具?如果他說得很詳細,可能還附帶了一些與特定掃描工具設定有關的細微差別,並且符合總體概念,那麼這個人就是這樣做的,並且使用了他所說的東西。

image

行業中DevSecOps的JD示例

Job Summary
We are seeking a passionate and experienced DevSecOps Engineer to play a crucial role in embedding security throughout our software development lifecycle (SDLC). You will be responsible for integrating security practices into our DevOps processes, ensuring the delivery of secure and compliant applications.
The DevSecOps Engineer plays a crucial role in bridging the gap between development, security, and operations teams to ensure the seamless integration of security practices throughout the software development lifecycle. This position focuses on implementing and maintaining security measures in all stages of the development process to safeguard organizational assets and data.
Competence
? Deep understanding of security principles, practices, and tools.
? Develop, implement, and regularly update security policies to ensure alignment with industry standard and regulatory requirements.
? Strong knowledge of DevOps methodologies and tools, particularly CI/CD pipelines.
? Expertise in infrastructure as code (IaC) tools like Terraform or Ansible.
? Experience with cloud platforms (AWS, Azure, GCP, Huawei Cloud, Tencent Cloud and AliCloud) and containerization technologies (Docker, Kubernetes).
? Experience with Active Directory Scripting and Automation tools.
? Excellent scripting and automation skills (Python, Bash, PowerShell).
? Strong problem-solving and analytical abilities.
? Excellent communication and collaboration skills.
Essential Duties and Responsibilities
1. Security Integration: Collaborate with development and operations teams to integrate security measures into the DevOps pipeline, ensuring security is a fundamental part of the development process. Troubleshoot and resolve AD-related issues, that may impact user authentication, access or system performance.
2. Automation: Develop and maintain automated security processes, including vulnerability scanning, code analysis, and compliance checks, to enhance the speed and efficiency of software development while maintaining a high security posture. Skill in PowerShell and other scripting languages are valuable for automating repetitive tasks and managing AD environments effectively.
3. Risk Assessment: Conduct regular risk assessments and security audits to identify and address vulnerabilities in applications, infrastructure, and processes.
4. Incident Response: Play a key role in incident response activities, including analysis, containment, eradication, and recovery from security incidents. Work closely with incident response teams to improve overall incident handling processes.
5. Continuous Monitoring: Implement and manage continuous monitoring solutions to detect and respond to security events in real-time, ensuring proactive identification and resolution of potential threats.
6. Security Training: Provide guidance and training to development and operations teams on secure coding practices, security best practices, and emerging threats.
7. Compliance: Ensure that systems and applications comply with relevant security standards, regulations, and industry best practices. Stay updated on changes in compliance requirements and implement necessary adjustments.
8. Tooling and Technology: Evaluate, implement, and manage security tools and technologies that enhance the organization's security posture, such as intrusion detection systems, firewall configurations, and encryption protocols.
Candidate Requirements
? Bachelor's degree in Computer Science, Information Security, or a related field.
? 3+ years of experience in a DevOps or security engineering role.
? Hands-on experience with security tools and technologies (e.g., SAST, DAST, WAFs, IDS/IPS).
? Experience with scripting languages and automation frameworks.
? Strong understanding of cloud security best practices.
? Proven track record of DevSecOps achievements
? Excellent communication and interpersonal skills.
? Passion for security and a desire to stay ahead of the curve.
Additional Considerations
? Experience with a specific programming language (e.g., Java, Python, Go).
? Certification in security (e.g., CISSP, CEH, OSCP).
? Experience working in a regulated industry (e.g., finance, healthcare).

總結

以上就是在尋找新人時注意的所有要點。希望這些資訊對我的團隊領導同事和求職者都有用,他們會知道自己需要培養哪些素質才能順利透過面試。


今天先到這兒,希望對雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 專案管理, 產品管管,團隊建設 有參考作用 , 您可能感興趣的文章:
領導人怎樣帶領好團隊
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
影片直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續整合/CD
網際網路電商購物車架構演變案例
網際網路業務場景下訊息佇列架構
網際網路高效研發團隊管理演進之一
訊息系統架構設計演進
網際網路電商搜尋架構演化之一
企業資訊化與軟體工程的迷思
企業專案化管理介紹
軟體專案成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
專案管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
網際網路資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之效能實時度量系統演變

如有想了解更多軟體設計與架構, 系統IT,企業資訊化, 團隊管理 資訊,請關注我的微信訂閱號:

image_thumb2_thumb_thumb_thumb

作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 該文章也同時釋出在我的獨立部落格中-Petter Liu Blog。

相關文章