2024 如何自学 Android,一位 5 年中大厂的 Android 老哥跟你聊聊(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

在技术的路上,或许会很累,很难,可那又怎样呢

35 岁中年职业危机,很多职业都有,不仅仅局限于程序员。

从本质上面说,自身竞争力下降占很大原因。毕竟,优秀的人才从来不缺少机会。

既然选择了,便只顾风雨兼程。

为了未来有更多的选择,从现在开始,朝着自己的目标努力奋斗吧,书写属于自己的人生。


Android 学习路线

==========================================================================

下面,说一下 Android 的学习路线,不会很具体,主要是从大的方面来说,感兴趣的可以看一下。

在这里插入图片描述

搭建基本的开发环境,敲下 Hello world


首先你配置好电脑开发环境。首先需要配置 Java,AndroidStudio 的开发环境。

现在的 IDE 对比几年前的,真的是方便多了,可以自动帮我们配置好环境变量。还记得当年刚开始配环境的时候,折腾了两三天。在配置变量的时候,有时候英文的逗号输成中文的,在 cmd 窗口输入 Java,一直提醒没有这个命令,一把鼻涕一行泪

依稀还记得,当配置完环境之后,敲下第一段程序 Hello world 时的那份喜悦。

掌握基本的语法和常用的数据结构


第一:你要先掌握基本的语法,可以从一些书籍开始学起。跟着书本慢慢敲,从第一个程序 Hello World 慢慢敲起,万丈高楼平地起

由于 Android 是用 java 或者 kotlin 语言开发的,建议优先掌握 java 语言。这里推荐两本书籍。

  1. java 编程思想,一本很经典的 java 书籍

  2. java 剑指 offer,面试神器。校招的时候,有很多面试题目,里面都有涉及到。

第二:掌握基本的语法之后,常用的数据结构,数组,链表,队列,栈。这些基本的概念和语法要知道。还有线程,文件 IO 操作,网络操作。

学完这些之后,Java 的基本知识你大概掌握了,这时候建议你动手写一些小项目或者 Demo,比如坦克大战,计算器等,这些网上都有代码。想跟着视频一起学的话,推荐马士兵的视频,可以在我的微信公众号 程序员徐公 回复”Java“,会将教程发给你

Android 学习入门


掌握这些之后,你可以去看一些 Android 入门的书籍或者一些视频。

书籍我推荐郭霖的第一行代码,目前出了第三版了,写得真不错。

视频的话,我推荐你可以看黑马的 Android 视频,里面会从一些基本语法讲起,接着是项目实战,会手把手教你实现简单的新闻客户端,360 手机卫士等等。

想获取黑马视频资料的话,可以去我的微信公众号程序员徐公回复"黑马"两字,会将教程发给你。

Android 进阶


学习完基本的知识之后,可以去看看任玉刚的 Android 开发艺术探索,虽然是几年前出版的,但真的是精华。

接着,可以关注一些架构,性能优化方面的。

  • MVC, MVP, MVVN

  • 内存泄露怎么检测,常见的内存泄露有哪些

  • 怎么检测 ANR,有哪些手段呢,优缺点是什么

  • 怎么捕获 Crash,Java Crash 和 native crash 有哪些不同呢

  • Android 检测启动时间,启动优化怎么做,常见的 Android 启动优化手段有哪些

  • Android gradle,是怎样打包的,怎样提高编译速度

这里推荐几篇不错的文章

Android 启动优化(一) - 有向无环图

Android 启动优化(二) - 拓扑排序的原理以及解题思路

Android 启动优化(三)- AnchorTask 开源了

Android 启动优化(四)- AnchorTask 是怎么实现的

Android 启动优化(五)- AnchorTask 1.0.0 版本正式发布了

Android 启动优化(六)- 深入理解布局优化

关注前沿技术


关注前沿技术,可以去一些论坛,公众号上面逛逛。

论坛的话,推荐掘金,CSDN

Android 技术公众号的话,推荐鸿洋,郭霖的公众号,当然还有我的公众号程序员徐公。文章的质量算是比较高的。

最后,有空的时候多去 github 或者 google 官网 看看,有什么新技术,一般第一时间会更新。


如何进入大厂

====================================================================

面试是一个双向选择的过程,我们要保持足够的自信。

在我看来,要进入大厂,有 4 点最重要。

  1. 编程能力,包括常用技术以及常用技术的原理,毕竟招人,是来干活的,不是来当爹的

  2. 技术深度,在大厂,分工越来越越明确,职责越来越细。很多时候,需要的是某一个技术领域的人才,而不是什么都懂一点的全才。

  3. 算法。

  4. 软技能,沟通能力等

如何学习算法


现如今,如果你想进入大厂,腾讯,阿里,头条,拼多多等,不管是社招还是校招,肯定都会面试到算法的。

相信很多人有这样的想法,面试的时候早火箭,工作的时候拧螺丝。确实,这种情况非常常见,我也认同。但没办法,谁叫我们想进入大厂呢。

不过,这种情况也可以理解。怎么在几轮面试中确定面试者的水平呢? 肯定是考察算法,基础这些,原理这些

虽然这些代表不了全部,但起码能在一定程度上代表了面试者的水平能力。要知道,编程语言其实都是想通的,编程思维和算法能力才是核心。

掌握了原理,编程思维,切换到另外一门语言其实是很快的。这也就是面试官喜欢考察算法和原理的原因。

至于要怎么学习算法,我简单归纳一下

第一:要了解基本的数据结果,数组,链表,Map,Set,二叉树等,了解他们的优缺点,时间复杂度,空间复杂度等

第二:要掌握一些常见的算法,递归,迭代,八大排序,二分查找,贪心算法等

第三:掌握一种算法,不仅要知道 what,还要知道 why(分析各种算法的优缺点),比如 topK问题,有常见的几种解决方案,排序,快排思想,海量数据堆排序

第四:刚开始学的时候,可能会比较吃力,可以先刷题,慢慢找感觉,从易到难

  • 比如,第一天,你刷这道算法题的时候看不懂,先不用着急,很多人都是这样过来的,先搜一下答案,看一下别人是怎么解决的。

  • 看懂了之后,自己用代码写一遍,跑一遍。这很重要,很多时候,你以为你自己懂了,但当你在写的时候是写不出来的,在你动手写代码时,会不断加深你的印象

  • 第二天,自己再写一遍,加深印象

最后

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

图片转存中…(img-QfJrPyX6-1713638023298)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-dk9g4m32-1713638023298)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值