2021 年美东地区 IoT 公司的一次失败面试
这次面试没有获得需要的职位。
公司背景
公司也不属于初创型公司了,公司在市场上已经发展了 20 多年了。
主要产品是为小型设备提供监控和管理并且有些特殊的用途。
因为公司前期的产品都是基于本地的,很多时候都是没有办法进行联网的,因此公司想在这方面开发一些基于云服务相关的产品。
职位需求
这个职位需要应聘的人有比较深入的软件开发设计功底,能够实现云平台的设计和开发。
同时这个职位并对语言的选择没有什么要求,可能还是希望使用 Node 或者 Python 这类的轻量型语言吧。
同时这个职位需要能够独立完成云平台的设计,个人感觉要求的东西还是有点多的。
面试过程
在面试的过程中,主要先是介绍了公司的基础架构,在当前的情况下,这个公司的 IT 部门的人几乎是没有的。
这个公司从一个比较大的公司挖来了一个管理人员,希望能够完善整个 IT 的架构和设计等。
负责面试的就是从外面挖来的这个人了,应该是由他来负责组建团队和选择合适的人才等等。
在面试过程中主要考察了 AWS 的设计,因为当前公司的 IT 部门没有任何人,所以至于数据是什么样的,结构是什么样的,需要什么的云计算方案可以说是没有任何方案。
在具体面试的时候他一直在纠结 aws 中 lambda 和 ec2 的对比。
说实在话对这个问题确实没有研究过,所以回答有点绕。
后来经过一些了解和研究就是:
AWS EC2 是IaaS,认为它是在虚拟机上运行还是在云上运行服务器。使用EC2,您可以有更多的控制权,但需要做更多的工作,例如打补丁,维护等。使用ec2时,即使代码可能至少不会执行一次,也必须为运行实例(服务器)付费。
AWS Lambda 是与 EC2不同的技术,后者没有服务器,基本上,您只是在运行代码而未显式运行服务器。认为这只是将代码上传到云,而AWS正在为您运行服务器。您不必为服务器付费,但是无需花费任何时间执行代码。
简单来说 Lambda 使用无服务的方式来完成计算,通常对于一些内部的数据调用,转换,更新使用 Lambda 会更加高效。
因为没有实际的服务器,因此你也不需要为你的服务器去进行任何部署,甚至进行 CI/CD 集成代码了。
另外我的理解是 Lambda 只是实现某一些功能的快速部署,在一些时候,应该还是需要 EC2 本来部署的,比如说 API 的调用等等。
总结
整体来说这次面试的结果还是比较糟糕的。
在面试的过程中,对方提出了一个观点就是我们一直在 Lambda 和 EC2,数据之间绕来绕去。
当我听到这句话的时候,我基本上可以确定没有下文了。个人的感觉就是丢开数据谈方案都是耍流氓,就几百万的数据,随便你怎么折腾都可以。
所以我更多的是在考虑数据量和数据结构,对方考虑的是在没有数据设计的情况下如何选择,感觉这个选择题也是怪怪的。
可能是因为是初创 IT 团队,没有数据模型也很正常,但没有数据模型又如何选择架构呢?也许他只想知道面试的人到底有多了解 AWS 中的几个服务罢了。