专科学院工科毕业,我是如何成为BAT 安卓开发工程师?

Android Camera HAL3 -架构设计 其实从 APP 到 Google HAL 再到 Vendor HAL 的通用 interface,这些地方的架构都是包含在 Android 包里面的,基本上是有迹可循的,在开发的时候即使是什么都不没有提前去了解过,那也没关系,循着代码包里面的代码总是能够找到相关的通路的。但是有一个地方不同,那就是 Vendor HAL 的实现部分,因为这部分是 Camera 平台相关的内容,包含了大量的硬件设备,... 阅读详情

 

15年,我从一个专科学院的工科专业毕业。许多同学毕业后都是在化工厂上班,朝九晚六,拿着微薄的工资。那个时候的自己很迷茫,总觉得未来不该如此淡然无味。一波波得招聘信息里面,最热门也最诱人的是互联网/IT领域。

顺势而为勇者胜。当机立断,我决定转战互联网行业。

不过,那时的我仅仅会一些C语言,投了几十份简历都石沉大海——就我这专业,就我这经验,想要很好的offer应该有点天方夜谭吧,现实也的确给了我响亮的一巴掌。

不服输,我堵上了所有的勇气立志从头开始全面学习IT互联网相关的知识。

生活总是会眷顾有准备的人,不久我还是拿到了一个offer,虽然公司不大,但总算也是对自己努力的汇报。

1.对基础原理不断挖掘

进入公司,我的职位是Linux应用开发工程师,做App网络传输模块,本质上就是把本地的数据通过socket传输到服务端。用到的技术是C语言,网络编程,多线程编程。

那时是最痛苦的几个月,因为非计算机出生,很多东西都不会,经常程序段错误,都不能定位到问题代码。

当时处于试用期间,秉承着不成功则成仁的心态开始恶补相关的基础知识以及代码规范。那时网络上没有现成的视频资料,艰难地把计算机专业的书籍自学了一遍。例如,数据结构与算法,计算机网络,操作系统原理,计算机体系结构……

 

熬过了试用期,产品也上线了,第一次体会到成就感爆棚的感觉。

现在回头看,经验就5个字:原理很重要。很多看起来没用的原理,其实是重要基础。比如:

你能讲清楚函数的调用过程吗?是怎么调用的?怎么返回的?参数是怎么传递的?函数的内存布局是怎么样的?

如果了解这些原理,就可以快速使用各种开源库。可以更快地熟悉各种中间件sdk的使用方法。刚入行技术不求多,熟练掌握一项技术,能把原理讲清楚,拿得出手才有基本竞争力。

2.专注方向

了解技术全貌,做合格架构师

基础仅仅是开始,技术要有应用场景,转化为产品才能最大化地产出价值。

后来,我自学了Android开发,比如UI开发,网络开发。当时也是夜郎自大得以为UI开发就是Android的全部。投递了很多大厂的Android岗位,却没有收到面试邀请。回过头来再做分析岗位需求时,才发现自己技术栈背景确实不匹配,就算进了面试,好多问题也都答不上。比如:

1. 动态化混合渲染技术架构是怎么样?怎么提高开发效能?

2. 产品的DAU有多少,如何保证稳定性高且可用的?

3. 如何跟踪用户行为,利用大数据完善产品功能,降低运营成本?

这些问题让我意识到,语言、UI和原理只是程序员的基本技能而已。

想要进一步发展,不光只考虑个人技术,必须在整个产品生命周期、开发、运维、能效上有合理的架构,进而满足行业的发展需求。你不光需要考虑业务需求如何实现,更多的重心需要关注开发提效,大团队并行开发协作,大流量稳定性保障。

学习Weex技术,Rn技术后,颠覆了我对移动APP开发的认识。如果写native页面,可能一天一个页面,Android iOS就需要2个人日,Weex是跨平台渲染,一份代码可以在Android iOS两个平台使用。那开发一个页面就只需要原来一半的资源。通过新技术合理架构提升研发效能,动态化技术提升发布成本。

无论程序多么完美,Bug永远存在。对于线上故障,如果不能提前预防以及快速解决,损失可能不堪设想。所以线上运维,异常监控,性能监控,数据埋点是优秀架构师的必备技能。

