在Android市场基于初级开发饱和的情况下,有两年经验的Android开发,还能活下去吗? 您所在的位置:网站首页 自学java学不下去怎么办 在Android市场基于初级开发饱和的情况下,有两年经验的Android开发,还能活下去吗?

在Android市场基于初级开发饱和的情况下,有两年经验的Android开发,还能活下去吗?

2023-05-27 00:50| 来源: 网络整理| 查看: 265

前言

前段时间,一位才参加工作两年的Android开发,问了我一系列的问题,表达出他对未来的迷茫:

我是二本科班毕业,想知道需要掌握什么样的安卓技能才能稳住工作?

我在b站上看了很多安卓的教学视频,很多是之前的,内容很旧,想知道我学完这些,还有哪些要去补充的?非常迷茫!

我仔细看了一下他提出的问题,归纳总结无非就是:两年Android开发需要掌握哪些技能才能稳住现在的工作?

我相信有这种疑惑的朋友一定也不在少数,那么今天我就结合我的实际经验,来简单介绍一下,作为一名两年开发经验的Android初级开发,我们需要做哪些功课才能帮助我们在市场初级开发饱和的情况下稳住自己的工作。

自我介绍

在开讲之前,我先简单地做一下自我介绍:

我是一个再普通不过的二流地方院校。17年毕业,16年10月找到的实习单位参加工作,中间跳槽了几家公司,一直从事Android相关的开发工作,目前已有7年有余。

平时喜欢逛逛github,看看掘金,有空就维护一下github上的开源项目,没空就写写文章,发发牢骚,是个再普通不过的屌丝程序猿。

说了我的这些经历,无非就是想告诉大家:我一个普通二流本科生能做到的,大家也一定能做到。所以大家不必担心,只要你能够按照我的指导去做的话,你一定可以比我更加优秀!

掌握扎实的基本功

俗话说:基础不牢,地动山摇。

作为一名刚入行的菜鸟新人,我们一定要把基本功的提升放在首位。那么要想成为一名高级Android开发者,我们需要着重掌握哪些内容呢?

基础学科知识。如计算机组成原理、数据结构、计算机网络、操作系统、数据库设计、数字电路等。这些科目向我们介绍了计算机的工作原理,掌握了这些就可以帮助我们更好地理解程序的本质。 Java基础知识。包括语言的特性、语法、规范等。例如:Java数据类型、运算符、面向对象、集合类、泛型、注解、反射、多线程并发、Java虚拟机、设计模式等内容。 Android基础知识。例如:Android四大组件、Activity的生命周期以及启动模式、动画、自定义View、Android不同版本的特性、SQLite、内存泄漏、ANR、Context、Handler机制、View绘制渲染机制、事件分发机制等内容。 认清学校与社会的差距

不要天真地认为把学校里学到的东西都学会了就可以顺利找到工作了,当然也不要认为学校里学的都是些没有用的东西。

作为一名刚从学校出来的打工人,我们非常有必要认清学校与社会存在的差距。

学校里教的都是些非常重要且基础的东西,我称之为专业素养。这些东西非常重要,它直接决定了我们日后发展的天花板在哪里。 社会上教的都是些具体工作领域方面的知识,我称之为职业技能。这些内容可以帮助我们更好地完成工作。

所以,我们除了要把学校里学的内容打扎实,还需要尽早地接触社会,找到对口的实习工作,掌握必要的职业技能。

提高自己的动手能力

做技术搞开发的,动手能力永远是需要作为首要能力进行培养的。除非你是业内公认的技术大佬,否则秀出你的代码才是证明你实力的最佳方式。

很多小白在入门某一项语言或者技术的时候,通常都是购买一本入门书籍翻看,抄一抄视频或者书中的源码,就天真地以为自己已经彻底掌握了。他们殊不知,这些只是一些皮毛而已,当条件稍微发生一点变化的时候,他们就彻底懵逼,手足无措了。

那么怎样才能摆脱这样的困境呢?其实非常简单,多敲代码,多练习,多思考,熟能生巧嘛。

下面我简单举几个例子,给大家一点启发: 假如你今天学了Android如何自定义View控件,那么你就可以按照自己的想法写一个Android尚未提供给我们的控件或者是仿xxx的控件等。 假如你今天学了Android的事件分发机制,那么你就可以尝试着解决几个层级较为复杂的事件冲突问题。 假如你今天学了Google提供给我们进行应用开发的Jetpack框架组件,那么你就可以尝试用这个Jetpack组件去写个属于自己的app。 如何提高自己的动手能力

正如Linux之父的那句"Talk is cheap. Show me the code.",嘴上说千遍,也不如直接上代码撸一遍更加令人印象深刻。

所以我还是推荐大家多到github或者gitee这种开源代码托管平台去找一些优秀的开源项目,这些项目很多都是历经了各种复杂业务考验的高价值项目,临摹他们的代码,可以极大地提升我们的技术水平和编码水平。

