行情怎么样
有的网友说早就想跳槽了,但是听说行情不好,不敢跳。其实吧,价格取决于价值,影响价格波动的是供需关系。
疫情原因,很多互联网企业生存艰难,招聘的岗位标准就比以要高一些了,去招聘软件上看也可以发现,大多要求 3 年以上经验。这是因为现在安卓初级太多了,各种应届生、培训班涌入市场,前几年会用 ListView 就可以找工作的日子一去不复还。不过真正的高级,或者有潜力的中级,还是很受企业欢迎的。
因此,我们在想要跳槽时,不要被所谓的“差行情”拦住,而是要审视自己的水平,确定自己的目标,究竟是要找初级岗、中级岗,还是高级岗。
面试前,面试官拿到你的简历,根据简历上的信息会建立第一印象。因此你想要呈现给对方一个怎样的定位,有什么亮点,都需要事先思考清楚。
确定了方向后就要开始努力准备,下一节我们介绍安卓跳槽需要准备复习的知识。
==========================================================================================
在介绍面试考察内容前,先来看看我认为的“中高级Android”需要掌握的知识点,这些这是我们集合了牛客网、掘金、简书、知乎、CSDN等网站的几十篇面经和群友自己面试的经历的合集,以及请教前辈总结而来的。整理的知识点会有 Java、Android SDK、Android 源码、常见面试算法题、其他的一些计算机基础以及常见的面试题等几个部分:
1.Java 知识点汇总
2.Android 知识点汇总
3.Android 扩展知识点汇总
4.Android 开源库源码分析
5.设计模式汇总
6.计算机网络基础
7.常见面试算法题汇总
8.Kotlin知识点汇总
9.Flutter知识点汇总
面试中级及以下岗位时,在电话面试、一面、或者你简历没有突出亮点时,一般都会先问基础,目的是确定你基本功扎不扎实。
如果基础知识有太多不会的就危险了,必须好好准备,这是躲不过的。电话面试、一面考察基本功过关后,就会进入下一阶段 — 问些进阶的,看看你最高水平在哪里。
这个阶段有不会的很正常,因为对方正在确定你的水平,但态度一定要积极主动,即使之前没有研究过,也要结合一些经验说出推测的结果,切忌直接说“我不会”。
-
JVM
-
JVM 工作流程
-
运行时数据区(Runtime Data Area)
-
方法指令
-
类加载器
-
垃圾回收 gc
-
对象存活判断
-
垃圾收集算法
-
垃圾收集器
-
内存模型与回收策略
-
Object
-
equals 方法
-
hashCode 方法
-
static
-
final
-
String、StringBuffer、StringBuilder
-
异常处理
-
内部类
-
匿名内部类
-
多态
-
抽象和接口
-
集合框架
-
HashMap
-
结构图
-
HashMap 的工作原理
-
HashMap 与 HashTable 对比
-
ConcurrentHashMap
-
Base 1.7
-
Base 1.8
-
ArrayList
-
LinkedList
-
CopyOnWriteArrayList
-
反射
-
单例
-
饿汉式
-
双重检查模式
-
静态内部类模式
-
线程
-
状态
-
状态控制
-
volatile
-
synchronized
-
根据获取的锁分类
-
原理
-
Lock
-
锁的分类
-
悲观锁、乐观锁
-
自旋锁、适应性自旋锁
-
死锁
-
引用类型
-
动态代理
-
元注解
答案解析
-
Activity
-
生命周期
-
启动模式
-
启动过程
-
Fragment
-
特点
-
生命周期
-
与Activity通信
-
Service
-
启动过程
-
绑定过程
-
生命周期
-
启用前台服务
-
BroadcastReceiver
-
注册过程
-
ContentProvider
-
基本使用
-
数据存储
-
View
-
MeasureSpec
-
MotionEvent
-
VelocityTracker
-
GestureDetector
-
Scroller
-
View 的滑动
-
View 的事件分发
-
在 Activity 中获取某个 View 的宽高
-
Draw 的基本流程
-
自定义 View
-
进程
-
进程生命周期
-
多进程
-
进程存活
-
OOM_ADJ
-
进程被杀情况
-
进程保活方案
-
Parcelable 接口
-
使用示例
-
方法说明
-
Parcelable 与 Serializable 对比
-
IPC
-
IPC方式
-
Binder
-
AIDL 通信
-
Messenger
-
Window / WindowManager
-
Window 概念与分类
-
Window 的内部机制
-
Window 的创建过程
-
Activity 的 Window 创建过程
-
Dialog 的 Window 创建过程
-
Toast 的 Window 创建过程
-
Bitmap
-
配置信息与压缩方式
-
常用操作
-
裁剪、缩放、旋转、移动
-
Bitmap与Drawable转换
-
保存与释放
-
图片压缩
-
BitmapFactory
-
Bitmap创建流程
-
Option类
-
基本使用
-
内存回收
-
屏幕适配
-
单位
-
头条适配方案
-
刘海屏适配
-
Context
-
SharedPreferences
-
获取方式
-
getPreferences
-
getDefaultSharedPreferences
-
getSharedPreferences
-
架构
-
apply / commit
-
注意
-
消息机制
-
Handler 机制
-
工作原理
-
ThreadLocal
-
MessageQueue
-
Looper
-
Handler
-
线程异步
-
AsyncTask
-
基本使用
-
工作原理
-
HandlerThread
-
IntentService
-
线程池
-
RecyclerView 优化
-
Webview
-
基本使用
-
WebView
-
WebSettings
-
WebViewClient
-
WebChromeClient
-
Webview 加载优化
-
内存泄漏
答案解析
-
ART
-
ART 功能
-
预先 (AOT) 编译
-
垃圾回收优化
-
开发和调试方面的优化
-
ART GC
-
Apk 包体优化
-
Apk 组成结构
-
整体优化
-
资源优化
-
代码优化
-
.arsc文件优化
-
lib目录优化
-
Hook
-
基本流程
-
使用示例
-
Proguard
-
公共模板
-
常用的自定义混淆规则
-
aar中增加独立的混淆配置
-
检查混淆和追踪异常
-
架构
-
MVC
-
MVP
-
MVVM
-
Jetpack
-
架构
-
使用示例
-
NDK 开发
-
JNI 基础
-
数据类型
-
String 字符串函数操作
-
常用 JNI 访问 Java 对象方法
-
NDK 开发
-
基础开发流程
-
System.loadLibrary()
-
CMake 构建 NDK 项目
-
常用的 Android NDK 原生 API
-
类加载器
-
双亲委托模式
-
DexPathList
-
LeakCanary
-
初始化注册
-
引用泄漏观察
-
Dump Heap
-
EventBus
-
自定义注解
-
注册订阅者
-
发送事件
-
设计模式分类
-
面向对象六大原则
-
工厂模式
-
单例模式
-
建造者模式
-
原型模式
-
适配器模式
-
观察者模式
-
代理模式
-
责任链模式
-
策略模式
-
备忘录模式
答案解析
-
网络体系的分层结构
-
HTTP 相关
-
请求报文
-
请求行
-
请求头
-
响应报文
-
常见状态码
-
缓存机制
-
Https
-
Http 2.0
-
TCP/IP
-
三次握手
-
四次挥手
-
TCP 与 UDP 的区别
-
Socket
-
使用示例
答案解析
-
排序
-
比较排序
-
冒泡排序
-
归并排序
-
快速排序
-
线性排序
-
计数排序
-
桶排序
-
二叉树
-
顺序遍历
-
层次遍历
-
左右翻转
-
最大值
-
最大深度
-
最小深度
-
平衡二叉树
-
链表
-
删除节点
-
翻转链表
-
中间元素
-
判断是否为循环链表
-
合并两个已排序链表
-
链表排序
-
删除倒数第N个节点
-
两个链表是否相交
-
栈 / 队列
-
带最小值操作的栈
-
有效括号
-
用栈实现队列
-
逆波兰表达式求值
-
二分
-
二分搜索
-
X的平方根
-
哈希表
-
两数之和
-
连续数组
-
最长无重复字符的子串
-
最多点在一条直线上
-
堆 / 优先队列
-
前K大的数
-
前K大的数II
-
第K大的数
-
二叉搜索树
-
验证二叉搜索树
-
第K小的元素
-
数组 / 双指针
-
加一
-
删除元素
-
删除排序数组中的重复数字
-
我的日程安排表 I
-
合并排序数组
-
贪心
-
买卖股票的最佳时机
-
买卖股票的最佳时机 II
-
最大子数组
-
主元素
-
字符串处理
-
生成括号
-
Excel表列标题
-
翻转游戏
-
翻转字符串中的单词
-
转换字符串到整数
-
最长公共前缀
-
回文数
-
动态规划
-
单词拆分
-
爬楼梯
-
打劫房屋
-
编辑距离
-
乘积最大子序列
-
矩阵
-
螺旋矩阵
-
判断数独是否合法
-
旋转图像
-
二进制 / 位运算
-
落单的数
-
格雷编码
-
其他
-
反转整数
-
LRU缓存策略
答案解析
-
from-java-to-kotlin
-
kotlin_tips
-
从原理分析Kotlin的延迟初始化: lateinit var和by lazy
-
使用Kotlin Reified 让泛型更简单安全
-
Kotlin里的Extension Functions实现原理分析
-
Kotlin系列之顶层函数和属性
-
Kotlin 兼容 Java 遇到的最大的 “坑”
-
Kotlin 的协程用力瞥一眼
-
Kotlin 协程「挂起」的本质
-
到底什么是「非阻塞式」挂起?协程真的更轻量级吗?
-
资源混淆是如何影响到Kotlin协程的
-
Kotlin Coroutines(协程) 完全解析
答案解析
-
Flutter原理与实践
-
揭秘Flutter Hot Reload(原理篇)
-
Flutter 动态化探索
-
Flutter如何和Native通信-Android视角
-
深入理解Flutter Platform Channel
-
Flutter Engine 编译指北
-
Flutter Engine 线程模型
-
深入理解Flutter多线程
-
Flutter状态管理 - 初探与总结
-
Flutter | 状态管理指南篇——Provider
-
深入理解Flutter应用启动
-
Flutter渲染机制—UI线程
-
Flutter渲染机制—GPU线程
-
深入理解Flutter应用启动
-
深入理解setState更新机制
-
深入理解Flutter消息机制
-
深入理解Flutter动画原理
-
Dart虚拟机运行原理
-
源码解读Flutter tools机制
-
源码解读Flutter run机制
答案解析
================================================================================
简历的重要性就不言而喻了,怎么样写好简历是个技术活,当然如果你有很好的背景(学校或者公司),那么不管你怎么写,基本上都不刷掉你,我们作为一般的人还是需要下一番功夫的。拿我的简历作为例子,大概有以下几个部分:
-
个人信息:姓名、出生日期、教育背景、博客地址、github地址、联系方式(手机、邮箱和微信号)
-
工作经历:毕业后待过哪些公司,一般是倒序,项目尽量精简明了,可以参考SMART原则
-
专业技能:自己熟悉的一些技能,这个为什么我写到最后,因为对于工作三年的同学来说,面试官更加注重的是你的项目经历,大部分面试都是看你的项目经历来提问。
怎样写简历,这个开源网站不错,教你怎么写简历,而且有一个在线markdown在线网站,可以导出pdf。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/78a54d551ae4b38eed0d561d7ea0d7ef.jpeg)
总结
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的
还有高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-6Mn7zpXN-1712220979911)]
[外链图片转存中…(img-6JW1M6pw-1712220979912)]
[外链图片转存中…(img-04G8fbmL-1712220979912)]
[外链图片转存中…(img-viGURFyT-1712220979912)]
[外链图片转存中…(img-PQP7hv8Z-1712220979912)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/78a54d551ae4b38eed0d561d7ea0d7ef.jpeg)
总结
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的
还有高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。
[外链图片转存中…(img-R8BiQqCY-1712220979913)]