前言
在如今这个充满竞争的就业市场中,能够成功获得阿里、字节跳动等大厂offer,无疑是众多求职者的终极梦想。然而,这个目标的实现绝非易事,它需要求职者具备深厚的技术功底、丰富的项目经验以及卓越的面试表现。今天,我有幸与大家分享自己成功获得一些大厂offer的经验和心得,希望能够帮助正在求职的同学们提供一些有价值的参考和指导。
要想成功拿下大厂offer,首要的关键是全面提升自身的技术能力。大厂对应聘者的技术要求非常严格,要求求职者拥有扎实的编程基础,深入理解和熟练运用各种算法和数据结构知识。同时,还需要对常用的开发框架和工具了如指掌。因此,对于那些渴望进入大厂的求职者来说,不断地学习和实践是必不可少的。
除了技术能力的提升,面试技巧和准备也是成功拿下大厂offer的关键因素。面试是整个求职过程中最重要的一环,需要充分准备,掌握常见的面试问题和答题思路。同时,还要注意面试礼仪和表达能力的提升,让自己在面试中能够充分发挥自己的优势。
小小面经
开始面试
(1)一来就问我先介绍下你最成熟的一个项目是哪个?
(2)弱引用,软引用
(3)volatile关键字(突然不知道怎么回答,然后记起来了跟java内存模型相关,就说了一下jmm)
(4)多进程(莫名认为是多线程,说歪了)
(5)什么场景需要用到多进程(回答中说了推送)
(6)为什么推送需要多进程,有什么优势(不知道有什么优势)
(7)hashmap的数据结构(回答了维护一个entry数组,hash冲突,1.8中链表会变成红黑树,然后面试官没继续深究)
(8)anr分类有哪些,原因(具体不了解,就知道执行网络或者数据存储等耗时操作)
(9)anr定位(不会)
(10)activity生命周期
(11)activity从A打开B的生命周期(答错)
(12)事件分发
(13)使用过开发者选项吗(就用过显示过度绘制)
(14)kotlin相关,优点(简历上写了kotlin)
(15)kotlin协程(不会)
(16)mvp(回答不够发散,可以从mvc发散到mvp)
(17)说一说在项目中做过哪些优化?
二面:
(1)你做的应用商店感觉最难的点在哪?
(2)为什么选用Fresco作为图片加载框架?
(3)安卓系统版本之间对Bitmap怎么处理的?安卓2.3之前把像素数据存储在native层中,之后的系统把byte存储java层中,8.0后又放回native中,但有自己的回收机制?
(4)你用CC框架组件化,为什么不选择阿里的 Arouter框架,C有什么好处?使用过程中遇到过什么问题?
(5)你平时怎么做性能优化的?
(6)你用过哪些工具做性能优化,冷启动怎么优化?
(7)插件化你懂吗?
(8)有对公司做过什么突出的贡献吗?
面试结果
面试官:大致情况了解了,我们会根据结果认真评级的,有通知人事会及时通知的,今天大概就聊到这里了。 我:心态已崩……
最后
小编也将面过中、大厂的面试题整理成了PDF指南,内容包含「Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Binder、Handler、AMS、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES」等知识点,如下图所示:
\
关注公众号:Android老皮领取
目录
第一章 Java方面
- Java基础部分
- Java集合
- Java多线程
- Java虚拟机
第二章 Android方面
- Android四大组件相关
- Android异步任务和消息机制
- Android UI绘制相关
- Android性能调优相关
- Android中的IPC
- Android系统SDK相关
- 第三方框架分析
- 综合技术
- 数据结构方面
- 设计模式
- 计算机网络方面
- Kotlin方面
第三章 音视频开发高频面试题
- 为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
- 怎么做到直播秒开优化?
- 直方图在图像处理里面最重要的作用是什么?
- 数字图像滤波有哪些方法?
- 图像可以提取的特征有哪些?
- 衡量图像重建好坏的标准有哪些?怎样计算?
第四章 Flutter高频面试题
- Dart部分
- Flutter部分
第五章 算法高频面试题
- 如何高效寻找素数
- 如何运用二分查找算法
- 如何高效解决雨水问题
- 如何去除有序数组的重复元素
- 如何高效进行模幂运算
- 如何寻找最长回文子串
第六章 Andrio Framework方面
- 系统启动流程面试题解析
- Binder面试题解析
- Handler面试题解析
- AMS面试题解析