阿里员工年年绩效A,晒出收入后感叹:996虽然痛苦,发钱时候真香
导读:
不管你在哪家企业,如果自己不努力,那肯定是拿不到高薪的。而在bat、华为这样的企业,其实工资只是他们收入的一部分,更多的是靠绩效奖金和分红。同样的,这些大公司加班也是挺多的,也就是一分耕耘一分收获。
最近在职场论坛上看到这样一个帖子:阿里员工年年绩效A,晒出收入后感叹:996虽然痛苦,发工资的时候真香,付出收获还是有回报的!这是怎么回事呢?
该员工说自己老家是农村的,家里条件也不太好。自从参加工作之后,还是非常努力。4年前自己进入阿里,每年的绩效都是A。如果把自己工资和绩效奖金加起来的话,年收入也有大几十万。该员工后来感叹:996虽然很累,但是发工资的感觉还是很好的,不过这也是自己辛勤付出的结果。
可能很多人对于阿里绩效不太明白,其实375B已经很难拿到了,A就更难了。如果是325的话,那是在淘汰的边缘。而且他们的收入与奖金关系很大,普通员工可能都有10万以上的差距。
有网友说你太厉害了,自己也是农村的,目前在阿里工作了一年,可是刚开始不太明白考核机制是怎么样的,结果没有拿到375,但是自己定了个目标,那就是以后年年要拿A。
还有网友问阿里工资一般是多少?其他人就回复说程序员一般都是50万到100万之间。不过你能够拿这么多次A,说明还是很厉害的,能力应该也不错,又或者领导很欣赏,不然的话,你也拿不到这么高的收入。
还有网友说真的很羡慕啊,现在很多公司都是加班,工资却少得很。看来还是大公司好一些啊,付出了这么多,至少还能够拿到很高的工资,哪里像我们这些小公司的人,工作时间长,但是工资却很低。
还有网友说自己工作七八年了,现在年收入才10多万,和你们比差太多了。
分享读者
作为一名Android开发,与其羡慕大公司,不妨正视自己的缺点和不足,构建一个属于自己的知识体系,加入大公司拿到更多的工资。
同时也能够让我们学到的知识体系化.让自己清楚哪块是自己的知识盲区,哪块已经构建起根基.然后根据实际情况,有针对性的进行模块学习.让自己成为一个合格的Android工程师.
我们平时看博客或者学知识,学到的东西比较零散,没有独立的知识模块概念,而且学了之后很容易忘.于是我建立了一个自己的笔记仓库 (一个我长期维护的笔记仓库,感兴趣的可以点个star~你的star是我写作的巨大大大大的动力),将平时学到的东西都归类然后放里面,需要的时候呢也方便复习.过了段时间,我觉得这样还是不够好,于是我最近花了点时间,整理了一下Android中的常见知识,画了一张思维导图.更清晰地认识自己的知识边界到底在哪里,哪些东西还不足.
此知识体系呢只是一个参考,大家可以根据自己的实际情况进行针对性学习,然后进行查漏补缺,提升自己~
1. 计算机基础
1.1 计算机网络
1.1.1 计算机网络概述
-
网络七层协议
-
TCP/IP四层模型
-
底层协议
-
底层设备
1.1.2 应用层
-
HTTP协议(⭐⭐⭐)
-
DHCP协议(⭐⭐⭐)
-
NAT
1.1.3 传输层(⭐⭐⭐)
-
TCP协议
-
UDP协议
1.1.4 网络层
-
IP协议
-
ICMP协议
1.2 操作系统(⭐⭐⭐)
1.2.1 操作系统基本功能
-
进程管理
-
作业管理/文件管理
-
存储管理/设备管理
1.2.2 Linux系统
-
内存管理
-
进程管理
-
文件系统
-
常见命令操作
1.2.3 补充
-
自旋锁/互斥锁/读写锁/条件变量/共享文件
-
消息队列/管道/信号量
-
操作系统的用户态与内核态
-
上下文切换成本
-
进程,线程与协程
2. Java基础(⭐⭐⭐)
2.1 集合原理
-
ArrayList
-
Vector
-
Stack
-
LinkedList
-
HashMap
-
Hashtable
-
TreeMap
-
LinkedHashMap
-
HashSet
-
TreeSet
-
CopyOnWriteArrayList
-
ConcurrentHashMap
-
LinkedBlockingQueue
-
SynchronousQueue
-
SparseArray
-
ArrayMap
2.2 其他
-
面向对象
-
设计模式
-
反射
-
泛型
-
注解
3. Java并发
3.1 线程基础
-
实现多线程
-
启动线程
-
停止线程
-
线程的6种状态
-
各种各样的锁
-
悲观锁和乐观锁
-
共享锁和独占锁
-
公平锁和非公平锁
-
可重入锁和非可重入锁
-
可中断锁和非可中断锁
-
自旋锁和非自旋锁
-
偏斜锁/轻量级锁/重量级锁
-
JVM对synchronized锁的优化
-
-
wait/notify/sleep/join等重要方法
-
守护线程,优先级等属性
-
线程安全
-
Future获取运行结果
-
Fork/Join模式
-
CountDownLatch
-
CyclicBarrier
-
Semaphore
-
Condition
-
Phaser
-
重排序
-
原子性
-
内存可见性
-
CAS原理
-
AQS框架
3.2 其他
3.2.1 并发容器
-
Vector/Hashtable
-
ConcurrentHashMap
-
CopyOnWriteArrayList
-
阻塞队列
-
非阻塞队列
-
ConcurrentSkipListMap
3.2.2 atomic包,6种原子类
-
分类
-
原子类与锁
-
原子类与volatile
3.2.3 ThreadLocal
-
使用场景
-
原理
3.3.4 线程池
-
优点
-
参数
-
分类
-
执行任务流程
-
拒绝策略
-
正确关闭线程池
-
线程池复用原理
4. JVM虚拟机
-
内存区域
-
内存模型
-
内存分配回收策略
-
Java对象的创建、内存布局和访问定位
-
GC: 引用计数及可达性分析,垃圾回收算法,G1及ZGC
-
类加载机制
-
双亲委派模型
-
编译器优化: 方法内联,逃逸分析
-
虚拟机相关: HotSpot及JIT,Dalvik,ART及AOT
-
JVM执行方法
-
JVM实现反射
-
JVM实现泛型
-
JVM实现异常
-
JVM实现注解
5. 数据结构与算法
5.1 数据结构
-
栈
-
队列
-
数组
-
链表
-
Hash表
-
二叉树
-
基础排序算法
-
字符串操作
5.2 算法
-
分治算法
-
动态规划
-
贪心算法
-
分支限界法
5.3 刷题
6. Android基础
6.1 核心知识点
6.1.1 四大组件
-
Activity
-
Service
-
BroadcastReceiver
-
ContentProvider
6.1.2 布局和控件
-
RelativeLayout
-
FrameLayout
-
LinearLayout
-
ConstraintLayout
-
Button
-
TextView
-
RecyclerView
-
......
6.1.3 自定义View/ViewGroup
-
onMeasure
-
onLayout
-
onDraw
-
onTouchEvent
-
dispatchTouchEvent
-
自定义属性
6.1.4 动画和手势
-
View动画
-
属性动画
-
layoutAnimation视图动画
-
手势检测(GestureDetector)
-
缩放手势检测(ScaleGestureDecetor)
6.1.5 网络
-
请求网络
-
解析数据
6.1.6 图片加载
-
本地图片
-
网络图片
-
压缩图片
-
多图列表
-
DiskLruCache
6.1.7 Handler
-
Looper
-
Message
-
MessageQueue
-
内存泄漏
-
ThreadLocal
6.1.8 Android各版本新特性
-
Android5.0
-
Android6.0
-
Android7.0
-
Android8.0(O)
-
Android9.0(P)
-
Android10.0(Q)
-
Android11.0(R)
6.1.9 其他
-
adb常用命令
-
文件和数据库
-
异步线程池
-
Resources
6.2 开源库使用
-
Retrofit/OKhttp
-
RxJava
-
Glide
-
注解框架
-
Jetpack
6.3 性能优化
6.3.1 快-流畅的体验
-
布局优化
-
绘制优化
-
内存优化
-
启动优化
-
其他
6.3.2 稳-稳定
-
避免内存泄露
-
避免崩溃
6.3.3 省-省电/流量
-
使用JobScheduler调度任务
-
使用懒惰法则
6.3.4 小-安装包小
-
apk构成
-
包体优化
7. Android进阶
7.1 核心知识点
7.1.1 多进程
-
Binder
-
AIDL
-
Messenger
7.1.2 Activity难点
-
onSaveInstanceState()和onRestoreInstanceState()
-
intent-filter匹配规则
-
生命周期
-
启动模式
-
Activity启动过程
-
App启动过程
7.1.3 Service难点
-
startService流程
-
bindService流程
7.1.4 BroadcastReceiver难点
- 注册/发送/接收工作原理
7.1.5 ContentProvider难点
- ContentProvider启动过程
7.1.6
-
View绘制
-
事件分发
-
消息队列
-
AsyncTask原理
-
RemoteViews
-
Window和ViewRootImpl
7.2 开源库原理
-
OkHttp
-
Retrofit
-
RxJava
-
Glide
-
LeakCanary
-
GreenDao
-
ARouter
7.3 Gradle
-
编译
-
混淆
-
签名
-
Groovy
-
Gradle构建流程
-
GradlePlugin
-
Gradle构建优化
-
App构建过程
-
差异化打包
7.4 初级架构
-
设计模式
-
MVC,MVP,MVVM
7.5 JNI
-
JNI基础
-
NDK基础
7.6 动态化
7.6.1 前置知识
-
Android打包流程
-
Java字节码
-
GradlePlugin
-
TransformAPI
-
ASM
7.6.2 热修复:nuwa&Tinker
-
经典-64k问题
-
dex分包
-
MultiDex优化
-
findClass原理
-
QQ空间热补丁方案
-
Nuwa应用层实现
-
NuwaGradle
7.6.3 插件化:VirtualAPK
-
加载类
-
资源访问
-
生命周期管理
7.7 编译插桩
-
AOP
-
ASM
7.8 Framework
7.8.1 系统服务
-
Zygote启动
-
Android系统启动
-
ServiceManager启动及工作原理
7.8.2 应用进程
-
启动流程
-
启用Binder机制
-
Application初始化流程
-
Context
7.8.3 UI体系
-
显示原理
-
UI线程启动
-
屏幕刷新机制
-
surface
-
vsync
7.8.4 进程通信
-
Binder
-
IPC通信流程
-
Binder对象跨进程传递
-
OneWay机制
7.8.5 线程通信
-
消息队列
-
消息传递机制
-
Handler消息延迟实现
-
IdleHandler原理
-
消息屏障
-
ThreadLocal原理
7.8.6 其他
-
跨进程传递大图片
-
四大组件启动原理
8. 领域专家
8.1 性能优化方向
-
稳定性优化
-
启动速度优化
-
绘制优化
-
内存优化
-
包体积优化
-
网络优化
-
IO优化
-
存储优化
-
耗电优化
8.2 基础架构方向
-
Android工程实践
-
Gradle自动化构建
-
编译插桩技术
-
Android架构
-
Android热修复
-
Android插件化
-
Android核心源码
8.3 NDK、音视频
-
C
-
C++
-
JNI基础
-
编译原理与语法基础
-
Linux基础
-
热修复
-
Gif图实现
-
音视频基础
-
ffmpeg
-
WebRTC
-
opengl
-
vulkan
-
opencv
8.4 大前端
8.4.1 前端基础
-
HTML
-
CSS
-
JavaScript
8.4.2 Flutter(⭐⭐)
-
Dart入门
-
Flutter入门
-
开发
-
工程管理
-
线上运维
-
发布
-
测试调试
8.4.3 其他
-
ReactNative
-
小程序
-
性能优化
9. 其他Android相关
9.1 Koltin(⭐⭐)
9.1.1 基础部分
-
内置类型
-
类型初步
-
表达算式
-
函数进阶
-
类型进阶
9.1.2 高级部分
-
泛型
-
反射
-
注解
-
协程
上面大纲都有相对应的PDF文档资料帮助他们学习理解的:
以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。