首页
学习
活动
专区
圈层
工具
发布

5年Android 开发要具备哪些知识和技能?

作为一名有5年以上经验的Android开发工程师,你应该具备以下知识和技能: 1. 基础知识 Java/Kotlin语言: 掌握至少一种主要的Android开发语言,Java或Kotlin。...数据结构和算法: 了解常用的数据结构和算法,能够进行有效的代码优化。 2. 应用架构 MVC/MVP/MVVM: 理解并能够应用至少一种应用架构模式。...RESTful API: 熟悉RESTful API的设计和使用。 WebSocket: 理解WebSocket及其在Android中的应用。 5....NoSQL数据库: 了解如Firebase Firestore的使用。 6. 多线程和并发 线程和线程池: 理解线程的生命周期,能够使用线程池进行并发操作。...团队协作: 能够在团队中有效沟通和协作。 问题解决: 具备良好的问题解决能力。 技能树(持续完善中) END 点赞转发,让精彩不停歇!关注我们,评论区见,一起期待下期的深度好文!

1.6K10

4种主流的API架构风格对比

这就是为什么 HATEOAS 主要是作为 RESTful API 设计的长期开发的愿景而存在。...庞大的负载:REST 会返回大量丰富的元数据,以便客户端可以仅从响应中了解有关应用程序状态的所有必要信息。对于具有大量带宽容量的大型网络系统来说,这种“啰嗦”的通信并不算很大的负载。...在用于连接不需要查询灵活性的资源驱动型应用时,REST 是一种非常有效的方法。 GraphQL:仅请求所需要的数据 REST API 需要被多次调用才能返回所需要的资源。...API 向服务端发送一个庞大的查询,该 API 返回一个仅包含我们所需数据的 JSON 响应。...4 GraphQL 的用例 移动 API。在这种情况下,网络性能和单个消息有效负载优化很重要。因此,GraphQL 为移动设备提供了更有效的数据加载方式。 复杂的系统和微服务。

