六年 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.内存泄漏的场景和解决办法

  1. 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://github.com/733gh/GH-Android-Review-master自行查看,里面记录了许多的Android 知识点。

持续更新–请Android的小伙伴关注! 喜欢的话给一个赞Star吧!

猜你喜欢

转载自blog.csdn.net/dongrimaomaoyu/article/details/113063648