导航:首页 > 编程语言 > rxjava20官网

rxjava20官网

发布时间:2023-05-20 06:03:23

① 13k到25k,我的Android跳槽之路

我是双非本科15年毕业的,毕业之后就一直在做Android相关方面的开发工作,到18年经历了两家创业公司,一家工作了不到半年老板就跑路了,一家工作到18年初,因为运营不当倒闭了(一度怀疑自己是不是去哪家公司就得哪家倒闭)。自上家公司倒闭后,只身来到深圳寻求发展,因为之前待的小公司不是老板跑路,就是公司倒闭,所以这次就想找个大公司,想稳定一点,时大公司技术底蕴也比较强,想多学习学习,提升自己。前后大概经过了1个月左右,找到了一家公司,虽然不是大厂级别,但我所在的技术团队也有大几十号人,相比于我之前的经历,这应该也算得上大公司了,然后一直待辩返到了今年5月份。

大公司和小公司真的不一样,我以前一直在小公司做开发,一个同时开发几个app也是比较常见的。在大公司里面,充斥着各种规章制度,流程规范价值观的衡量,kpi考核等。同时个人做的事也比较窄,因为大公司要求的深度而不是广度,人多,各人负责自己的那一方面,我在里面主要做一些业务需求的迭代开发,整体而言不算很难,属于比较养老的。在这家公司我待了大概2年3个月的时间。以前我一直念念想找一家大公司,可是等我真正进去了以后才发现,其实不是我想的那样,你要是被分进了核心项目组的话那还好说,如果在边缘项目组的话,结果那就不好说了。KPI考核这个东西,好坏还真不好衡量。就像阿里的325一样,有的时候因为这个KPI,愣是把人搞成了抑郁症。

跑题了,跑题了。还是说回自己跳槽的原因,马云曾说辞职原因无非有:第一,钱没给到位,携宽饥第二,心受委屈了!我的原因更倾向于前者,在这家公司公司待了2年半,活不多,但由于岗位原因,自己的技术方面和工资方面一直都没有太大的涨幅,同时也因为其他一些原因,我在今天5月初疫情高峰过去后选择了裸辞。然后准备了2个月,在7月份的时候开始投简历找工作。虽然疫情已经过去一段时间了,但还是能感受到疫情对IT行业的影响的,从投简历就能看出来,招人的需求不多,投了简历,公司回应也不是很积极。从投简历,到约公司面试,到最后入职的话花了2个月左右的时间,下面我就记录以下具体的经历。

面试的公司从几个人的小公司到几万人的大公司,从不出名的小公司到BAT和宇宙条都有,我面试的公司主要有,TourABC,7猫,哈啰出行,360金融,触宝,商米科技,比心陪练,传音控股,毒APP,爱奇艺,B站,阅文集团,饿了嘛,阿里巴巴,今日头条等比较出门的一些大公司,同时我还面试了一些比较小的的公司,不出名,前后大概有20家左右吧,通过率大概在50%左右,不过最后因为薪资的问题没有谈拢,所以就拒绝掉了。怎么说呢,我出来上班,首先考虑的是薪资,比较都要先活着再谈其他的。不过有的公司薪资虽然达到了,但是因为做的东西跟我预期的不一样,所以也拒了。还有一些大公司,像宇宙条,阿里,腾讯的,就是我自身问题了,能力达不到他们的要求,被拒了,这也很正常,毕竟能进去的也是少部分人,大多数的还是比较普通的。

一开始我是找的关于应用层的开发,但是发现需求很少,现在Android面试找工作的方向一般有应用需求开发,系统framework研发,音视频开发,基础架构开发,跨平台开发等几个方面,从这次找工作来看,除了应用需求开发以外,其他的几个方面的需求还是比较高的,但同时要求也很高,并不是说你会使用MVP+Rxjava+Retrofit+Dagger2+Glide+Jetpack+Flutter+RN等技术点就可以了,现在一般公司都要去你懂原理,了解技术巧衫实现细节了,现在市场上对于初中级的Android开发要求比较少了,更多的是对于高级研发的需求量比较大,所以对于Android研发的人而言,需要加强自身的硬技术,有过硬的技术就不怕找不到好工作。
因为这次疫情的影响,找工作都是电话面试和视频面试。基本上一面是电话面试,二面三面的是视频面试,一般是在牛客网等平台开一个面试房间,有的公司需要在线coding的,要求比较高。我从投简历到约公司面试,大概面了十几家公司,我每次面试完一家公司都会做个总结,把涉及到的内容都记录下来,同时不会的也会去恶补一下,都整理成相关文档,现在详细记录以下我的面试内容,供有需求的同学参考参考。

