学习分享
在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021最新上万页的大厂面试真题
七大模块学习资料:如NDK模块开发、Android框架体系架构…
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:
**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。
**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。
**第三,**到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
还问了我做过的App上有一个实现的自定义View问了下实现的思路。
又问了自定义View,三个不同的构造函数的各自作用。
问Scoket和Http最大的区别是什么?
华为面试安排非常紧张,但是反馈效率特别高,一二面结束马上会短信通知是否通过。然后隔天直接三面,流程走的非常快。
三面(40mins)
C/C++基础:inline和define的区别;
volatile的作用,应用在哪些地方,为什么不是所有的变量都用volatile
static变量的特点
操作系统:线程和进程,怎么实现线程的同步
数据结构:对什么排序比较熟悉;二分法查找
现场写程序:一句代码实现,判断一个int类型的数是否是2的幂。2进制,位运算a&(a-1)
做软件测试什么能力比较重要?
白盒测试和黑盒测试的区别。
什么是UT?
问了关于规范、扩展、回调,父类的静态方法能否被子类重写等问题
冒泡排序算法。
虚拟机原理、内存回收机制等。
说说对华为的了解
为什么离职?到华为会不会不习惯?
小结
一首先是三面问C/C++还有操作系统理论知识的时候答得不好,面试官说基础不够扎实。其次是这是我好久没参加过面试,也确实比较紧张。然后手撕代码的时候也是比较紧张的缘故,还有就是不习惯手写代码,导致代码写的也比较乱,划掉的也不少。两位面试官看我写的乱糟糟的都皱了下眉头。
小米、网易面试
华为面试失败的经历,我决定蛰伏一段时间,从新复习备战,针对之前的薄弱知识点进行恶补。幸得小米网易的同学内推, 目前已经收到小米和网易的offer。附上小米和网易的Android面经。
小米面经
rxjava 三大类是什么
String的对象为什么是不可变的
arraymap可能导致什么问题
thread的构造函数是什么
runnable如何创建线程
(创建线程的方式)
有哪些锁?
synchronize和lock的区别
GC root有哪些
队列如何创建、队列在Java中的类是什么
offer是什么(当时问的时候呆了一下,还以为面试官要给我offer了,搞得老激动…然后没答出来…后来才想起他问的应该是队列里的offer方法… )
有什么查找的算法
排序的算法
网易:
sharepreference的commit方法和apply方法的区别
jetpack(viewmodel、lifecycle)
AndroidX有什么好处
Android帧动画会遇到的问题
属性动画和view动画的区别
子线程创建handler
Android达到ANR的条件
recyclerview使用不同的布局
小米和网易的两面都出奇地一致,就是一面专业基础+二面手撕代码,不过[网易撕的是算法题,[小米](/jump/super-撕的是Android的布局代码(给你一个界面,把界面给绘制出来)。撕了代码之后就是聊人生了,为什么要跳到我们公司你期望工作地是广州来北京有没有什么问题、对加班的看法、实习期间团队间如何交流、实习项目是什么如何实现…(当时的我一头雾水,这不应该是HR来问的???后来HR也来面了,不过问了下薪资、入职时间就发offer了…)
面试华为被拒后,我是如何拿下小米、网易offer?
(1)第一步是关键:调整心态
由于华为面试没有通过,所以多少都受到了一些影响,所以接下来的面试中,最关键的一步就是要调整自己的心态,以防被自己的消极心态所影响,因为一旦从心底否定了自己,面试过程中就容易出现语言不流畅、说话没逻辑、条理不清晰、回答不全面,这都是面试中很多面试者容易出现的“致命伤”,所以调整心态,沉着冷静地面对是非常重要的。
(2)第二步要梳理:Android核心知识点(25天时间,读完这本pdf)
关于第二步要梳理,实际上就是面试过程中,发现自己的知识储量是比较杂乱的,不知道面试官下一个会问什么,所以对于Java 的知识点有一个清晰的梳理是很有必要的。关于Java核心知识点,手上也有一本整理好的pdf文档,需要这份文档的可以直接我私信获得~
这份文档涵盖了很多知识技术点,囊括了Activity、数据储存、屏幕适配、消息机制、线程异步、webview、进程、ipc、数据储存等大量知识点,每一个知识点都有非常详细的解析。
最后
Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。
人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。
资源持续更新中,欢迎大家一起学习和探讨。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
获取](https://bbs.csdn.net/topics/618524047)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!