android开发技术!揭秘ARouter路由机制,含BATJM大厂

2023-11-23 19:30

本文主要是介绍android开发技术!揭秘ARouter路由机制,含BATJM大厂,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

**一年中第一段跳槽高潮就要来了,**看到同事一个个离职,又有一部分同事已经找到满意的工作,于是自己也盲目的开始面试起来(期间也没有准备充分),日夜奔走,简历投了很多家公司,然后就是一连串的面试蜂拥而来,但是很大一部分似乎技术面试还没有准备好,肚子里没有足够的存“货”,可能被面试官问到某个新的知识点或者你没有准备好的,而准备不充分的面试,完全是浪费时间,更是对自己的不负责(如果title很高,当我没说)。 今天给大家分享下在跳槽时需要准备的Android面试宝典,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式。

1:入门阶段

刚进入这个行业的时候,是通过“关系”进了长沙一家小公司,到现在还记得公司是在一个破旧居民楼的5楼,公司的主营业务是做企业网站开发,我负责html和js,除了老板外,加我一共3个开发者,经过2个月左右的时间,我对html和js已经感觉“炉火纯青”了,任何复杂的页面都能做得出来,现在想来,当时那些页面又有什么复杂的?

虽然年少轻狂,但毕竟对数据库,后台框架整不明白,当时想法简单,如果要成为一个“高手”,一个月薪3k的“大神”,那就必须要掌握一个企业网站开发的全部技术;请教同事得到的答案是,网上有很多学习资料;网上确实也有很多学习资料,印象非常深刻的是,当时看了一套java视频,就是教怎么用当时流行的框架SSH(Spring,Struts,Hibernate)搭建一个web站;经过一段时间的学习,我发现那些代码真的非常简单,无非就是将一些jar包引入到项目中,然后怎么去处理一些冲突之类的;

当我能够将公司项目以SSH的方式自己进行完整开发时,我开始膨胀了,技术在手,天下我有,第一个目标就是进军深圳;通过“降维打击”来获取至少4k的月薪,从而一举超越公司月薪3k的大神;从只会html/js到整体的web站搭建耗时大概半年左右。

2:沉重打击阶段

2010年中下旬,我踏上了南下去深圳的列车,心情非常的兴奋,满脑子想的都是电视剧般功成名就的片段;但真正开始在深圳面试后,打击就接踵而来,在深圳面试的一个月内,大概至少去了25家以上的公司,有时候一天甚至有3家面试,前期的面试是让人兴奋的,甚至觉得今天面的不错,肯定会给我offer,但随着时间的推移,所有的兴奋都转变成焦躁不安,没有一家面试有结果,一个月后,焦躁不安已经变成心灰意冷,夜晚的深圳再繁华又如何?

凌晨两三点只能靠着香烟和励志电视剧激励自己,当初雄心壮志来,能灰溜溜的回去?在反省的过程中,想起某家著名外包企业的面试,当时的技术面试官面完我之后说了一句话:我感觉你做的这些项目都是依葫芦画瓢的;

当初我之所以敢来深圳,就是认为我拥有的技术已经能够帮助企业做网站了,至于我怎么做的,为什么要关心呢?我不得不开始重视这个问题,之后在找工作的期间也不停的看面试题,看不懂的,就去百度查,一个一个的查,经过我不懈的努力,终于在来了深圳差不多两个月之后,选择了放弃;是的,我依然没有找到工作,不是所有的努力都会有回报;我放弃了;

落魄无助且心灰意冷的我,回到了破旧居民楼收拾行囊

3:稳定成长阶段

但,并没有完全放弃,我厚着脸皮寻求一个在佛山工作的同学,他建议我去广州试试,因为真的没有退路,又不甘心,最终决定去广州,给自己最后一次机会,也是最后一个月时间;如果事情不能如愿,就当我真的不适合软件这个行业;我还是幸运的,在广州临近自己设定的最后期限还剩几天时,终于得到一个offer,月薪3000;喜极而泣,真的是喜极而泣!

上天眷顾,也庆幸自己还是再坚持了一个月,回顾这次拿offer的过程,运气成分99%,面试过程中基本没问我太多技术问题,就大概问了一下我之前的工作内容,都是怎么做的,可能也是因为我开的薪水还算低,所以幸运的进去了;