面试的范围主要涉及Java基础,Android相关的,数据结构与算法,计算机网络等几个方面。下面依次列出所问的问题:

Java部分

Android 部分

网络部分

其他关于每家公司问的面试内容具体我整理成了一个文档,需要的可以随手点赞+任意评论后,私信我获取领取方式。

这是我自己总结出来的面试问题答案,每次面完都会查漏补缺。

文档获取方式:点赞+任意评论后,私信我获取领取方式!

总共面试了将近20家公司,大概可以的有40%~50%左右,不过有的公司因为薪资达不到自己的期望,所以拒绝了,有的公司要求比较高,我没有达到他们的期望也被拒绝了,最终选择了一家中等规模的公司,主要做基础架构部分的内容,他们家的app,用户量达到5000万左右,日活也有几百万,进去主要做性能优化这方面的,比较符合我的预期,所以就选择了这家,目前已经上班2个月了,一切都还满意。

② Android大厂面试经验分享(OPPO,字节,华为,阿里)

我是从小公司跳出来的,最终入职OPPO,说实话这段时间的经历让我深深地感受到,我们为跳槽做的一些临时抱佛脚的提升跟那些大佬的沉淀比起来太渺小了。我们都知道找资料学习、刷面试题,但也许只能应付这一次的面试,后面还是会技术发愁,那些短时间背下来的东西迟早会忘掉, 大家还是做好长期提升自己的准备,好好沉淀的东西最后才是属于自己的。

说说当时的面试过程,我是内推获得的面试机会,很感谢当时帮我内推的兄弟,总共三轮面试,两轮技术,一轮HR面,当天面试结束。

我10:10分到的公司,10:30开始面试,第一轮面试将近一个小时,聊的点我基本上都答得上来,自我感觉良好。然后面试官让我等一下,他去叫他们老大来给我二面,我等了有二十几分钟吧,二面有一个多小时,这次问的比较深,有些地方答的有些嗑吧,总体来说我自己是满意的。HR面约到下午了,整个流程下来每轮面试官都让人感觉很不错,我自己做的准备也让我面试感觉下来很爽。

我把面试遇到过的以及自己学习用到过相关内容都整理到一起了,方便自己进行复盘和后续的查漏补缺:

一、 Java基础

1.1 静态内部类和非静态内部类的比较

1.2 多态的理解与应用

1.3 java方法的多态性理解

1.4 java中接口和继承的区别

1.5 线程池的好处,详解,单例(绝对好记)

1.6 线程池的优点及其原理

1.7 线程池的优点(重点)

1.8 为什么不推荐通过Executors直接创建线程池

1.9 不怕难之BlockingQueue及其实现

1.10 深入理解ReentrantLock与Condition

1.11 Java多线程:线程间通信之Lock

1.12 Synchronized 关键字原理

1.13 ReentrantLock原理

1.14 HashMap中的Hash冲突解决和扩容机制

1.14 Java并发

1.15 Java虚拟机

1.16 JVM常见面试题

1.17 JVM内存结构

1.18 类加载机制/双亲委托

二、 Android基础

2.1 Activity知识点(必问)

2.2 Fragment知识点

2.3 Service知识点

2.4 Intent知识点

2.5 数据存储

三、UI控件篇

3.1 屏幕适配

3.2 主要控件优化

3.3 事件分发与嵌套滚动

3.4 动态化页面构建方案

四、网络通信篇

4.1 网络协议

五、架构设计篇

5.1 MVP架构设计

5.2 组件化架构

六、性能优化篇

6.1 启动优化

6.2 内存优化

6.3 绘制优化

6.4 安装包优化

七、源码流程篇

7.1 开源库源码分析

7.2 Glide源码分析

7.3 day 20 面试题:Glide面试题

7.4 聊一聊关于Glide在面试中的那些事

7.5 面试官:简历上如果写Glide,请注意以下几点…

