在外包公司从Java后端干到安卓开发,你醒醒吧!

多年的工作,接触过不少有外包背景的同事。可以确定的是,但凡有点职业理想的程序员,都对外包行业敬而远之。

不完全是因为它前途晦暗,更多是来自职业心理上的抗拒。程序员圈还是很看出身的,一般的外包人员,在有品牌独立项目的内行人眼里,就是low人一等,堪比野鸡。

但我们也不能因此把它贬得一无是处,凡事都有其两面性。

外包对于非计机系、培训转行、自学编程的程序员,可谓是最不坏的跳板。

一、放得很低阶的门槛,让教育背景、专业背景不够看的新人,有入行的机会。

二、丰富的业务场景,帮助新人快速地完成基础开发经验的积累,熟悉主流项目的全流程。

三、大厂镀金,一些自我包装精良的中小外包公司,常能接到诸如「微软」「腾讯」「阿里」「华为」的大单。虽然是外包,但往后写在简历上,至少是一流大厂的名号,比那些三四流的小公司项目经验强不知强多少个量级。

而且顶级互联网公司,就那么几家,80%的程序员简历上都是些名不见经传的公司。所以到头来,跟大多数人比,程序员的核心竞争力还是看谁的项目经验牛逼点。

再者,据做过微软外包的朋友透露,大厂对外包项目的合同条款极其苛刻,阶段性验收出点问题,都要扣款的。所以他常常被其高标准整得焦头烂额,通宵达旦,但每次完整交付项目后,都感觉自身技术水准有了质的飞跃。

之前我就提到过这个问题,在现在这个阶段,公司之间的技术鸿沟已经非常明显,开发者身在其中,也因为自身学习能力,环境,项目等等的差别,技术上的差距越拉越大,造成了工作几年之后的两级分化,并且这种差距的拉开不是靠自己的努力就能弥补的。在前段时间面试了一个在某一线手机厂商做App的同学,985出身,工作3年,目前也是公司的核心骨干,跟我说了他做的很多UI上的优化和重构工作。他们的App团队大概是4,5个人,看的出来他已经在力所能及的范围内努力做到最好,可惜,受限于团队规模,支持力度和技术储备,他的天花板来的太快,做的不够深入,技术能力也不够全面。

那面对这种情况,作为开发者,我们能做的是什么?最基本的,脱离舒适区,不停磨练自己的技术。举我自己的例子,刚进公司的时候我主要做的是UI,平时搞一些页面上的优化,解决一些小BUG和ANR,做的还算不错;因为之前做的不错,也因为方向变化,大半年之后我开始切换到做视频下载,后来又开始做视频播放,一年半多时间里跟我的导师把空间播放器和下载器推倒了重做,到现在各项指标都很不错。刚开始切换的时候很痛苦,音视频领域入门有一定门槛,项目压力非常大,之前又完全没有接触过。那段时间不知道多少次15楼南区半夜和假日只剩我跟我导师两个人在公司加班,可现在想想也确实是成长最快的时候。这块做的差不多了,今年又开始做编解码,继续在音视频这块深挖下去。所以就是这样,技术不行就深挖技术,觉得环境束缚了你就尽快跳槽,保持自己足够的竞争力。或许一次跳槽还没有办法改变什么,但这是一个量变产生质变的过程,一份不断向上的简历也能为你敲开很多公司的大门。

我在一线互联网企业工作近十年,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android性能优化、音视频开发、NDK技术、组件化插件化热修复、常见源码分析等学习路线分享出来。

希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在Android开发道路上学习和发展~

应用层开发

Android原生开发,需要重点关注的依然主要是各种性能优化,启动速度,耗电量,流畅度,网络优化再到大厂项目实战,这些都是作为一名优秀Android开发具备的基本素养。

  • 启动速度

  • 流畅度

  • 抖音在APK包大小资源优化的实践

  • 优酷响应式布局技术全解析

  • 网络优化

  • 手机淘宝双十一性能优化项目揭秘

  • 高德APP全链路源码依赖分析

  • 彻底干掉OOM的实战经验分享

  • 微信Android终端内存优化实践

以上资源均免费分享给大家,内容均放在了开源项目:【Github】,大家可以自行获取。

音视频开发