如果还是面试大量技术问题,我想可能能够进入公司的机会依旧不大;

进入这家公司后,我变得小心翼翼,生怕自己好不容易得到的工作会因为自己的失误而丢掉;

因为之前的连续打击已经将我所有的信心粉碎;在这家公司大概工作了一年左右,学习到了很多的东西,尤其是对于项目的认知,以前单纯的认为能够用ssh搭建完整网站就已经能立于不败之地;

但这家公司开始让我头脑清醒了,公司当时的业务有三套系统,一套面向普通用户,一套面向入驻机构,还有一个管理系统给公司内部员工使用,而且员工管理系统还能间接的管理商家系统;而我当时负责的就是最简单的公司内部员工的系统,由于公司使用的cto开发的自有框架,不得不承认,刚开始只能依葫芦画瓢的去完成一些功能;

在工作了大概3个月之后,为了防止自己永远只会依葫芦画瓢,就主动请缨希望能够加入到面向普通用户的web站开发,并在这个过程中努力去学习(过程很苦,不表了)…

在这家公司工作一年后,觉得广州相对于上海,北京以及深圳来说,工资会稍微低一点(并没有数据证明,纯属个人感觉,虽然一年后薪水已经涨了1k,但跟身边同样做一行的人相比,感觉还是差很多,现在看来,其实也就3k左右的差距,但当时就觉得这个差距真是天上地下,无奈眼界有限),于是萌生了离职去上海的想法,离职之前我花了好几天的时间考虑,这次我所拥有的技能是否有底气支撑我找到一份不错的工作,而不是靠运气,思量再三还是决定试试,不错的是,对自己的评估还算ok,在上海只花了一周的时间就找到了工作,而且还是去的银联,第一次见识到大公司,觉得非常不错,薪水对于我当时来说也很不错,7k左右,而且工作的内容也比较有意思,开始去做一些银行的管理系统,还有pos机的对账系统;

那一段时间进步也比较不错,尤其想象了一下,如果我的简历上出现银联两个字,身价肯定会再涨一些,不过以现在的角度去看,其实大部分也是属于“业务上”的成长;

4:转型阶段

在银联并没有工作多久,估计在半年左右,突然又感觉自己停滞不前了,由于Android跟ios异军突起,朋友所在的公司,前同事所在的公司都在招Android工程师,而且开出的价位基本都是在7.5k-12k左右,第一次感觉自己离月薪过w这么近,于是考虑了几天,开始转行Android,主要考虑有三点

  • 未来如此发展下去,社会可能会出现人手一台电脑,一台手机的“盛况”,但真正能够随身携带的一定是手机
  • 就算有一天转行Android失败了,毕竟是java语言,我依然能够回来继续做java;
  • 如果想要成为java行业的大牛,需要时间沉淀,还需要好项目的锤炼,到底什么时候才能成为大牛呢?如果我现在加入Android,我就差不多是首批开发者,那么Android一旦发展起来,作为Android开发首批,我就不信以自己的能力成不了android届的大牛;

于是每天在去浦东的上班路上,开始看Android相关的书籍,花了1个月左右的时间全部看完,并且开始搭建环境,构建自己的hello world;为了让自己有更多的训练机会,也开始在一些移动社区里面活跃,也会免费做一些android客户端以及官网教学文章的翻译等等,这个过程中认识了很多其他大牛,很多也是从java转到android的,这些大牛后来都成为了我的朋友,但最大的收获在于,我对于android不再是一个简单的demo开发者,而是有实战经验的人;这个学习过程并不特别苦,相反还挺兴奋的;

5:进阶阶段;

凭借着java以及Android的技术,我又回到了广州,这次去广州是因为觉得自己应该能拿到自己理想中的薪水,并且离老家近,事实也差不多,这时候已经接近2013年,在距离我真正踏入社会快3年之际,第一次感受到拿offer原来这么容易,大概面了6-7家公司,给offer的就有3个,薪水差别其实并不大,基本都在8-9k的样子,对于广州来说,能够拿到这个薪水还是相当不错的;