自学的过程是痛苦的,移动端的技术日新月异,很多前沿的技术还没有体系化的书籍,只能在论坛,博客等看零碎的文章,学习效率比较慢。要想高效的学习一线技术,网络课程是一种新的选择。有老司机指导方向,避免走弯路,事半功倍。

3.沉淀经验

适应发展,做技术的领头羊

有良好的技术基础,学会了行业流行的框架,可能只是获得了进入大厂的敲门砖。多少人努力进入大厂,最终默默无闻地进去,悄无声息地出来。没错,平台很重要,但更重要的是你能在这个平台上发展到什么程度。

这个日异月新的时代,不光需要Follow一线技术,更重要的是要引领时代,才能在技术快速发展的阶段不被淘汰,或者才能在下一次技术革命中抓住机会。

如果仅仅只掌握Android本身的技术是不够的,比如说在iot时代有这样一个需求: 做一个APP完成智能硬件的一键WiFi配网。这个就需要对TCP/IP协议栈,WiFi加密,网络抓包等有深入的理解。

所以最重要的是突破当前岗位需求的设限,对各种技术融会贯通,创造新的技术框架,做技术的领头羊,适应时代发展。

技术人成长不能再单打独斗,要学会与人交流,学会将别人的知识为自己所用。如果你依然觉得有些茫然,不如跟有多年Android开发经验的资深工程师聊一聊。

最后附上小编整理出来的Android相关的学习思维导图,让大家有个学习的方向,早日拿到大厂的offer。

 

不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。

如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。

(版权所有,来自网络,如有维权,联系必删!!!)

Android前沿技术 Android前沿开发技术,整套开发视频源码以及开发文档。 立即下载

相关推荐

从零到一:uniPush2.0全链路集成与多厂商通道配置实战

本文提供了uniPush2.0从零开始的全链路集成与多厂商通道配置实战指南。详细讲解了DCloud平台配置、uniCloud云函数开发、客户端CID获取与消息监听,并重点攻克了华为、小米、OPPO、vivo等主流厂商推送通道的配置难点与避坑技巧,帮助UniApp开发者实现“一次集成,全端覆盖”的高效消息推送方案。

onion的博客 435

在北京拿40K的Android程序员,需要掌握哪些技术栈?

现在Android 相关岗位薪资越来越高、涨幅越来越大。 通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【30k~50k】 薪酬的 Android 工程师,占到了整体从业者的 46.2%! 北京 Android 工程师「工资收入水平 」 如果你在中小型公司,其实 20K 左右,几乎已经是个极限,薪资想继续提升很困难。而在阿里巴巴 P7 级别的 Android 技术人员,薪资可以轻松达到 30K - 50K,这还不算股份和年终奖。 但成为阿里 P7 级别的程序员,真的难么?其实也未必

datian1234的博客 480

鸿蒙读书笔记1:《鸿蒙操作系统设计原理与架构》

