六年 Android 开发是如何从15K涨到30K?
Posted 涂程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了六年 Android 开发是如何从15K涨到30K?相关的知识,希望对你有一定的参考价值。
作者:振庭
简介
本人15年毕业后,就开始从事android移动应用开发,转眼间到现在已进入第六个年头了。刚开始是南下前往深圳工作,在深圳摸爬滚打了好三四年,也都是在小厂的圈子里跳来跳去。薪资最高的时候也才15K。但我一直感觉凭借自己的技能水平,应该远不止这个薪资水平。于是从2020年的下半年开始,抽出自己的业余时间进行系统复习、学习一些技术点知识。10月底才开始往一些公司投简历,中间也有几次碰壁,但最终还是在获得了一家上市公司的offer,虽不是什么一流大厂,但对于我来说,从15K的薪资涨到近30K,已经非常满足了。下面分享一下我的复习、学习指南,以及一些心得体会吧。(先晒一下我的offer)
面试个人体会
我个人认为,对于Android面试以及进阶的最佳学习方法莫过于刷题+多写多看博客+记录知识点+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。
一、java相关
java基础
1、java 中==和 equals 和 hashCode 的区别
2、int、char、long 各占多少字节数
3、int 与 integer 的区别
4、谈谈对 java 多态的理解
5、String、StringBuffer、StringBuilder 区别
6、什么是内部类?内部类的作用
7、抽象类和接口区别java高级
1、哪些情况下的对象会被垃圾回收机制处理掉?
2、讲一下常见编码方式?
3、utf-8 编码中的中文占几个字节;int 型几个字节?
4、静态代理和动态代理的区别,什么场景使用?
5、Java 的异常体系
6、谈谈你对解析与分派的认识。
7、修改对象 A 的 equals 方法的签名,那么使用 HashMap 存放这个对象 实例的时候,会调用哪个 equals 方法?
二、图片相关
1、图片库对比
2、LRUCache 原理
3、图片加载原理
4、自己去实现图片库,怎么做?
5、Glide 源码解析
6、Glide 使用什么缓存?
7、Glide 内存缓存如何控制大小?
8.Fresco 源码分析
三、网络和安全机制
1.网络框架对比和源码分析
2.自己去设计网络请求框架,怎么做?
3.网络请求缓存处理,okhttp 如何处理网络缓存的
4.从网络加载一个 10M 的图片,说下注意事项
5.TCP 的 3 次握手和四次挥手
6.TCP 与 UDP 的区别
7.TCP 与 UDP 的应用
8.HTTP 协议
四、数据库相关
1.Sqlite 升级,增加字段的语句
2.数据库框架对比和源码分析
3.数据库优化
4.数据库数据迁移问题
5.Sqlite 常见异常
五、插件化、模块化、组 件化、热修复、增量更新、Gradle
1.对热修复和插件化的理解
2.插件化原理分析
3.模块化实现(好处,原因)
4.热修复、插件化
5.项目组件化的理解
6.描述清楚点击 Android Studio 的 build 按钮后发 生了什么
六、架构设计与设计模式
1.谈谈你对 Android 设计模式的理解
2.MVC MVP MVVM 原理和区别
3.你所知道的设计模式有哪些?
4.项目中常用的设计模式
5.手写生产者/消费者模式
6.写出观察者模式的代码
7.适配器模式,装饰者模式,外观模式的异同?
8.谈谈对 RxJava 的理解
七、性能优化专题
1.启动 app 黑白屏优化
2.稳定——内存优化
3.流畅——卡顿优化
4.节省——耗电优化
5.安装包——APK 瘦身
6.冷启动与热启动
7.内存泄漏的场景和解决办法
- Bitmap 优化
9.webview 优化
八、Android Framework 相关
1、Android 系统架构
2、View 的事件分发机制?滑动冲突怎么解决?
3、View 的绘制流程?
4、跨进程通信。
5、Android 系统启动流程是什么?
6、说下四大组件的启动过程,四大组件的启动与销 毁的方式。
7、理解 Window 和 WindowManager。
8、大体说清一个应用程序安装到手机上时发生了什 么?
九、Android 优秀三方库源码
1.网络底层框架:OkHttp 实现原理
2.网络封装框架:Retrofifit 实现原理
3.响应式编程框架:RxJava 实现原理
4.图片加载框架:Glide 实现原理
5.事件总线框架:EventBus 实现原理
6.内存泄漏检测框架:LeakCanary 实现原理
7.依赖注入框架:ButterKnife 实现原理
8.依赖全局管理框架:Dagger2 实现原理
9.数据库框架:GreenDao 实现原理
十、算法合集
1.编程技巧
2.线性表
3.字符串
4.栈和队列
5.树
6.排序
7.查找
8.暴力枚举法
9.广度、深度优先搜索
10.分治算法
11.贪心算法
12.动态规划
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点了解的程度。so,出去面试时先看看自己复习到了哪个阶段就好。
大家如果还想了解更多Android 相关的更多知识点,可以点进我的【GitHub项目中:https://codechina.csdn.net/u012165769/GH-Android-Review-master】自行查看,里面记录了许多的Android 知识点。
持续更新–请Android的小伙伴关注! 喜欢的话给一个赞Star吧!
以上是关于六年 Android 开发是如何从15K涨到30K?的主要内容,如果未能解决你的问题,请参考以下文章
从15K涨到30K,看六年 Android开发是怎么做到的?