如何成为一名合格的Android开发工程师?(1)

掌握扎实的基本功

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

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

作为应届生,由于没有什么实际的项目经验,所以在面试过程中,用人单位会更看重应届生的基础知识掌握程度以及发展潜质。

所以,作为一名应届生,我们一定要把基本功的提升放在首位。那么要想成为一名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这种开源代码托管平台去找一些优秀的开源项目,这些项目很多都是历经了各种复杂业务考验的高价值项目,临摹他们的代码,可以极大地提升我们的技术水平和编码水平。

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

  1. 首先到开源代码托管平台寻找到适合自己的目标项目。

  2. 阅读项目的代码,初步了解项目的实现原理以及架构。

  3. 自己新建一个项目,然后按照自己的理解去自己实现一个类似的项目,不懂的时候可以借鉴或者copy目标项目的代码(目标项目就类似于参考答案)。

  4. 最低的要求是能够正常运行并且实现目标项目的主要功能,要求高一点的就是能够有一些属于自己的优化点或者特性等。

  5. 最后对自己做的这个项目进行归纳总结,优秀一点的可以写一篇README介绍或者原理分析。

如果你能够按照我上面所说的,来回写个4~5个项目之后,相信你的动手能力一定会有质的飞跃。

最后

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

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


在这里我还分享一份收录整理的Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料

这些都是我现在闲暇时还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效地帮助大家掌握知识、理解原理,帮助大家在面试季取到一份不错的答卷。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

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

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

img

img

img

img

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

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

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

结语

  • 现在随着短视频,抖音,快手的流行NDK模块开发也显得越发重要,需要这块人才的企业也越来越多,随之学习这块的人也变多了,音视频的开发,往往是比较难的,而这个比较难的技术就是NDK里面的技术。
  • 音视频/高清大图片/人工智能/直播/抖音等等这年与用户最紧密,与我们生活最相关的技术一直都在寻找最终的技术落地平台,以前是windows系统,而现在则是移动系统了,移动系统中又是以Android占比绝大部分为前提,所以AndroidNDK技术已经是我们必备技能了。
  • 要学习好NDK,其中的关于C/C++,jni,Linux基础都是需要学习的,除此之外,音视频的编解码技术,流媒体协议,ffmpeg这些都是音视频开发必备技能,而且
  • OpenCV/OpenGl/这些又是图像处理必备知识,下面这些我都是当年自己搜集的资料和做的一些图,因为当年我就感觉视频这块会是一个大的趋势。所以提前做了一些准备。现在拿出来分享给大家。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

…(img-MF7Fba91-1713545629176)]

[外链图片转存中…(img-2sYXsG9C-1713545629177)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值