写点什么

做 android 开发一直不相信 35 岁危机,好像被自己遇到了,9 次 Android 面试经验总结

用户头像
Android架构
关注
发布于: 刚刚

现实很美好,现实很骨感,现实很残忍,选择更好的方向去努力,更为重要。


技术是程序员安身立命的本领,很多人崇尚技术,但技术并不能给我们带来数十年的安稳。


不知道大家有没有思考过,为什么现在计算机应届生的起薪,要远远高于其他行业,比如物理学、生物学、航天学。为什么呢,是因为计算机的技术更高级吗,还是因为我们这些从业者更努力。想必我们心知肚明,都不是。我们能够拥有不错的机遇,是因为计算机行业还处于上升阶段,我们幸运的遇上了互联网的行业爆发式增长。


曾经的能源、机械、土建行业,也经历过这样的过程,但不幸的是,计算机领域的发展速度,是历史上任何一个行业前所未有的。身处这个领域中,从完全竞争阶段到寡头垄断阶段的过程,所需的时间非常短。阿里腾讯从摇摇欲坠,到跻身全球十大互联网公司,仅仅花了十几年时间。


速度越快,需要的新鲜血液就越多,更新迭代就越快,竞争力弱了,自然很容易被优化。也许我们的技术还在,精力还在,但当社会开始嫌弃年龄大了的中年人,我们也无法独善其身。


说了这么多,都是在阐述中年危机的背景和现状,关于解决办法,我自然是说不出来,也不可能在这里胡诌一通。我只想聊聊自己的预防方法。


预防建议




我想多给自己一些选择,将潜在的风险分散开来。


试想,如果家庭的收入,仅仅是自己的一份工资,那连生病都是一种奢侈。但好在,这个社会很公平,压力很大,机会不少,我可以对自己进行各种投资。


首先是职场投资,我喜欢专研技术,喜欢与前辈交流,请教职场经验,了解专业领域的前景,避开吃力不讨好的坑,保证自己的主业不要走岔路,稳定发展。


我自己做 Android 开发已经是接近八年,2013 年 java 转到 Android 开发,在小厂待过,也去过华为,OPPO 等大厂待过,19 年 5 月份进了字节跳动一直到现在。


字节跳动除了优秀的同事之外


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


,大公司里往往还有丰富的内部文档和资料。同时我在内部看到了很多优秀的文章,也有很多优秀的技术沙龙和分享。现在想起来 2 年下来,也没有去过几次,文章和资料看得也不算多,现在想想颇为遗憾。别的不说,就拿推荐领域而言,近些年质量不错的论文往往都来源于大公司尤其是国内的大公司,以阿里、华为和头条为主。除了公开的论文,公司内部还有很多技术相关的资料和文档,这些真的可以说是有价无市,非常珍贵。


以下分享一下我近八年抗战 Android 的具体学习路线及笔记文档,希望能让程序员放下自我,**不断学习交流**帮助到有心提升技术的朋友!


而作为一名 Android 程序员,如何破局!构建属于自己的一套架构知识体系就显得尤为重要了!


一线互联网大厂 Android 架构进阶学习路线




  • 架构师筑基语言基础


目前 Android APP 开发主流语言就是 Java 语言,Java 语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用 Java 语言来进行编写的。


知识要点:


1、深入理解 Java 泛型


2、注解深入浅出


3、并发编程


4、数据传输与序列化


5、Java 虚拟机原理


6、高效 IO



  • 设计思想解读开源框架


随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个 g 那么大。


所以,当今的 Android 移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。


知识要点:


1、热修复设计


2、插件化框架设计


3、组件化框架设计


4、图片加载框架


5、网络访问框架设计


6、RXJava 响应式编程框架设计



  • 360°全方位性能调优


在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。


另外,随着产品内容迭代,功能越来越复杂,UI 页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对 APP 进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。


知识要点:


1、设计思想与代码质量优化


2、程序性能优化


启动速度与执行效率优化


布局检测与优化


内存优化


耗电优化


网络传输与数据储存优化


APK 大小优化



3、开发效率优化


分布式版本控制系统 Git


自动化构建系统 Gradle



4、项目实战


启动速度


流畅度


抖音在 APK 包大小资源优化的实践


优酷响应式布局技术全解析


网络优化


手机淘宝双十一性能优化项目揭秘


高德 APP 全链路源码依赖分析


彻底干掉 OOM 的实战经验分享


微信 Android 终端内存优化实践



  • Android 框架体系架构


Android 框架体系架构(高级 UI+FrameWork 源码) 这块知识是现今使用者最多的,我们称之 Android2013~2016 年的技术。


Android 开发者也往往因为网上 Copy 代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。


知识要点:


1、高级 UI 晋升


2、Android 内核组件


3、大型项目必备 IPC


4、数据持久与序列化


5、Framework 内核解析**



  • NDK 模块开发(音视频开发系列)


NDK(Native Development Kit 缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。


在 Android 中,NDK 是一系列工具的集合,主要用于扩展 Android SDK。NDK 提供了一系列的工具可以帮助开发者快速的开发 C 或 C++的动态库,并能自动将 so 和 Java 应用一起打包成 apk。


知识要点:


1、NDK 开发之 C/C++入门


2、JNI 模块开发


3、Linux 编程


4、底层图片处理


5、音视频开发


6、机器学习



  • Flutter 学习进阶


2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
做android开发一直不相信35岁危机,好像被自己遇到了,9次Android面试经验总结