你是否有过这样尴尬的经历:
带着朋友前后脚跳槽一家公司,你在架构师原地踏步好几年但你的朋友却一路晋升总监?
在公司技术领域造诣很深的你,依然没有获得进身之阶,被同事压了一头?
你精通更多的技术却没有得到同事一样的重用?
现在很多企业都是采用同岗位不同薪,因为能力不一样,所以,很多公司对员工薪酬保密,并规定禁止私下询问同事薪资。但是有时候就无意间知道了同事的工资。
近日,看到一则帖子,一位网友无意间知道了自己同事的薪资,心态崩了,原因是新来的员工工资都比自己高,不死心的情况下去问了公司其他部门的,平均薪资都比自己高。这才特意发帖寻求大家问题出在哪。原贴如下:
这个帖子一经发出,有网友就说了,这时候只有跳槽才能改变现状;你自己不跳槽,怪公司不涨薪?
也有不少网友表示理解,确实存在这种薪资倒挂的情况:因为你来得早,倒挂是正常的;我也是2021届数分应届生,啥都不会拿了20+offer ,去年的应届生才15-17k ,整天担心自己太菜
还有人给楼主支招:跳。我就是跳槽翻倍才追上应届生;我上次看到个方案很好,面试拿着下家的待遇跟东家谈涨薪,涨薪之后等半年流水落实,再以东家的薪资跳槽,左脚踩右脚升天;有股票的等股票拿满就走,没股票的想走就走。
什么叫薪酬倒挂?就是工作强度与收益不匹配,说明白点就是,新招进来的人,普遍工资都比老员工高,但是工作产出和效率往往不如老员工。
当老员工看到自己的薪资被很多应届生工资倒挂了,自然就不满意了。
但薪资倒挂真的是一件很正常的事,可以说,这是一种市场规律。因为招人的时候是按照当前市场价的,并没有参考老员工的薪资,只参考当前的市场价开到多少才能招来人。
而老员工的薪资涨幅都是按照公司制度一年一普调,不参考具体数字,只参考涨幅百分比。
所以这两个价格存在落差,况且市场价也不是总比内部价要高的,有时候应届生的薪资如同白菜价,进来和老员工干同一种活,这时候,就没人会出来抱怨说自己薪资被倒挂了。
那么跳槽大厂需要具备哪些技能?
成年人想要改变生活、逆转状态时,会不约而同做一件事,那就是再次学习。
接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。
帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。
从架构基础开始,分了8个模块来逐步从基础进阶到架构师的环节:
多余的话就不讲了,接下来将分享面试的一个复习路线,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!
架构师筑基语言基础
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle4、项目实战
启动速度
流畅度
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
Android框架体系架构
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析**
NDK模块开发(音视频开发系列)
NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。
在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。
知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
Flutter学习进阶
2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门**
……
微信小程序开发
微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。
本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
Android相关源码解读
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
Android BAT高级开发面试题及答案解析
面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者关注主页扫描加 微信 获取。
升职加薪的几个技巧
同事升职年薪涨到了百万级别!自己工作态度毫无问题,做事情也兢兢业业。公司的技术攻关,经常也是自己牵头搞定。就算是同事,也需要时不时去找自己请教一些技术难题和技术方向。可是,即使这样,在公司技术领域造诣很深的自己,却依然被同事压了一头。
接下来是总结的一些升职加薪的一些非常突出的能力:
尽量努力的多去阅读别人的代码,越多越好
很多程序员都是一样的,他们不喜欢自己公司的很多代码,认为这些代码质量极差,文档也非常欠缺,对自己的成长帮助不大。其实这个观念其实是很有问题的。
对这些所谓“屎山”的代码,你如果全都读进去,研究下去,你起码会有两个好处:
①你能具体知道代码烂在什么地方,那么以后你的代码就不会出现同样的问题——由于你知道了烂代码烂在哪里,你一定能写出更好的代码,从而让那些屎山的代码逐渐会被自己写的好代码所替代。
这样一比较,你的专业能力会显得非常突出,让更多的人认可你这位架构师的能力。
②你对公司这些代码读的越多,掌握的越多,你越不可替代——对公司这些代码读的越通透,你越能更快速轻松地把控这些代码,让以后对这些代码的变革变得更容易。
而轻松修改、革新这些代码的能力,就会变成你在这家公司不可替代性的重要因素。
所以,各种代码,无论质量好坏,都需要能读懂读通,并且读的越多越好。
能读懂读通任何质量的代码,才是真正的掌握了阅读代码的能力。读的越多,则能识别代码质量的能力就越强,将来自己就越能写出更好质量的代码。
能准确判断项目的发展方向
时刻跟着项目,对项目进行无数次总结分析和优化,发展出一套完备的系统,根据用户反馈和市场行情,感知XX系统本身应该是有前途的。并在调研了市面上竞对产品的基础上,让这套监控系统迸发出来了绚烂的色彩。
去主动管理会议
作为公司比较重要的技术专家,大量的会议是免不了的。
- 对第二天的会议提前和参会各方沟通,开会时间尽量协调到一起,这样能腾出一整块儿时间,把当日所有可能的会议都集中开完。后续就会有连续的时间去深度工作了。
- 在开会前一天,把会议内容和可能出现的问题都预先做功课。一方面是防止会议开着开着跑题;二是万一出现争议问题,可以列举出来事先准备的技术方案,这样也能加快会议进度。
- 对于一些不那么重要的会议,态度坚决的避开或者指派别人参加。
版本控制工具的熟练应用
对于版本工具使用不当,会耽误开发人员很多时间。而版本控制工具,即使一些工作多年的程序员,往往也经常会使用不当。
这些不当的使用,会造成许多问题。比如,各种各样的代码冲突、版本重叠,莫名其妙的代码丢失。
对此,每负责一个新项目,都严格指定版本工具的使用规范,花时间对开发人员统一培训版本工具的使用。同时,也会把各种技巧、注意事项、常用命令整理好,放在内部的共享文档中。
这些举措,在实践中可以大大改善了版本控制工具不当使用造成的问题。
不要把解决方案复杂化
有些程序员特别喜欢炫技,这些炫技某些时候会导致整个系统复杂化,最终产出反而不尽如人意。
从纯技术角度,当然会鼓励人们想的越全面越好。但是,在实际落地的时候,你要明白这只是一个公司内部使用的小项目,没必要为了各种概率很低的风险,把明明很小的一个功能给做的很复杂。
针对这种问题,就需要技术 Leader 及早发现、介入,防止出现过度设计、过度开发。
把任务安排的井井有条
对于任务紧急程度的判断经过深思熟虑、实际分析,任务之间的先后顺序,也和任务交付人认真沟通。对一些根本没必要的任务,态度坚决的对这些任务说 No。
不要死板的写代码
很多程序员知识面很宽,基本功也非常扎实。但是,有一种能力,是学校教不出来、面试也不容易看出来的,就是代码能力。
所谓的代码能力,有的是指写代码不出 Bug 的能力,有的是指算法落地能力……但这里想说的,是不写死板的呆代码的能力。
这是什么意思呢?我们都知道,程序员少不了要维护老项目。在维护项目的时候,我们面对各种不断的新需求,经常要去修改代码。
修改代码是个很危险的事情,因为我们修改的代码往往会和别的功能耦合住。改了一点代码,结果影响一大片功能的情况经常出现。
最虐心的是,这种连带影响可能不会马上出现,不知道哪天就突然冒出来折腾一把。
如果改代码经常出问题,这谁扛得住啊!别说你自己的技术话语权了,也别说在职场脱颖而出了,工作能不能保得住都不好说。
所以,对于修改代码的事情,我们需要学会的是不要写呆代码。再说的直白点就是,你不能写完代码运行下没问题就觉得正常了,你在写代码之前需要好好思考。
这种思考,既不是什么搞设计模式松耦合,也不是搞功能切分独立成块。这种思考本质是需要你写代码前去理解业务,去真正明白业务在实际是怎么运作的。
总结
技术只是技术人员的基础,在实际工作中想脱颖而出,除了要有过硬的技术,还需要你的态度、你的各种软实力,需要你把技术转化为实际生产力的能力,这样你才有升职加薪的机会!
最后还有耗时一年多整理的一系列Android学习资源:Android源码解析、Android第三方库源码笔记、Android进阶架构师七大专题学习、历年BAT面试题解析包、Android大佬学习笔记
等等。
以上这些内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。
转载:https://blog.csdn.net/weixin_44339238/article/details/114854031