由于云计算提供了新的灵活性和可扩展性,它也改变了组织开发和部署软件的方式。因此,也促进了人们积极开发新品种的云计算应用程序。
作为一个软件开发者,在其职业生涯中将有机会进入云中。然而,下一代计算需要新的理念、技能和工具。未来的雇主不一定只需要专业代码工程师,新兴的云应用程序开发者也可能必须是建筑师、工程师,分析师和技术人员。
可能在未来云应用程序开发人员面试中,将会被问到以下六个关键问题:
(1)你的编程背景和技能是什么?
未来的雇主已经阅读了你的简历,但也会想审查一下你的核心编程技能,并了解一下你的培训经历和证明,如学士学位和证书等。但是请记住,这并不会赢得工作机会。此外,还要说明你现在正在做什么工作,以及如何与工作要求相吻合。
请确保你是一名专家,拥有至少五年的实践经验,并掌握未来雇主所要求的大多数或全部编程语言,如Python、Perl和Java等主要语言。如果工作涉及到Web开发,至少需要四年以上的开发HTML5和jQuery的经验。
现代软件开发涉及到详细的整合任务,许多云计算应用开发商需要后端系统集成的知识,如NoSQL、dynamo.db、亚马逊简单队列服务、微软Access平台。
此外,还要展示流行的开发工具,如SpringBoot关键软件,并具备开源Web应用程序框架和工具。
(2)你采用什么云平台?
代码软件是一件事。该软件在云中运行良好是另一回事。一个潜在的雇主会希望看到你了解云平台提供商提供的平台,如谷歌公司的云计算平台、亚马逊网络服务(AWS)和微软Azure。
雇主也会希望看到你可以使用云计算供应商提供的服务。例如,使用AWS的雇主会希望云计算应用开发商可以提供计算服务,例如亚马逊弹性计算集群资源,亚马逊EC2集装箱服务或亚马逊简单存储服务。
这就要求掌握云供应商的管理界面选项,如网络驱动的门户,命令行接口和API接口。云开发者需要管理云环境,拉动和分析报告,管理预算,并与正在开发的软件集成云服务。
(3)你使用其他开发工具吗?
雇主想知道你使用的工具,以及是否可以方便地将其转换为工具集。云应用开发者通常使用DevOps或持续集成和持续交付(CICD)工具,所以期待展现至少三年的开源工具,如Gradle或Jenkins。
强调自动化中的DevOps或CICD实践的重要性。大多数这些工具有利于自动化,简化代码管理,协作和部署,这是至关重要的大开发环境。
(4)你的开发团队和过程是什么样子的?
云应用程序开发人员从不单独工作。任何敏捷的CICD或DevOps模型涉及到多个学科领域的编码、测试和部署。而这些模型的成功需要团队成员之间的灵活性,以及用户正在开发和管理的软件协作。
未来的雇主希望云开发的程序是通用的,具有软件开发标准,扎实抓好。云应用程序开发人员应该参与应用需求,设计审查会议,并在测试过程。一个理想的云计算开发人员可以轻松地进行故障排除,并解决软件缺陷,以及克服云架构的缺点。
(5)云计算软件开发的方法是什么?
雇主想知道你的发展过程以及其发展过程有多好。解释你的共同发展过程,从需求收集到团队选择选择,选择编码和测试周期。未来的雇主通常会尝试确定您是否习惯快节奏的发展模式,比如DevOps的或持续交付。它并不一定要所有的点直接匹配,但你的过程越接近雇主的要求,你就可以更快过渡到新的工作。
强调面向对象的编程技巧,并重申与云应用程序的体系结构和微服务发展公有云的经验。从你的实际项目中取得成功,展示你的工作对企业的附加价值。
(6)你如何处理多云环境或云互操作性?
许多企业采用多个云平台,以获得更多的灵活性,并节约成本。例如,一个企业为了冗余可能使用多个公共云供应商的平台,以确保获得更低的延迟或数据备份。
尽管有这些好处,多云可能会为云应用程序开发人员带来严重的困难。供应商的服务和API通常不同,这意味着专为AWS开发的应用程序可能不能在谷歌的云计算平台或其他公共云上运行正常。
供应商之间的这种差异会随着时间的推移可能会褪色。在此期间,一个有着多云平台经验的专业开发人员可能受益更大,即使用人单位没有积极地采用和管理多云环境。考虑你如何适应多个供应商的冗余运行代码,并处理来自不同供应商的故障或支持同步数据存储的转移。