GUI、 语 音 控 制 方 式 的 VUI(Voice User Interface, 语 音 用 户 界。电话、多媒体、DFX、MSDP(Multimodal Sensor Data Platform,多。面)、手势/姿态控制的CVUI(Computer Vision User Interface,计算。KAL(Kernel Abstract Layer,内核抽象层)通过屏蔽多内核差异,JavaScript、C、C++等多语言的用户程序开发框架,以及UI框架、

jackyrongvip的专栏 2452

Android一些新的技术栈,你都会哪些?

Machine Learning Kit: Google提供了一系列的工具和库,用于在Android应用中集成机器学习功能,例如TensorFlow Lite,使开发者可以构建智能化的应用。ViewModel和LiveData: ViewModel和LiveData是用于处理Android应用的UI层和数据层之间的通信的组件。Coroutines: Kotlin Coroutines是一种用于处理异步编程的框架,使异步任务更加简单和易于管理,可以用于在Android应用中处理多线程任务。

天涯海风的博客 1548

全国职业院校技能大赛-大数据应用赛项-数据挖掘-01

-----------------------推荐Top5结果如下--------------------------------------------第一条数据前10列结果展示为:----------------------------------------相同种类前10的id结果展示为:--------------------相似度top5(商品id:14,平均相似度:0.522356)相似度top1(商品id:1,平均相似度:0.983456)若属于该spu_id,则内容为1否则为0。

Eternity_04的博客 1957

西门子 G120 变频器报文

G120报文

mmxxoo_xxmmp的博客 8094

2024年博客之星主题创作|Android 开发:前沿技术、跨领域融合与就业技能展望

随着技术的不断进步,Android应用开发领域正经历着深刻变革,前沿技术如人工智能、增强现实、5G等技术的不断涌现,为应用开发提供了新动力。跨领域技术的融合创新,如物联网与区块链技术与Android应用的结合,推动了应用的创新与商业模式的变革。面对就业压力,Android开发者应积极拓宽职业路径,探索新兴领域,如IoT、人工智能等,同时掌握Flutter等必备技能,提升就业竞争力。鸿蒙系统的发展也为Android开发者提供了新的就业机会,期待未来能提供更多岗位,促进经济稳步提升。

帅次的博客 7941

Amesim(五):单个悬架系统搭建

一、组成 单个悬架系统组成包括:端子,质量块*2,弹簧,阻尼器,速度路面反馈,路面激励。 二、搭建 打开Amesim,在 library 选择 1D Mechanical 选择质量模块,添加到skech中,并按 ctrl+r 旋转质量块,将箭头朝上,设置规定的力传递正方向 添加弹簧阻尼器,与质量块连接 添加VX模块,将路面的激励传递转化为速度和位移,传递给悬架系统 在...

林小川的博客 7170

Android开发热门前沿知识,这几点经常被忽略,你敢说你都知道?

这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

2401_83817603的博客 722

2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

针对YOLO26模型改进痛点,本专栏整理200+实战验证方法,覆盖卷积层、注意力机制等核心模块。 每种方法含原理、性能分析、改进路径及实操流程,代码可直接运行,快速提升模型效果,性价比超高。

魔改工程师的博客 1万+

YOLOv8损失函数改进大全:从IoU到FocusIoU的20+种变体全解析(附完整适配代码+性能对比)

目标检测边界框损失函数演进与优化 摘要:边界框损失函数是目标检测模型定位精度的关键因素。本文系统分析了从基础IoU到最新FocusIoU的20余种损失函数的演进历程,包括四代主要技术:基于重叠区域的IoU/GIoU,结合距离度量的DIoU/CIoU,优化形状匹配的EIoU/RIoU,以及考虑方向性的SIoU/WIoU/FocusIoU。针对YOLOv8模型,提供了完整的损失函数实现代码和替换方案,实验表明优化后的损失函数在复杂场景下可提升mAP@0.5达3.2%。文章特别对比了不同损失在小目标、遮挡和密集场

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 997

Android开发前景如何?2024年,Android开发者的前行方向

1、应用商城,给与每个开发者足够的诱惑,是公司员工可以业余一展技能的时刻。百花齐放的开发应用,以及如饥似渴的市场,给与了安卓足够的动力。很多人通过上架应用,挂足广告,赚的盆满钵满。这里面比较有名的是反编译加广告,以及rom定制,以cm包为核心。2、Java 语言,让手机开发的门槛,一下子拉到了人人可以触及的阶段,于是各类培训机构,速成班涌现了出来,参差不齐的开发能力,与这个供不应求的市场,相得益彰。

2401_84009130的博客 1698

Python趣学篇:用Pygame打造绚烂流星雨动画

这是一个基于Pygame开发的流星雨动画项目,具有以下特效:🌠多彩流星:8种不同颜色的流星随机生成,每颗都有独特的轨迹✨粒子尾迹:每个流星都带有动态的粒子拖尾效果,增强视觉冲击力🌟闪烁星空:150颗背景星星营造真实的夜空氛围🌌渐变背景:深蓝到黑色的自然渐变,模拟夜空色彩💫斜向轨迹:所有流星都以30-60度角自然斜向下运动🎨中文显示:完美支持中文字体,显示"斜向流星雨来啦!"等文字整个程序运行流畅,达到60FPS的丝滑体验,让你仿佛置身于真实的流星雨之中!

Code_流苏:在代码中寻诗意,在实践中觅真知 6063

找到了一个非常好的安卓开发技术栈导航

最全面的安卓开发技术栈,安卓开发知识点集合。

while(true) 1750

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android前沿技术学习——Compose布局原理+配置布局+四大块技术全方面解析

布局系统的 Jetpack Compose 实现有两个主要目标:一是实现高性能,二是让开发者能够轻松编写自定义布局。在 Compose 中,通过避免多次测量布局子级可实现高性能。如果需要进行多次测量,Compose 具有一个特殊系统,即固有特性测量。注意:使用 Android View 系统时,在嵌套某些 View(如 )时,可能会出现一些性能问题。由于 Compose 可以避免多次测量,因此可以根据需要进行深层次嵌套,而不会影响性能。布局主要包括:布局基础知识、Material组件和布局、自定义布局、Co

m0_71524094的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android 必须最近流行的框架库及开发语言,看这一篇就够了!

本文更新时间:2018年07月12日15:50:40 目录 导语 图片加载库 异步分发通信库 新技术语言 注入注解框架 设计模式 UI框架 网络请求库 日志打印库 logger,简单,漂亮的android和强大的记录器。 权限请求库 SQLite数据库 LitePal,一个Android库,使得开发人员使用SQLite数据库非常容易。 导语 2017...

csdn_aiyang的博客 5万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Android 程序员的技术栈大全

操作系统 Unix / Linux Windows [数据结构与算法](() [Java](() [Java 基础](() [面向对象思想](() [类和接口](() [注解与反射](() [泛型](() [多线程](() [多线程通信](() [volatile / synchronized](() [await / notify / notifyAll](() [线程池](() [线程池入门 Callable 和 Future](() ..

Java364102的博客 3851

Android开发只做UI层的尝试不管干多少年都没有前途?

独立开发过几个产品,说一下自己的见解 基本上有完整经历过一个产品的开发过程都应该清楚UI层是应用开发中最常变的一部分,app开发者绝大部分的时间都花在UI微调上,而业务逻辑基本上需求定下来不会变动太多,除非是产品迭代一些功能性的追加,不然就是不停的堆UI、堆UI,干过两年以上的开发者基本的开发能力已经有了,业务能力也差不多,这时候会遇到瓶颈,基本上就是找不到更加深入的方向 这个时候就可以考...

chuhe1989的博客 893

Android应用开发工程师技术栈

数据结构.png 算法.png Java基础.png 1,Android 应用开发基础.png 2,Android应用开发中阶.png 3,Android应用开发高阶.png 4,Android应用开发技术栈.png

apple_4872330的专栏 899

安卓开发技术栈

安卓开发技术栈 主要从安卓开发基础和进阶两方面论述 基础 Java基础 符号集、数据类型、常量、变量、表达式语句 继承、多态,序列化 Android基础 四大组件及其生命周期 Activity Service Broadcast Receiver Content Provider 基本View的属性和使用,MD设计 事件体系:触摸、滑动、传递 绘制流程:MeasureSpec、Measure、layout、draw 动画机制:逐帧动画、补间动画、属性动画 资源访问,不同语言、屏幕、API适配原理 Handl

weixin_43625376的博客 4084

Android技术栈总结

一、脑图模式 二、架构模式

weixin_33697898的博客 548

两年的android开发感慨

毕业的时候是专科学历,学历的专业是计算机网络,看着周围的同学一个个的回家或者去工作,所以急着找工作,第一份工作是测试工作,当时正好公司在做底层驱动,所以基本的测试也就是测试驱动,不过是移植linux下面的开源的程序,虽然什么也不懂,但是每天都是充实的,那段时间加强了c语言的编程,最后自己也用gtk编写了一个集成的测试开发环境,算是一个结尾,然后开始接触android,当时有一定的java编程能力,

jwzhangjie的专栏 4052

我是双非/三本/专科学校的Android开发,我有机会进入大厂吗?

我是双非/三本/专科学校的Android开发,我有机会进入大厂吗? 我自己也是非985非211学校的,结合自己的经历以及一些朋友的经历,我觉得让我回答这个问题再好不过。 首先,我觉得学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。 企业HR肯定是更喜欢高学历的人,毕竟985,211优秀人才比例肯定比普通学校

weixin_43901866的博客 1013

2019年Android面试必问:Java+性能优化+APP开发+NDK+跨平台技术

前言 金三四银的春天,三月份的尾巴,你是否面上了自己理想的公司,薪资达到心中理想的高度? 还在为理想的生活而奔波在面试的路上吗? 今天给大家分享下我整理的Android面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助! 面试常问的面试专题 一、Java篇 1.多线程并发; sleep ...

weixin_34130389的博客 747
上一篇: HuaWei安卓高管的Android技术分享
下一篇: 三分钟让你搞懂Android架构模式
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值