网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
面试过程(省略了自己介绍):
一面(1小时20分钟)
1.介绍项目(介绍了2个实习+1个项目,主要问了都有什么收获以及技术难点)
2.了解android里的Map么(ArrayMap和SparseArray)
3.了解java的·四种引用类型吗(弱引用一定是在内存不够的时候就会回收么?)
4.讲一讲android中的跨进程方式,并讲一讲AIDL,讲下AIDL的原理(偏原理的东西而不是使用)
5.讲一讲输入一个地址会使用哪些协议,怎么知道的ip地址
6.讲一讲DNS的原理
7.讲一讲TCP里的三次握手
8.遇到过多并发的情况下么,讲下Syncornized的原理,
9.了解线程池么,讲一讲原理,讲一讲其中有哪些参数?对应不同的任务,我该如何去设置这个核心线程数?
10.讲一下不同的锁,syncornized是重入锁么?
11.滑动冲突了解么,知道怎么解决么,给你一个实际的例子,你来讲下该如何去解决这个滑动冲突
12.了解双亲委派模型么,他们的好处有什么,android常用的类加载器你知道么,有什么区别?
13.listView能实现9宫格么
14.聊聊GC吧
15.聊聊HashMap的put吧,为什么 1.8 要树化,什么时候会树化,什么条件下是树化,什么时候会调用resize方法扩容,resize什么原理,如果哈希冲突很多的话会扩容么?
16.给定一个元素,插入到数组中固定的位置
17.了解Glide么
18.Gson的怎么使用,内部使用的是什么原理
19.SP有什么缺点,如果现在让你考虑存储,你会选择怎么去存储呢?
20.ArrayList和LinkedList的区别
二面(1小时)
1.写单例模式
2.顺序的数组,插入一个元素(二分)
3.Fragment的生命周期
4、讲一下消息机制,怎么实现一个线程只有一个Looper
5.讲一下Service的启动方式,有什么区别
6.了解Binder么?
7.聊聊实习中做的东西,提出一些问题,并解答这些问题
8.聊一个实际场景,activity的生命周期是如何调用的
9.对第一份工作有什么期许
10.聊聊RN有关的,有一个怎么样的认识,知道RN有什么不好的地方么?
三面(30分钟)
1.聊聊重载
2.聊聊OkHttp
3.api 和 implement的区别
小结
有了这么多优秀的开发工具,可以做出更高质量的Android应用。
当然了,“打铁还需自身硬”,想要写出优秀的代码,最重要的一点还是自身的技术水平,不然用再好的工具也不能发挥出它的全部实力。
在这里我也分享一份大佬自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅的精品资料。在脑图中,每个知识点专题都配有相对应的实战项目,可以有效的帮助大家掌握知识点。
总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!