Android开发在上海呆了四年,我想我该回湖南了

前言

面试offer虽然是拿到了,但是公司条件不太满意,路上要一个半小时,单双休,早上8:30上班,要求周一到岗。离住处近的公司,面试也没结果,早上打了公司的电话,拜托向相关人员询问一下结果,现在也没有答复。吃午饭的时候跟朋友聊天,我突然意识到我是不是应该回去了

在上海四年,我始终觉得自己从来不属于这个城市,我对上海的了解只有自己住的出租屋,公司自己的工位,一个项目的几个同事,甚至有同学问我上海哪里好玩我都不知道。前些天我想申请失业保险,可申请页面清楚的告诉我,我没有上海户籍不能申领

有时候会想,来上海这么久也没攒下多少钱,没多少长进,也没多认识几个朋友,就感觉很难过。周末的时候也只是在出租屋里睡觉打游戏,完全没有出门的欲望。有时候看着外面灿烂的阳光、谈天的老人、嬉戏的孩子、缤纷的桃花,也冲动地想下去看看。可当我走出房间,独自坐在公园的长椅上,看着来往的人,又觉得很冷清,过不了多久就又回到房间,然后打开直播,感觉增加一个人的热闹

我的胃现在糟糕透了,吃饭总是恶心干呕,周围的外卖点了个遍,也找不到一家合口味的,不是多油就是偏甜,饭也只是温温的似乎只是为了让你能快点填饱肚子。因为嫌垃圾分类太麻烦,也慢慢的学着做饭,一个人的饭太费时了,慢慢的也没了动力。我这胃也是没救了。

好多次我想起湖南可能会有合胃口的饭菜,能一起出去玩的朋友,就很想回去,可又不知道为什么迟迟不想动身。或许这次疫情加失业也是一个契机,我也该好好想想了,我真的喜欢写代码吗?

程序员是要专精,还是要广度?

我想先撇开这个具体的问题,谈一谈一个程序员的技术发展和职业规划。

代码这件事绝大多数人在喜爱的同时,更多的都是当做一个职业来做的,当然也确实有一部分人真的完全当做爱好,但是对于绝大多数人来说,编程更多的是职业发展道路上一个立身的手艺,在众多专业技术方向上挑了一个自己比较喜欢和热爱的。

程序员的发展和众多职位的发展一样,每个人都希望自己能够往"上"走:更专业,更能在职场上发挥自己的作用和影响力,从单兵作战做小事,到带队做大一点的事,再到影响一个领域,影响一个行业。

这样的发展单单靠自己各方面都懂,都有涉猎,恐怕是不行的。刚毕业的应届同学可以靠自己的知识储备做自己的标签,久经职场的同学必须靠自己在某些领域做出的成绩做自己的军功章。

所以我们越早在某些方向做出自己的成绩,对自己的成长和发展是越好的

如何提升 Android 实力,突破能力瓶颈?

从架构基础开始,分了8个模块来逐步从基础进阶到架构师的环节:

接下来将分享面试的一个复习路线,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我这些年总结出来的复习路线,有任何问题也欢迎一起互相交流,加油吧!有需要下面资料的小伙伴可以扫描下方二维码,自行领取。

在这里插入图片描述

架构师筑基语言基础

目前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终端内存优化实践

《360°全方位性能调优》

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 技术如火如荼发展的一年。现在这门技术也依然非常有价值。

一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门**
……

微信小程序开发
微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

Android相关源码解读

“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。

《Android开发相关源码精编解析》

Android BAT高级开发面试题及答案解析

面试前夕,刷题冲刺

面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

关于面试刷题,我个人也总结了一套系统的面试题,帮助你举一反三:

《2021Android面试题大全》

以上内容均免费分享给大家,需要完整版的朋友,扫描下方CSDN官方二维码,免费领取。

在这里插入图片描述

技术之路就是漫长的打怪升级,不断学习前人的踩坑经验才能提升自己,切忌闭门造车。
不要给自己设限,设限永远会和焦虑绑定。永远学习永远初心,有机会就为自己拼搏一次!

相关文章

这篇文章主要讲解了“FlutterComponent动画的显和隐怎么实现...
这篇文章主要讲解了“flutter微信聊天输入框功能如何实现”,...
本篇内容介绍了“Flutter之Navigator的高级用法有哪些”的有...
这篇文章主要介绍“Flutter怎么使用Android原生播放器”,在...
Flutter开发的android端如何修改APP名称,logo,版本号,具体...
Flutter路由管理初识路由概念一.路由管理1.1.Route1.2.Mater...