专业Android开发人员学习方向

前言

之前我说了一些关于初学者在学习Android开发时应该学习的方向,如果不清楚可以点击此链接:https://www.nowcoder.com/discuss/979195
进行学习,毕竟下面我要说的是关于成为Android开发者的前5%的人的学习方向,如果前面的知识还没弄清楚那么建议不要查看下文。OK,我也不说什么了下面是我向业界Android开发者前5%的大佬询问并根据理解整理出来的学习方向,如有不对,方便提出来一起讨论,谢谢。

Dagger

  • 当项目变得更大时,您将需要了解依赖管理并在项目中使用 Dagger 来管理依赖关系。
  • 像 Google 这样的公司在他们的 Android 应用程序中使用 Dagger。
  • 学习设计你自己的依赖管理框架。

学习 Kotlin

  • 重温 Kotlin 的基础知识。
  • 开始学习 Kotlin 语言的特定功能。
  • 学习 Kotlin 高级功能。
  • 如今,大多数公司的新项目都开始使用 Kotlin。此外,较旧的 Java 项目正在迁移到 Kotlin。
  • 这是学习 Kotlin 的最佳时机。

架构组件

  • LiveData、LifeCycle、ViewModel 等架构组件有助于管理我们的 UI 组件生命周期和处理数据持久性。
  • 生命周期处理的挑战,活动轮换问题
  • 学习创建生命周期感知组件
  • 共享 ViewModel

RxJava

  • RxJava 已成为 Android 开发中最重要的一项技能。
  • 几乎每个应用程序都使用 RxJava 进行多线程处理。
  • RxJava 使开发人员的生活变得轻松。
  • 线程在 Android 中是如何工作的?
  • 在大部分面试中也被问到。
  • 通过实际示例进行学习。

数据库设计

  • WhatsApp 等应用程序使用数据库在 Android 端存储您的数据,并设计数据库以使查询更快,从而使您的应用程序运行得更快。
  • 现在,我们使用的是 Google 创建的库 Room。Room 在 SQLite 之上提供了一个抽象层,以允许流畅的数据库访问,同时利用 SQLite 的全部功能。
  • 了解关系数据库概念
  • 规范化和多对多关系
  • 了解类型转换器,房间数据库中的迁移。

计算机网络

  • Twitter、Instagram、Facebook 等 Android 应用程序使用 Retrofit 等网络库来获取数据。
  • 如今,Retrofit 是进行网络调用的著名库之一。
  • 学习创建 GET、POST 请求和处理复杂数据模型
  • 您必须了解与网络相关的许多概念,例如用于上传图像的多部分、拦截器。

MVVM 和 Instagram 项目

  • 学习使用带有架构组件、LiveData、ViewModel、ViewModelFactory、Dagger、Retrofit、RxJava 的 MVVM 架构来构建 Instagram 之类的登录、Feed、帖子创建和个人资料页面。
  • 了解 MVC、MVP 和 MVVM 架构。
  • ViewModel、ViewModelProviders、ViewModelProviderFactory 是如何工作的?
  • 构建功能,例如通过相机捕获图像,通过图库选择图像
  • 使用 Multipart 上传图片。
  • 生命周期感知 RecyclerView 的原理
  • Lifecycle Aware RecyclerView ViewHolder 的实现:一般开发者会忽略这一点。优秀的开发人员在开发 Android 应用程序时会考虑所有边缘情况。
  • 使用 RxJava 实现分页功能

单元测试

  • 测试是一个软件开发过程,我们在其中做很多不同的事情来发现错误。错误的数量越少,该特定软件在生产中表现良好的机会就越大。
  • 它迫使您遵循代码库中的架构,有助于在开发周期中快速检测故障,并帮助您进行更安全的代码重构,让您优化代码而不必担心回归。

Kotlin 协程

  • 协程到底是什么?
  • 需要 Kotlin Coroutines 提供的解决方案
  • 调度程序,挂起,启动,异步
  • Kotlin 协程中的作用域是什么?
  • Kotlin 协程中的异常处理

Android 构建系统和内存管理

  • 了解Android Build系统,内存管理对于Android开发者来说非常重要。
  • 它将帮助您构建消耗更少内存的 Android 应用程序
  • 还在破解顶级公司的面试。

Android 多线程和 Handler-Looper

  • 了解多线程将帮助您有效地在后台执行任务。
  • Android Looper、Handler 和 HandlerThread 是 Android OS 的构建块。所以这是面试中被问到最多的话题之一。
  • 多线程和 Handler-Looper 对面试很重要。

网络缓存拦截器图像加载

  • 了解 3rd 方库的内部结构对于充分利用它很重要。
  • 此外,这些概念将使您在面试时比其他候选人占上风。

系统设计(移动):WhatsApp 和位置共享应用程序

  • 在开发过程中,我们通常会错过一些边缘情况。学习考虑边缘情况来设计 WhatsApp。
  • 在面试的设计回合中很有用。

最后

如果你能将上面的知识内容学明白并了解,那么您将能够轻松的:

  1. 确定自己在前 5% 的 Android 开发者中。
  2. 收到顶级公司的面试邀请。
  3. 构建具有强大架构的Android应用程序。
  4. 可以在顶级科技公司找到工作。

人,人生,在本质上是孤独的,无奈的。所以需要与人交往,以求相互理解。然而相互理解果真可能吗?不,不可能,宿命式的不可能,寻求理解的努力是徒劳的。那么,何苦非努力不可呢?为什么就不能转变一下态度呢--既然怎么努力争取理解都杆费心机那么不再努力就是,这样也可以活得蛮好嘛!换言之,与其勉强通过交往来消灭孤独,化解无奈,莫如退回来把玩孤独,把玩无奈!

#Android##android##Android开发工程师##学习#
全部评论
安卓还有底层bsp的啊
点赞 回复 分享
发布于 2022-07-12 20:05

相关推荐

dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务