3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RESTful API教程:学习关键的Web服务设计原则

    它不是幂等的,也不是好的RESTful API设计。 从技术上讲,URL末尾的查询参数应该仅用于查询。在本例中,我们使用查询参数向服务器传递有效负载。这样做使示例更简单,但也突破了查询参数本来的用途。...在未来的RESTful API设计教程中,我们将演示如何在PUT调用期间将JSON字符串作为有效负载的一部分来进行传递,这是比使用查询参数更好的设计。...oldRecordsToDelete=10 当然,如果将POST方法作为一种普适的方法,来应对RESTful API设计的所有挑战,还是存在风险的。...仅仅因为没有违反重要的RESTful原则,并不意味着已经开发了一个有效的RESTful API。...还有很多需要学习的东西,比如将有效负载数据传递给服务器的最佳实践,如何构造URL以识别资源,以及如何避免在“基于资源的设计”中应用了“基于服务的方法”这样的误区。

    2.1K10

    API 架构选哪种?SOAP、REST、GraphQL 与 RPC 全方位对比分析

    这就是为什么 HATEOAS 主要是作为 RESTful API 设计的长期开发的愿景而存在。...庞大的负载:REST 会返回大量丰富的元数据,以便客户端可以仅从响应中了解有关应用程序状态的所有必要信息。对于具有大量带宽容量的大型网络系统来说,这种“啰嗦”的通信并不算很大的负载。...在用于连接不需要查询灵活性的资源驱动型应用时,REST 是一种非常有效的方法。 4GraphQL:仅请求所需要的数据 REST API 需要被多次调用才能返回所需要的资源。...API 向服务端发送一个庞大的查询,该 API 返回一个仅包含我们所需数据的 JSON 响应。...GraphQL 的用例 移动 API。在这种情况下,网络性能和单个消息有效负载优化很重要。因此,GraphQL 为移动设备提供了更有效的数据加载方式。 复杂的系统和微服务。

    34520

    4种主流的API架构风格对比

    这就是为什么 HATEOAS 主要是作为 RESTful API 设计的长期开发的愿景而存在。...庞大的负载:REST 会返回大量丰富的元数据,以便客户端可以仅从响应中了解有关应用程序状态的所有必要信息。对于具有大量带宽容量的大型网络系统来说,这种“啰嗦”的通信并不算很大的负载。...在用于连接不需要查询灵活性的资源驱动型应用时,REST 是一种非常有效的方法。 4GraphQL:仅请求所需要的数据 REST API 需要被多次调用才能返回所需要的资源。...API 向服务端发送一个庞大的查询,该 API 返回一个仅包含我们所需数据的 JSON 响应。 ?...GraphQL 的用例 移动 API。在这种情况下,网络性能和单个消息有效负载优化很重要。因此,GraphQL 为移动设备提供了更有效的数据加载方式。 复杂的系统和微服务。

    3K20

    API 集群负载统计

    题目描述某个产品的 RESTful API 集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个 API 的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能...RESTful API 的由多个层级构成,层级之间使用/连接,如/A/B/C/D这个地址,A 属于第一级,B 属于第二级,C 属于第三级,D 属于第四级。...接下来 N 行,每一行为一个 RESTful API 的 URL 地址,约束地址中仅包含英文字母和连接符/,最大层级为 10,每层级字符串最大长度为 10。最后一行为层级 L 和要查询的关键字。...根据题目描述,我们可以按照以下步骤来解决这个问题:读取输入:获取访问历史日志的条数 N 和每条日志中的 RESTful API URL。...查询频次:根据输入的层级 L 和关键字,从 freq_dict 中获取对应的频次。如果层级或关键字不存在,则返回 0。

    19600

    天天接触RESTful?来试试Graphql

    GraphQL 与 RESTful API GraphQL 是由 Facebook 开发并开源的。提到 GraphQL ,大家自然而然会提起 RESTful api。...下面对比一下 RESTful api 和 GraphQL 的优缺点。 优点: 声明式的接口获取 RESTful api 返回的字段冗余, 当多个终端共用接口时,尤其明显。...GraphQL 可精准的返回所需的数据结果,减少数据传输大小。 嵌套复杂数据仅需一次调用 RESTful 对于嵌套的复杂数据需要多次调用,而 GraphQL 只需要一次。...如果是用 RESTful api ,我们会用 postman 来测试接口是否可以跑通。同样的,GraphQL 可以用 GraphiQL 来测试。 按需取用: ?...resolver 的解析规则是, 从外到内依次处理查询块,为每一个查询块执行对应的 resolver 函数,并传递外层调用返回的结果作为第一个参数,也就是下面代码中的 obj 。

    2.5K20

    API 架构风格抉择:SOAP、REST、GraphQL 和 RPC 的特性、优势与局限

    正因如此,HATEOAS 主要作为 RESTful API 设计长期发展的愿景。 当一个服务同时实现了 REST 和 RPC 的部分功能时,REST 和 RPC 之间可能确实存在一个灰色地带。...REST 有助于此类 API 拥有强大的可发现性、完善的文档,并且非常适合 REST 对象模型。 简单的资源驱动型应用。REST是一种连接不需要查询灵活性的资源驱动型应用的有效方法。...四、GraphQL 仅查询所需数据 它需要多次调用 REST API 才能返回所需的人员信息。因此,GraphQL 的发明就是为了改变现状。 GraphQL是一种描述如何发出精确数据请求的语法。...GraphQL 的工作原理 GraphQL 首先构建一个模式 (Schema),它描述了 GraphQL API 中可能执行的所有查询以及它们返回的所有类型。...向服务器发送一个大规模查询后,API 将返回一个 JSON 响应,其数据结构与我们请求的数据完全一致。

    1.2K10

    骑上我心爱的小摩托,再挂上AI摄像头,去认识一下全城的垃圾!

    相机,要选就选最好的 检测方面我采用了一个常用且非常有效的对象检测神经网络:Yolo,阿姆斯特丹市的人工智能专家Maarten Sukel最近发布了这个网络的一个版本,专门训练识别垃圾箱、袋子和纸箱,这个系统作为我们相机软件的核心...我们选择Ionic+Angular进行前端开发和谷歌的Firestore坐标实时数据库。...Google Firebase则可以让我们将每个GPS点左边作为一个嵌套的集合/文档存储。...Firebase客户端SDK包括一个通用的API,可用于订阅客户端应用程序,以添加/更新/删除 Firestore数据库上运行在VespAI上的应用程序产生的活动。...我们正在考虑使用GeoFire来支持地理查询,这将允许用户对客户定义的区域进行统计。 支持将数据导出到其他类型的数据库。比如支持基于SQL的历史数据集查询。

    14.4K30

    架构师该如何为应用选择合适的API

    由于其他组件/系统仅依赖于API,因此提供API的系统可以(理想地)在API的“后面”更改其内部详细信息,而不会影响其用户。 正如上述的定义所述,API提供了多个软件之间的交互。...它使用特定于应用程序的类型系统,使开发人员能够确保查询使用有效类型,并且在执行之前在语法上正确。 GraphQL查询是在客户端指定的,因此客户端确切知道它将以什么格式接收数据。...在REST API建立在请求方法和端点之间的连接上的情况下,GraphQL API设计为仅使用一个始终通过POST请求查询的端点,通常使用URL yourdomain.com/graphql。...与RESTful API相比,这提供了更流畅的客户端体验,后者可能要求客户端对多个数据进行多次请求,并在数据返回后进行操作。...这是将以不同语言编写的服务与可插拔支持(用于负载平衡,跟踪,运行状况检查和身份验证)相连接的有效方法。默认情况下,gRPC使用Protobuf(协议缓冲区)序列化结构化数据。

    2.2K20

    《不只是接口:GraphQL与RESTful的本质差异》

    ,能显著减少服务器负载与网络传输量。...然而,当前端应用从简单的信息展示转向复杂的交互系统时,RESTful API的短板逐渐暴露。其核心矛盾在于数据返回的“刚性”与前端需求的“弹性”之间的冲突。...一个电商应用中,商品列表页只需名称、价格、缩略图,详情页则需要规格、参数、评价,但RESTful API通常会返回相同的完整数据集,导致大量冗余数据在网络中流转。...更复杂的是查询解析的性能成本:RESTful API的接口逻辑相对固定,后端可针对特定URL进行优化;而GraphQL的单一端点需要处理任意结构的查询,复杂的嵌套查询可能引发深层数据关联,若数据库查询优化不当...例如,一个包含五层嵌套的查询,可能触发数十次数据库关联查询,远超RESTful API的单次请求压力。

    20910

    3.OpenFeign与负载均衡

    例如,原本Service 接口中的方法是有返回值的,但经过 RestTemplate 相关API调用后没有了其返回值,最终执行是否成功用户并不清楚。...再例如 RestTemplate 的对数据的删除与修改操作方法都没有返回值。 代码编写不方便,不直观。...openFeign 可以将提供者提供的 Restful服务伪装为接口进行消费,消费者只需使用“feign 接口 + 注解”的方式即可直接调用提供者提供的 Restful 服务而无需再使用 RestTemplate...Ribbon,所以从 Springcloud2021.x开始集成的 OpenFeign 中已彻底丢弃Ribbon,而是采用 SpringCloud 自行研发的 SpringCloud Loadbalancer 作为负载均衡器...仅支持轮询和随机策略,默认是轮询策略 更换负载均衡策略方式较为麻烦 生产环境下使用的负载均衡器,通常是 dubbo dubbo 作为通讯客户端,负载均衡策略可供选择更加多样 无论是

    84211

    Http,Https,Restful,Webservice,WebSocket,Rpc,Rmi,SOA,分布式,微服务,集群等概念

    其主要作用就是:服务端可以主动推送信息给客户端,不需要客户端重复的向服务端发请求查询。 相关资料:WebSocket 是什么原理?为什么可以实现持久连接?...相关资料:RPC体系,RPC和WebService的区别详解 API和SDK 经常在开发当中听到SDK和API这两个名词。...每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力 区别和联系? 没有接触过SOA架构,不是很清楚两者之间的区别和联系! 微服务和RPC的联系?...负载均衡:集群环境下才会存在负载均衡,将对同一个系统的访问根据相关策略分配到不同的机器上。...相关资料:菜鸟教你如何通俗理解——>集群、负载均衡、分布式 ---- 标题:Http,Https,Restful,Webservice,WebSocket,Rpc,Rmi,SOA,分布式,微服务,集群等概念

    2.7K20

    什么是REST API

    amount=1&category=18[4] 这是一个作为RESTful网络服务实现的公共API(它遵循REST公约)。你的浏览器将展示一个单独的JSON格式的问答问题,并附有答案。...实现RESTful API的应用程序将定义一个或多个带有域名、端口、路径、和/或查询字符串的URL端点,例如,https://mydomain/user/123?format=json。...API-Request.png REST API响应 响应的有效负载可以是任何实用的东西:数据、HTML、图像、音频文件等等。...避免在客户端JavaScript中暴露API令牌。 阻止来自未知域名或IP地址的访问。 阻止意外的大型有效负载。 考虑速率限制,也就是使用同一API令牌或IP地址的请求被限制在每分钟N个以内。...API作者需要满足的选项的数量可能会变得令人困惑。 GraphQL是否更好? REST的难题导致Facebook创建了GraphQL--一种网络服务查询语言。

    6K20

    【译】一文搞懂如何设计高性能API

    其次,保证API的可扩展性,使得在面对日益增长的流量和工作负载时,API能够通过水平扩展和数据库查询优化等手段应对,而不会对性能产生负面影响。此外,缓存策略的使用能有效提升API的性能。...图片最小化数据传输和有效负载为了提高API性能,最大限度地减少非必要的数据传输和优化有效负载大小至关重要。...3、应用压缩技术:采用GZIP或Brotli等压缩技术,压缩API响应,降低有效负载大小,提高数据传输速度。4、启用数据过滤:允许客户端仅检索相关信息,极大地减少了非必要的数据传输。...缓存的数据可以快速交付,无需进行耗时的数据库查询或网络请求等操作。2、提高可扩展性:缓存有助于减轻后端系统的负载,使其能够更有效地处理更多的请求。...分页将数据集分成更小的块,通过指定每页的记录数并使用偏移量或基于游标的分页,提高查询性能。结果集优化则是仅检索必要的字段,减少有效负载大小和网络传输时间。

    91430

    milvus v2.6.8 发布:搜索高亮上线,性能与稳定性全面跃升,生产环境强烈推荐升级

    支持可空动态字段,并以空 JSON 对象作为默认值 10. 避免仅修改集合属性时触发不必要的 segment seal 11....统一只读节点处理逻辑,避免负载均衡通道任务卡死 13. 防止多字段列组场景下字段数据被误删除 14. 修复 ETCD 重监听时遗留的过期 Proxy 客户端 15....限制 char_group 分词器仅支持单字节分隔符 26. 当 JSON 查询路径包含数字时跳过路径索引 27. 修复 MinIO 根路径为“.”时的路径拼接错误 28....修复 RESTful v2 在 TIMESTAMPTZ 场景下的解析与默认值问题 30. 修复返回空结果且包含几何字段时的搜索 panic 问题 31....修复通过 RESTful API 设置几何字段默认值的问题 41.

    23010

    YashanDB数据库与RESTful API的无缝对接

    API请求可以被均匀分配到多个数据库实例,以提高响应速度与负载能力。共享集群利用紧耦合的全局缓存,确保多实例数据的一致性。分布式部署适用于需要处理海量数据的场景。...通过数据分片,RESTful API可以及时地访问不同节点的数据,从而提高查询效率。同时,YashanDB的分布式事务管理确保了数据一致性。...RESTful API设计原则在构建与YashanDB的RESTful API对接时,应遵循以下设计原则,以确保数据的高效访问与一致性。...映射与控制在API与数据库进行交互时,可以采用ORM(对象关系映射)技术,将API请求转换为SQL查询,并将数据库返回的数据转化为API的响应格式,以JSON等通用数据格式进行传输。...通过合理的API设计,结合YashanDB的高性能特性,可以有效提升企业的数据处理能力。

    15600

    API集群负载统计 - 华为OD机试题

    题目描述 某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能...RESTful API是由多个层级构成,层级之间使用 / 连接,如 /A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。...现在负载均衡模块需要知道给定层级上某个名字出现的频次,未出现过用0表示,实现这个功能。 输入描述 第一行为N,表示访问历史日志的条数,0 < N ≤ 100。...接下来N行,每一行为一个RESTful API的URL地址,约束地址中仅包含英文字母和连接符 / ,最大层级为10,每层级字符串最大长度为10。 最后一行为层级L和要查询的关键字。

    23810

    解读GraphQL|洞见

    许多时候,我们要让API适应视图,但我们都知道,这种API仅被客户端消费,与服务端代码耦合是非常不合理的。 随着前端/移动端的兴起,我们经常还要为多种客户端编写多种API。...这些API代码既类似又无聊,并且也要在客户端修改时一起修改——仅前端和后端的重复我们可以让IDE查找,然而这种散落在前后端的契约则很容易遗漏。...原则,因此不是RESTful API。...你可以在完全没文档的情况下,仅通过它很快理解所有API。 其实这个“Docs”并不用手动编写,它完全根据服务端代码自动生成。...对于查询语言,却不是很多见。在这点上GraphQL有点像RPC,可以生成GraphQL Schema来作为服务端和客户端间的契约。

    1.3K70
    领券