幸运的是我们生活在一个好时代,科技在这几十年得到了迅猛的发展。在疫情肆虐的当下,我们可以通过音视频会议进行远程办公;我们还有在线教育系统,对于大多数学生来说,完全可以在家进行在线学习。

从某个角度看,这次疫情虽然导致很多行业处于崩溃边缘,但也催生了新的行业发展,其中音视频会议和在线教育就是因疫而起的行业。在疫情短时间内难以结束的情况下,音视频会议和在线教育的重要性马上体现了出来,新的沟通方式和教育方式被越来越多的人所认知,所接纳。

甚至我们可以判定,在线教育行业和音视频会议行业会在今年崛起,并在未来十年得到迅猛发展。

如何学习音视频开发
一,初级入门篇:

一 绘制图片

1. ImageView 绘制图片

2. SurfaceView 绘制图片

3. 自定义 View 绘制图片

二、AudioRecord API详解

image

三、使用 AudioRecord 实现录音,并生成wav

  • 创建一个AudioRecord对象

  • 初始化一个buffer

  • 开始录音

  • 创建一个数据流,一边从AudioRecord中读取声音数据到初始化的buffer,一边将buffer中数据导入数据流。

  • 关闭数据流

  • 停止录音

四、用 AudioTrack 播放PCM音频

1.AudioTrack 基本使用

  • MODE_STATIC模式

  • MODE_STREAM模式

2.AudioTrack 详解

  • 音频流的类型

  • Buffer分配和Frame的概念

  • AudioTrack构造过程

3. AudioTrack 与 MediaPlayer 的对比

  • 区别

  • 联系

  • SoundPool

五、使用 Camera API 采集视频数据

1.预览 Camera 数据

2.取到 NV21 的数据回调

六、使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件

1.MediaExtractor API介绍

2.MediaMuxer API介绍

3.使用情境

七. MediaCodec API 详解

1.MediaCodec 介绍

2.MediaCodec API 说明

3.MediaCodec 流控

  • 流控基本概念

  • Android 硬编码流控

  • Android 流控策略选择

由于文章篇幅受限,剩余内容过多,文中插图有限,下文只能截图目录展示:

二,中级进阶篇:
  • Android OpenGL ES 开发(一): OpenGL ES 介绍

  • Android OpenGL ES 开发(二): OpenGL ES 环境搭建

  • Android OpenGL ES 开发(三): OpenGL ES 定义形状

  • Android OpenGL ES 开发(四): OpenGL ES 绘制形状

  • Android OpenGL ES 开发(五): OpenGL ES 使用投影和相机视图

  • Android OpenGL ES 开发(六): OpenGL ES 添加运动效果

  • Android OpenGL ES 开发(七): OpenGL ES 响应触摸事件

  • Android OpenGL ES 开发(八): OpenGL ES 着色器语言GLSL

  • Android OpenGL ES 开发(九): OpenGL ES 纹理贴图

  • Android OpenGL ES 开发(十): 通过GLES20与着色器交互

  • 使用 OpenGL 显示一张图片

  • GLSurfaceviw 绘制 Camera 预览画面及实现拍照

  • 使用OpenGL ES 完成视频的录制,并实现视频水印效果

高级探究篇:
  • 深入学习音视频编码,如H.264,AAC,研究使用开源编解码库,如x.264,JM 等

  • 深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4

  • 深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等

  • 将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器

  • 将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能

  • 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能

音视频编解码技术

  • 音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准

  • 音视频编解码技术(二):AAC 音频编码技术

流媒体协议

  • 流媒体协议(一):HLS 协议

  • 流媒体协议(二):RTMP协议

多媒体文件格式

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

结尾

如何才能让我们在面试中对答如流呢?

答案当然是平时在工作或者学习中多提升自身实力的啦,那如何才能正确的学习,有方向的学习呢?为此我整理了一份Android学习资料路线:

这里是一份BAT大厂面试资料专题包:

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划。来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

升自身实力的啦,那如何才能正确的学习,有方向的学习呢?为此我整理了一份Android学习资料路线:

[外链图片转存中…(img-wStjnWrg-1711949667694)]

这里是一份BAT大厂面试资料专题包:

[外链图片转存中…(img-uxZo6DvC-1711949667695)]

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划。来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值