ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

retrofit设计模式,阿里巴巴Android面试都问些什么?系列篇

2021-05-14 14:04:17  阅读:201  来源: 互联网

标签:问些 安卓 面试 理解 UI 开发 Android 设计模式


Google 为了帮助 Android 开发者更快更好地开发 App,推出了一系列组件,这些组件被打包成了一个整体,称作 Android Jetpack,它包含的组件如下图所示:

老的 support 包被整合进了 Jetpack,例如上图 Foundation 模块的 AppCompat,整合进去之后,包名做了一下修改,全部以 androidx 开头。Android Studio 提供的迁移工具(Refactor > Migrate to AndroidX)可以将源码中的旧包名替换成新的,但是如果 Maven 依赖的产物还未迁移到 AndroidX 的话,还需要配置一个工具—— Jetifier

正文

1.做出稳定的应用是关键。

作为好的安卓开发,首先明确Android是前端,重点是UI,掌握自定义view。

2.建立知识体系

很多人对Android属于一知半解的状态,鼓励去Stackoverflow之类的地方寻找问题的解决办法,但务必了解内在的机理,达成对知识理解的体系,当你建立了一个体系,很多问题就不在复杂,软件开发是precise engineering,不是凭运气。

举个例子,面试的时候,我喜欢挑战面试者一些很离谱的题目,比如,在一个EditText里面,你输了一个字母“A”,这个A是经过了多少安卓特有的流程才能显示到屏幕上的。 初看这是个无聊的问题,大家往往会觉得,这是理所当然的事情,其实不然,这个问题考查了你对view layout/measure的理解,对rendering的理解,对drawing的理解,如果面试者能答出来这个问题,那我一定不担心你会写出卡顿的安卓代码。

刚开始做Android开发的时候,我也答不出这个问题,但几年之后,渐渐养成了一个体系,充分贯通这些“不必要”的细节,我私以为这是个资深程序员必备的条件,什么性能优化都是水到渠成的事情

至于其他的技术,比如video streaming,取决于你是想成为某个领域的专家,还是解决问题的能手,如果是后者,你需要**良好的数据结构+算法+读代码+读文档的能力,**在短时间内了解优秀的解决办法,然后加以利用,做软件工程不是读PhD,先把需求解决了,再看怎么提高。

3.数据结构算法,源码,原理机制

很多人推荐了各种书,对于Android开发,很好的资源莫过于Google的官方视频,他们指引了正确的方向让你深入了解Android的UI构建和运行机制。见过许多写了很多app,但是不明白其中要点的程序员,我只觉得失望并担忧。当然,既然要做前端UI,黑魔法少不了,学习日新月异的编程思想,Dagger/React等等

如果身在团队中,**建立良好的学习氛围,鼓励交流,**同时在被产品经理和设计师折磨的时候,理解他们,帮助他们理解Android开发特点

新技术更新很快,很多人担心跟不上被淘汰,其实大可不必,**Android只是个解决问题的工具,**你需要一个时刻准备用这个工具解决问题的知识体系,换了一个工具也是一样的。比如跨平台开发技术都是殊途同归,手机没被淘汰,Android开发就不会被淘汰。

另外关于NDK开发,音视频,微信小程序,Flutter跨平台技术等等。其实严格来说已经可以算独立出Android的技术面了。但是却又息息相关。因为企业招一个Android开发,肯定希望他能同时掌握其它的技能,减少用人成本。所以这些技术也需要去学习掌握。

最后

文末放一个小福利给大家,点击我的GitHub即可领取

群内有许多技术大牛,有任何问题,欢迎广大网友一起来交流,群内还不定期免费分享高阶Android学习视频资料和面试资料包~

偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!

外链图片转存中…(img-oeFT1eW0-1620971455065)]

标签:问些,安卓,面试,理解,UI,开发,Android,设计模式
来源: https://blog.csdn.net/Android668/article/details/116789146

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有