1. 简历
在投简历的过程中,跟HR交流有时直接说“经验不匹配”。自我感觉还是简历写的有问题,这种情况下,简历盲投感觉已经不合适了,还是要有针对性的对简历进行定制化,先过简历关。
2. 技术点
既然毫无准备的裸面行不通,那就开始查漏补缺,准备相关的知识点吧。
作为一个三年多的Android研发,自认为还是积累了一定的技术实力和能力的,只是没有系统,深入的整理过自己的项目技术点。
3. 拓展
针对面试中问的一些问题,没有思路去回答的,面试结束后可以针对这些问题去拓展和深挖,避免下次面试再出现相同的情况。
思考
这次的面试目标是「Android高工」,那么要思考的是,这个「高」,究竟高在哪里?我们以一个什么样的工作经验,技术水平,思想深度,才能达到这个高度,这个是要思考的,在面试和准备过程中我也不断的反思和总结。
面试经历
后来复习了三个月左右。7月底开始边投简历边进行复习扫尾、巩固,大大小小的公司投出了大概三四十份简历。收到面试大概20场。下面我挑了几个较好的和一些大厂的真题面经分享一下。
小建议:
面试某家公司前,最好是要先了解你所面试的工作岗位,公司的业务,主要是做哪个方面的,这样可以更加具有针对性的复习和准备。
华润集团下某借贷子公司
一家借贷公司,肯定对APP安全方面比较着重。
-
Activity 的启动过程
-
Broadcast 注册方式与区别
-
磁盘缓存怎么实现
-
进程间通信原理、Binder 机制原理
-
APK加固、dex文件加密实现、原理
-
说一下类加载的过程、机制,为什么要这样设计?
-
谈谈你对安卓签名的理解。
-
对于提高app的安全性,你有哪些建议或方法?
腾讯新闻
大概就是UI、页面流畅度、适配这些方面吧。
-
如何将一个Activity设置成窗口的样式。
-
Android中跨进程通讯的几种方式
-
屏幕适配的处理技巧都有哪些?
-
ListView卡顿原因及处理
-
广播传输的数据是否有限制,是多少,为什么要限制?
-
如何防止过度绘制
-
View的回执流程
-
说说对Context的理解
-
卡顿的一整套解决方案是怎么做的?
某知名外卖APP
布局、页面、高级UI之类的
-
View的绘制过程,onMeasure方法中两个参数的含义;
-
你在做布局优化的过程中用到了哪些工具?
-
做完布局优化有哪些成果产出?
-
看过哪些源码
-
混合开发有没有做过
-
大致说一下自己做过最满意的项目吧
字节跳动抖音部
音视频、算法
-
静态注册和动态注册的原理分别说一下吧
-
JNI是如何访问java中的方法和字段的?
-
JNI规范中定义了哪些引用,区别是什么
-
算法:获取单链表倒数第k个元素
-
单例实现线程的同步的要求?
-
LaunchMode应用场景
-
计算一个view的嵌套层级
算法:
某上市公司(母婴类产品)
-
请介绍下ContentProvider是如何实现数据共享的。
-
android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。
-
算法:复制含有随机指针节点的链表
-
Android系统中GC什么情况下会出现内存泄露呢?
-
三次握手四次挥手说一下吧
-
HashMap 、HashTable原理?
-
Java 虚拟机&内存结构&GC&类加载&四种引用&动态代理
-
进程保活怎么做
合资外企
-
LeakCanary 原理
-
OOM 场景及规避
-
App 安装过程的怎样的
-
ANR是什么?怎样避免和解决ANR
-
MVC MVP MVVM原理和区别
-
算法:2000万个整数,找出第五十大的数字?
-
App 是如何沙箱化,为什么要这么做?
-
flutter用过吗?
-
Flutter 如何与 Android iOS 通信?
志安科技
类似于华为海思,对底层很看重。
-
HashMap 原理
-
andorid的Binder机制是怎么样的
-
Linux的原理有了解吗
-
有看过哪些源码,有深入到C++中吗,C++熟练吗?
-
熟悉framework哪些模块的源码,对图像性能优化有了解吗
-
以后的技术发展方向是如何的
阿里巴巴P6岗
-
HTTP2.0与3.0的区别
-
项目中常用的设计模式
-
https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?
-
了解过Android虚拟机有哪些?
-
对Dalvik、ART虚拟机有什么了解?
-
Gradle自动补丁包生成原理
-
Hybrid 通信原理是什么,有做研究吗?
-
来介绍下你最成熟的一个项目是哪个?
-
能简单的画一下你这个项目的架构图吗?
-
除了MVP,MVC,MVVM外还有什么其他的架构方式?
-
动态编译和反射相比,除了性能方面外还有什么区别?
-
死锁如何避免、处理?
-
Flutter中的Widget、State、Context 的核心概念?是为了解决什么问题?
-
卡顿 {如何检测卡顿,卡顿原理是什么,怎么判断页面响应卡顿还是逻辑处理造成的卡顿} ,BlockCanary 的原理
-
算法:双链表翻转、写出你所知道的排序算法及时空复杂度,稳定性
最后
多余的话就不讲了,接下来将分享我面试之旅的复习过程,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!
这里给大家提供一个方向,进行体系化的学习:
1、看视频进行系统学习
这几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
[外链图片转存中…(img-mmIFdlHF-1713428065072)]
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!