经常在网上的论坛里看到讨论程序员的级别,尤其在跳槽类的信息里可以看到对标阿里P7,百度T6,腾讯3.1等字眼,似乎大厂的级别俨然可以成为业内的通用货币,类似于高考分数一样,哪一档就对应着什么样的待遇。
有人说现在的程序员级别也开始浮夸起来了,以前觉得从刚毕业开始算初级软件工程师,到中级软件工程师,高级软件工程师,要熬上三五年乃至更高的时间。而现在接到同行的名片,往往高级开发经理、算法专家、首席科学家等层出不穷。
近日一位网友吐槽几个技术不行的同事都去面试了阿里的P7岗位,且都成功拿到了offer,怀疑是不是阿里的P7岗位降低了招聘标准。
有网友回复到:迷之自信,总觉得自己比身边人牛逼系列,其实是小看了同事的技术。
还有网友说自己也碰到了这种情况。几个水平一般的都进去了
阿里P7本来就没什么,不要过度神化他们;文娱部门的P7确实是降低了要求;也有一种说法就是团队存在防水占坑的情况。
有网友说是在卡P7岗位员工的占比,可能是部门问题,还有前阿里员工也碰到了这种事,以前很厉害的人才给P7,结果最近大家都觉得很水的人去了阿里拿了P7。
阿里P7在内部的称呼叫做XX专家,比如技术专家,产品专家,运营专家,营销专家等。
根据网传的阿里P7能力模型图,一个合格的P7需要以下几个方面的能力和要求:
1、在专业领域,对自己所从事的职业具备一定前瞻性了解,在某个方面独到,对公司关于此方面的技术或管理产生影响;
2、对复杂问题的解决有自己的见解,对问题的识别、优先级分配见解尤其有影响力,善于寻求资源解决问题;
3、可独立领导跨部门的项目,能够培训或指导新进员工;
4、通常需正规本科毕业,需相关专业教育教育或相关从业经验;
5、行业外或公司内部培养周期较长;
6、是技术或相关管理岗位的资深人士。
根据这个能力模型,我们可以看到,阿里P7是某个专业领域的专家,他对这个领域非常熟悉,具备前瞻性,他的见解和建议能影响到公司在这个领域的认识;面对复杂问题,他能够利用自己的能力和认知,通过合理分配和安排,寻找资源去解决他,可以独立完成跨部门合作的项目(这个能力在大厂非常重要),同时能够培训指导新人。
再来看一下阿里P7的薪资范围:
不得不说阿里的薪水真的很诱人,而普通的互联网公司哪里能给如此高的薪水。然而,阿里的业务做得很好,员工也非常优秀。获得这么多,也是合理的,不必嫉妒。
但成为阿里 P7 级别的程序员,真的难么?其实也未必。
前几天我一个前同事就通过半年的奋斗成功逆袭面进了阿里P7,之前他和我都是在一个二线互联网公司奋斗着,临走时他给我留下了一份Android开发重点技术路线图,内容简直是太详细了。
我之前复习的时候,大多都在20点以后,因为晚上比较能集中注意力,制定一个学习计划,切勿零散的复习,最好是系统的复习,才能胜却在握。
安卓手机的开发语言是Java(Kotlin也是对java的封装),Android Framework 也是默认使用Java 语言,熟练掌握Java 语言是Android 开发者的必备技能。
本篇包含知识点:
1.深入 Java 泛型
2.注解深入浅出
3.并发编程
4.数据传输与序列化
5.Java 虚拟机原理
6.反射与类加载
7.高效 IO
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。
不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。
所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。
主要内容包含:
深入解析Binder
深入解析Handler
Dalvik VM 进程系统
深入解析 WMS
PackagerManagerService
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
主要内容:
1.设计思想与代码质量优化
2.程序性能优化 启动速度与执行效率优化 布局检测与优化 内存优化 耗电优化 网络传输与数据储存优化 APK大小优化
3.开发效率优化 分布式版本控制系统Git 自动化构建系统Gradle
4.项目实战 启动速度 流畅度 抖音在APK包大小资源优化的实践 优酷响应式布局技术全解析 网络优化 手机淘宝双十一性能优化项目揭秘 高德APP全链路源码依赖分析 彻底干掉OOM的实战经验分享 微信Android终端内存优化实践
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。
当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
本篇内容要点(1042页)
热修复设计
插件化
组件化框架设计
图片加载框架
网络请求框架
RXJava 响应式编程框架设计
IOC 架构设计
Android架构组件Jetpack
NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。
主要内容包含:
NDK 模块开发
JNI 模块
Native 开发工具
Linux 编程
底层图片处理
音视频开发
机器学习
2019 年无疑是 Flutter 技术如火如荼发展的一年。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。