那么当初我是怎么锻炼我的编码能力的呢?下面我就简单介绍一下供大家参考:

首先到开源代码托管平台寻找到适合自己的目标项目。 阅读项目的代码,初步了解项目的实现原理以及架构。 自己新建一个项目,然后按照自己的理解去自己实现一个类似的项目,不懂的时候可以借鉴或者copy目标项目的代码(目标项目就类似于参考答案)。 最低的要求是能够正常运行并且实现目标项目的主要功能,要求高一点的就是能够有一些属于自己的优化点或者特性等。 最后对自己做的这个项目进行归纳总结,优秀一点的可以写一篇README介绍或者原理分析。 关于学习和面试的感悟

无论工作多忙该读的源码,该刷的题都不能落下。要明白,私企都是说翻脸就翻脸的,整不好哪天你就会被裁!

必须把自己的命运握在自己的手里,技术积累要从日常做起,要做到随时出去面试都能有地方去,未必厉害到那种去大厂的地步,但是起码保证自己不会长时间失业。

因此在公司的时候没事少玩手机,多看看书和博客,或者clone开源项目源码下来读,这些都是未来跳槽的资本。

我个人其实也比较懒,但是积少成多在没需求做的时候还是学了些东西,主要方式如下:

1、idea装LeetCode插件,有空刷算法(谨慎) 2、博客园看文章。可以利用搜索功能看一些系列文章 3、看书 4、把开源项目fork到自己帐号上然后clone下来看,直接把注释写上去方便以后回看 5、b站也有些很有价值的视频,不过需要自行筛选来看

最后

在这里,我想给大家一点建议:很多时候,很多事情,并不像你想象中的那么简单,千万不要自认为简单而不愿意去做,很多东西只有你亲手去做了之后,才会发现事情并不像你最初想的那么简单。

Android系统学习路线参考

接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。

帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。

1、看视频进行系统学习

前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

另外,我自己也珍藏了好几套视频,有需要的我也可以给你。

全套视频资料:

一、面试合集

在这里插入图片描述 二、源码解析合集 在这里插入图片描述

三、开源框架合集 在这里插入图片描述

2、进行系统梳理知识,提升储备

客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

当然,查找资料也要讲究方法,本人已从事Android开发七年,深知盗版资料和零碎资料的危害,这里也为大家整理好了Android全套学习手册,包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等,可以帮大家省下不少时间。

在这里插入图片描述

在这里插入图片描述

部分文档展示 Android百大框架源码

阅读优秀的Android源码、熟悉源码框架有助于我们学习其中的设计模式与思想、明确调用 Android 提供的 SDK、写出高效正确的代码,实为程序员提升自我技术水平的捷径。Android百大框架源码解析一览 读懂这些源码,相信你的编程功力会有质的飞跃!

img

Android性能优化实战

开发一款APP的本质的目的是服务用户,那么在功能强大的基础上,哪一款APP的性能更稳定、体验效果更佳就成了用户选择的首要因素。

性能优化是一个持续的过程,也是Android开发工程师进阶之路必不可少的一项技能。这部分我将从一线互联网大厂的实战案例出发,解析性能优化,从实战中找问题,解决问题,熟悉常见性能优化问题。

腾讯Bugly:对字符串匹配算法的一点理解

爱奇艺:安卓APP崩溃捕获方案——xCrash

字节跳动:深入理解Gradle框架之一:Plugin, Extension, buildSrc

百度APP技术:Android H5首屏优化实践

支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」

携程:从智行 Android 项目看组件化架构实践

网易新闻构建优化:如何让你的构建速度“势如闪电”?

......

img

Kotlin项目实战

Kotlin作为一种新式的函数式编程语言有着更安全、更简洁、可通用、互操作性等诸多优点,不管用于Android开发,还是Java开发,都能缩减很大的代码量,极大地提高工作效率。 目前有很多公司也已放弃Java改用Kotlin,并在招聘中均有对Kotlin语言有较高的要求,Kotlin的上升势头不容置疑!

img

关注公众号:Android老皮 解锁  《Android十大板块文档》 ,让学习更贴近未来实战。已形成PDF版

内容如下:

1.Android车载应用开发系统学习指南(附项目实战) 2.Android Framework学习指南,助力成为系统级开发高手 3.2023最新Android中高级面试题汇总+解析,告别零offer 4.企业级Android音视频开发学习路线+项目实战(附源码) 5.Android Jetpack从入门到精通,构建高质量UI界面 6.Flutter技术解析与实战,跨平台首要之选 7.Kotlin从入门到实战,全方面提升架构基础 8.高级Android插件化与组件化(含实战教程和源码) 9.Android 性能优化实战+360°全方面性能调优 10.Android零基础入门到精通,高手进阶之路



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有