于是进了一家做社交产品的公司,老板对于产品的期望,其实我当时是不在乎的,我在乎的是,如果这个项目能够被我带下来,身价一定能再涨一波;虽然在这家公司的工作过程中有一些不愉快(不但要负责技术,还要负责销售),但最终还是坚持做了下来。

从最开始的一个人开发,后来最多的时候带3个人一起开发,里面几乎所有的代码都跟我有关系;一年之后,我选择了再次跳槽;

而这一次我的目标变得异常的明确,月薪过w,而且要求是税后;在这家公司,我最大的收获是,开始明白了一些之前做java都不曾明白的一些后台系统架构问题,也明白了关于职业发展的路径,因为在做这个项目的时候,我发现即使是我们的技术总监也有一些架构方面的问题无法把握,最终还是在某上市公司的技术部门请了一个技术顾问(年纪大概在40岁左右),他来我们公司没有写过一行代码,因为他还带来了一个他的“助手”,他只负责画图出方案,具体的后台核心代码由技术总监和他的助手完成,那是我第一次知道,原来技术还能以这种形式挣钱;

6:成熟阶段

凭借着对于社交项目的把控,以及对系统架构方案的理解,去了北京,在去北京的列车上,耳机里一直听着周杰伦的《一路向北》,当然不是纯伤感,而是想着自己工作了这么多年,突然有一种真的要实现一个“小目标”的感觉;有点兴奋,又带点“文艺青年”的装x范;

当然,在北京找工作也非常的顺利,甚至还拒绝过一些看上去都比较诱人的offer,比如在西二旗附近有一家公司希望我能带领整个移动部门,但是薪水只是勉强过w,还达不到真正意义上的税后过万,于是选择了放弃;也有一些公司希望我既做android开发又做java开发,我也拒绝了,因为根据以往的经验,我深刻的认识到,技术可以横向发展,但深度一定要有;

最终进入到一家孵化器公司,开始负责android端所有的研发,在这家公司突然发现项目相关的问题再也无法困扰我了,因为技术方案都能按照之前的想法进行实现,改良;第一次由衷的感觉到,原来做技术也可以如此轻松;虽然有时候会加班,但至少不会被一个问题困扰在某处长时间得不到解决,被上级催促;至此,关于之前也会有的一些想转行的想法,随着能力的提升,就不再是问题了;

7:新的迷茫与机会

在孵化器因为表现尚可,薪水一直比同行业的要高出些许,大概干了2年之后,公司的发展陷入瓶颈,老大带着我们集体跳槽去了另外一个大公司,薪水更高,福利待遇更好,时间更加自由,那种工作状态,可以用一句话总结–如果这家公司能够许诺一直让我干到退休,我愿意在这里当一辈子咸鱼,因为实在是待得太舒服;

这样的状态大概持续了一年左右的时间,突然又觉得,这样下去人可能废掉,毕竟软件行业技术更新速度太快;而且不管多高的薪水,只要你连续拿几个月,就会开始对这个薪资“无动于衷”,个人认为,当你遇到问题的时候,就去找一些解决方案,写在纸上,如果你面前出现多条路,选择难一点的那条,往往能够给你带来意想不到的收获;

于是离开了一直罩着我的老大,去了另外一家公司创业,而之所以能去这家公司,也是因为在孵化器时候认识的,他觉得我做事还算靠谱;

所以,在工作中,要注意,你永远不知道你的某个同事会不会突然变成你的老板…;

最后

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

需要资料的朋友可以点击我的GitHub免费领取

%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)

这篇关于android开发技术!揭秘ARouter路由机制,含BATJM大厂的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420202

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

负债不再是障碍?银行信贷“白名单“揭秘

谈及银行信贷产品,常闻有言称存在无需考量负债与查询记录之奇品,此等说法十有八九为中介诱人上钩之辞。轻信之下,恐将步入连环陷阱。除非个人资质出类拔萃,如就职于国央企或事业单位,工龄逾年,五险一金完备,还款能力卓越,或能偶遇线下产品对查询记录稍显宽容,然亦非全然无视。宣称全然不顾者,纯属无稽之谈。 银行非慈善机构,不轻易于困境中援手,更偏爱锦上添花之举。若无坚实资质,即便求助于银行亦难获青睐。反

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存