腾讯面试 算法题,阿里基于Flutter,2024阿里+头条+腾讯等大厂Android笔试题分享

图 2-1

image

这是一体两面的两个问题,只要回答其中一个问题,另一个问题的答案也会变得清晰起来。本文是思考和探索第二个问题。

Flutter+FaaS一体化技术体系下的开发形态思考

也许只有到了最后一刻我们才能最终回答这个问题,但是技术总是带着疑问前行,我们先从尝试做顶层做抽象定义开始,然后落地实践,在实践后总结提炼,完善顶层抽象,迭代往复,最终将概念变清晰。

先来看看当前的业务开发形态,如图 2-1,当前在业务开发中几个主要的关注点我大概的归纳为:数据处理,网络通信,状态管理和界面绘制。从这4个点出发,逐一思考,在新的一体化的场景下会有什么变化:

图 2-1

image

  • **数据处理:**泛指传统的服务端REST API这部分,在一体化的场景下,这部分会由FaaS函数来实现,其实这一部分的职责和定位并没有改变,只是开发的组织沟通形式变了。传统开发页面会由服务端和客户端同学合力完成,后面可能由一位同学前后一体化开发完成。康威定律指出,软件的设计和开发人员的组织沟通结构是息息相关的,所以这一部分可能有较大的变化,但首先是他与客户端的交互方式上的变化,即网络通信。

  • **网络通信:**在一体化场景下,前后端都由一人实现,代码也会是一个工程中的同种语言,网络通信会加轻量安全,使用起来也会更加自然,接近于普通的函数调用。一个可能的变化是,通信模式可能会突破CS模式,在一次通信“会话”中,Client端和Server端能更加自然的相互调用,实现“对等对话”,而不是传统的客户端请求,服务端响应。随着网络硬件升级,网速在变快,通信成本在下降,创新的空间很大。

  • **状态管理:**应用状态很大程度上是缓存在客户端上的数据,受技术体系隔离,开发沟通成本,网络通信成本的影响,在客户端上缓存状态是有必要的。但在一体化的场景中,这些因素的影响在减小和消失,所以我们想进一步的消灭状态,将状态管理将至最小,尽可能的由底层管理。

  • **界面绘制:**也许是受Flutter的影响,响应式风格结合数据驱动的UI理念非常契合我们的思路,这也是业界UI开发框架的潮流。

Flutter+FaaS一体化技术体系下,应用开发应该会更加简单,前后端之间的差异变小,通信更加轻量自然,职责更加聚焦,如图 2-2。

图 2-2

image

一体化框架设计实践

在一体化的场景下,业务可以由一个同学负责前后端的开发,最大限度的减小沟通协作成本。当然,大体量的业务必然需要协作的,但协作的方式有所改变,工作的划分可以由传统的前后端的横向划分,变成前后一体的垂直划分,如图 3-1,协作方式的改变也会影响到我们设计的思路。

图 3-1

image

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

总结

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。下面资料部分截图是我花费几个月时间整理的,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  • 27
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值