7.6 Glide OOM问题解决方法汇总

7.7 LeakCanary源码分析

7.8 OkHttp源码分析

7.9 okhttp连接池复用机制

7.10 okhttp 流程和优化的实现

7.11 一篇让你受用的okhttp分析

7.12 OkHttp面试之–OkHttp的整个异步请求流程

7.13 OkHttp面试之–HttpEngine中的sendRequest方法详解

7.14 OkHttp解析大总结

7.15 Okhttp任务队列工作原理

7.16 Android高频面试专题 - 架构篇(二)okhttp面试必知必会

7.17 Android 网络优化,使用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成

7.18 Retrofit源码分析

7.19 RxJava源码分析

7.20 RxJava原理与源码分析

7.21 RxJava如何进行线程切换的?

7.22 Rxjava内存泄漏防止方案——RxLifecycle,AutoDispose,RxLife框架

7.23 Tinker源码分析

7.24 ARouter源码分析

7.25 Android框架层源码解析

7.26 算法设计

八、新技术篇

8.1 实战问题篇

九、面试篇

9.1 开源文档

9.2 面试文献

以上就是我的学习和面试积累,有自己面试经历过的,也有整理的一些大厂面试题,篇幅有限,具体内容就不展示了,我已经整理成文档了。

还是开头说的,仅靠面试期间临时抱佛脚和刷题对自身发展不是长久之计,做好长期提升的规划,好好沉淀每一次的学习和面试经历,把这些最终都转化成属于自己的东西才是实质上对自己最有用的。

③ GitHub上面有哪些经典的java框架源码

④ rxjava如何定时发送请求

项目进行的过程中有个需求是在20秒内每秒请求一次数据,请求成功的json中有个字段,如果有这个字段代表请求成功,如果没有则继续请求,直到20秒结束,20秒结束则失败
本来最开始采用countDownTimer来做,很简单就搞定了,但是项目引进了rxjava,那肯定得用rxjava试一试啊
好东西不能错过
直接上代码,并不难
class FourthActivity : BaseTitleActivity() { private var mDisposable: Disposable? = null
private var flag: Boolean = false
private var count: Long = 0

override fun getChildView() = R.layout.act_four override fun initData() {
requestDataByNet()
} private fun requestDataByNet() {
Observable.interval(0, 1, TimeUnit.SECONDS)//设置0延迟,每隔一秒发送一条数据
.take(20)//设置截取前20次
.doOnSubscribe(object : Consumer<Disposable> { override fun accept(t: Disposable?) { [email protected] = t
}
})
.flatMap(object : Function<Long, Observable<TaoBao>> { override fun apply(t: Long): Observable<TaoBao> {
count = t //请求数据的操作
return RetrofitFactory
.getInstance()
.taobao("http://baobab.kaiyanapp.com/api/v4/rankList")
}

})
.compose(compose(this.bindToLifecycle<TaoBao>()))
.subscribe(object : BaseObserver<TaoBao>() { override fun onHandleSuccess(t: TaoBao?) { if (count == 10L) {//模拟获取到该字段数据
flag = true
if (flag) {
mDisposable?.dispose()
}
} if (count == 19L) {
showToastBottom("获取数据失败")
}
showToastBottom("成功=" + count)
}

})

}
}

阅读全文

与rxjava20官网相关的资料

热点内容
抖音小店的访客数据怎么看 浏览:670
怎么把c语言编程的字符向下移动 浏览:786
sql删除文件组代码 浏览:978
安卓post请求多重json 浏览:776
微信消除数据怎么恢复 浏览:918
小米刷机显示系统找不到指定文件 浏览:528
苹果手机小风扇图app叫什么 浏览:292
繁体中文输入工具 浏览:916
pc桌面壁纸文件夹 浏览:473
微信怎么添加群 浏览:781
40岁男人适合的微信名 浏览:925
编程里比例怎么打 浏览:215
苹果12两个app如何分屏 浏览:592
ps下载完不是压缩文件 浏览:362
电脑中的个人文件包括什么 浏览:572
网络连接一般什么密码 浏览:199
java定时器quartz实例 浏览:259
稻壳excel文件太大怎么弄 浏览:901
文件里的视频如何保存到相册 浏览:428
手机百度云文件电脑 浏览:957

友情链接