共计 3792 个字符,预计需要花费 10 分钟才能阅读完成。
前言
在外包公司干了三年的 Android 开发,于 2021 年 12 月办理实现所有离场手续,办完那一天,我像是终于解脱了,终于放下,也终于释怀。
这三年的工夫,算是给我人生上了一课。
2022 励志要进大厂,前面让敌人帮忙内推了腾讯,三面顺利拿下 offer,上面给大家分享下我的教训。
闭关刷题
以前在网上找技术博客,不成体系的学习效果真的太低了,常常因为信息过多,还有信息不精确而耽误时间,很容易就分心了。
前面除了跟视频学习,就是始终在刷这套 1307 页 Android 面试全套真题解析。
这份材料是真的帮到了很多,内容全面,覆盖率比拟高,省去了很多工夫和精力。
面试
后面面了贝壳找房和网易,都通过了,尽管最初没有谈好,然而有了一些信念。前面让敌人帮忙内推了腾讯,三面顺利拿下 offer,薪资是 28K,相比于上一份工作上涨了 15K。
这里次要放腾讯面经
一面
0、说说做过的我的项目(差不多包含了自我介绍)
说一下我表白的重点:我做了 AndroidQ 的适配;我在我的项目中应用了新的技术:LiveData、BiometricPrompt;我应用到了设计模式:工厂、简略工厂、单例;我在一直优化我的代码;我关注 Google 开发者大会
1、问上一份工作
抓着工作中的技术点问了很多,而后前面问题的差不多都是来自这外面。
2、EventBus 和回调的比照。有没有其余方法能够解决类之间的耦合性。
说了 LivaData,但其实差不多。老老实实说不晓得了……
当初想了想,这个题目那份材料外面如同也有提到过,然而……我没记住!!!
3、ListView 和 RecyclerView 的比拟,ListView 没用了吗?
说了实现成果,代码、缓存方面、ViewHolder 的差别,讲了一下 RecyclerView 在多个 Fragment 中有雷同 Item 时的优越性。
ListView 这个问题问到我时我差点没笑进去……我看了微信团队对于卡包界面是否要更新为 RecyclerView 的一篇文章,倡议背诵全文……
4、Service 和 AsyncTask 比照。
因为 AsyncTask 因为不应用匿名外部类形式很可能呈现内存泄露问题,所以本人不应用,根本都是开线程池。而后面试官问 AsyncTask 底层,也就说了一下 handler+ 线程池。
当初回忆,有这么几个点:生命周期方面;消息传递方面;底层实现方面。
5、线程通信机制。
handler、信号量、互斥量、临界区治理 synchronized 之类的、共享变量 volatile。
6、Android 过程通信机制。
AIDL、Binder、共享文件。
前两个没啥说的了,老专长了。
说一下共享文件,这个我原本感觉很 low,然而最近钻研 SharedPreference 的时候,发现如果 APP 签名一样的话,能够应用同一个 SharedPreference,所以也就说了共享文件。我不是想表白我用共享文件作为过程通信形式,我只是想说我理解 SharedPreference。
7、ArrayList 和 Vector 比照……不会 Vector,那么 ArrayList 和 LinkedList 比照。
底层,数组,链表。扩容问题,我概括了一下所有的汇合类的扩容形式都是装载因子 + 以后容量 + 须要扩容容量。
我说线程平安的 List 有 CopyOnWriteArrayList,然而面试官没有往下问。
8、为什么扩容很多状况下都是扩容为两倍?
这个不会,然而说底层代码很多状况下扩容都是移位操作进行的。可能和查问相干?
9、HashMap 和 HashTable 比照,ConcurrentHashMap。
HashTable 不是 Map,HashTable 是 Dictionary,而且锁的时候是锁数组,并发的粒度很大。
ConcurrentHashMap 用的是分段锁而且有一个:判空 + 判相等 +CAS+synchronized 的一个锁的过程,所以很弱小。
10、CAS 相干。
11、晓得优先级反转吗?
不晓得……回去钻研去……
12、TCP 三次握手四次挥手。
次要思路是通过 SACK 和全双工来整体解说。
13、代码,如何判断两个链表是否相交。
我最开始想成了找到第一个相交结点,而后说了思路,面试官说有没有更好的。而后直接判断最初一个结点是否相等。面试官说如果有环呢,那只能用 HashSet 存一下了。
14、反诘。
问了下面试官是什么事业群。
说是 PCG 平台,感觉本人应该是被 PCG 捞起来了。
前面就问了一下公司的一些不疼不痒的问题。
总结
整体答得还能够,就是认为是 2 点面试,后果 3 点 30 才面上,可能是我记错工夫了。状态没有调整到最好。
二面
0、自我介绍。
1、hashCode 和 equals 办法。
2、HashMap,hash 抵触解决,红黑树相干。
3、String、StringBuilder。
面试官问 String 的加法
String a = "a"+"b"+"c";
StringBuilder sb = new StringBuilder();
a = sb.append("a").append("b").append("c").toString();
这两者效率差异,我说没差异啊,第一种 String 的加法被编译器优化成第二种,他不信我……不过还好,最初达成共识面试官面试完本人去查。
当初复盘感觉面试官应该想问的是这种状况:
String a ="";
a+="a";
a+="b";
a+="c";
我还是对的。
4、wait、notify。
问是不是只能在有锁的状况下 wait 和 notify。
5、线程间通信形式。
handler 那一套。
6、快排原理,最好状况和最坏状况工夫复杂度。
最坏状况逆序 n **2,程序状况我的算法还是 nlogn,问了优化思路。
7、算法题,
用了贪婪没 ac,面试官提醒快排,没想明确……
8、思考题,如果我想将一颗二叉树存入文件,怎么样的格局存储能够使得读取效率最高。
这题是个凋谢讨论题,和面试官始终在探讨怎么做。
【过后认为本人凉了,没想到顺利收到了三面的告诉】
三面
0、自我介绍
1、实习工作深挖
2、RePlugin 原理深挖,其余插件化框架比照
3、为什么要抉择 RePlugin 框架
4、你感觉本人对于 Android 把握到了什么境地
5、看过什么源码
6、你为什么要看源码
7、你为什么要写博客
8、晓得哪些驰名开源框架
9、什么是过程,过程调度算法
10、什么是线程
11、你感觉什么是 JVM
12、有哪些线程同步算法
13、死锁是什么,举个例子
14、Object 有哪些办法
15、Java 异样有哪些,Error 和 Exception 区别
16、OSI 七层模型,TCP、UDP 是哪一层,应用层有哪些协定
17、如果要设计一个大量图片下载的办法,如何确定并发量,有哪些指标。
18、APP 间传递音讯平安吗?要怎么做能力平安呢?
19、播送怎么分类
20、自定义 View 重写的要害有哪些,onLayout 和 onMeasure 区别
21、Android 有哪些动画,MotionLayout 讲一下。MotionLayout 应用场景。
22、Activity 四种启动模式,SingleTask 和 SingleTop 的应用场景
23、一些 Framework 层的问题,不太会所以记不得了。
过后珍藏一位 B 站 UP 主的视频,有须要能够去看一下
24、你为什么想理解 Framework 层常识。
25、算法题。
26、你对于咱们的 Offer 的态度
27、闲聊
以下为小编本人在学习过程中整顿出的一个学习思路及方向,从事互联网开发,最次要的是要学好技术,而学习技术是一条慢长而艰辛的路线,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加须要精确的学习方向达到无效的学习效果。
总结
对于很多 Android 工程师而言,想要晋升技能,往往是本人摸索成长。而不成体系的学习效果低效漫长且无助。工夫久了,付出微小的工夫老本和致力,没有看到应有的成果,会泄气是再失常不过的。
所以学习肯定要找到最适宜本人的形式,有一个思路办法,不然不止浪费时间,更可能把将来倒退都一起耽搁了。
如果你是卡在短少学习资源的瓶颈上,那么刚刚好我能帮到你。上面分享一份 2022 最新《Android 中高级面试题合集 》文档资料内容较多,内容涵盖: 数据结构与算法面试题、Java 面试题、Android 四大组件、Android 面试题、UI 控件篇、网络通信篇、架构设计篇、性能优化篇、源码流程篇… 须要的小伙伴【点击这里收费获取】,心愿可能共同进步,独特学习,共勉!
Android 根底(2022 版,全网首发)
(含:Activity 知识点,Fragment 知识点,Service 知识点,Intent 知识点…)
UI 控件篇(2022 版,全网首发)
(含:屏幕适配,次要控件优化,事件散发与嵌套滚动…)
网络通信篇(2022 版,全网首发)
架构设计篇(2022 版,全网首发)
(含:MVP 架构设计,组件化架构…)
性能优化篇(2022 版,全网首发)
(含:启动优化,内存优化,绘制优化,安装包优化…)
源码流程篇(2022 版,全网首发)
(含:开源库源码剖析,Glide 源码剖析,OkHttp 源码剖析,Retrofit 源码剖析,RxJava 源码剖析…)
新技术篇(2022 版,全网首发)
面试篇(2022 版,全网首发)
(含:开源文档,面试合集…)
因为篇幅无限,须要完整版 2022 最新《Android 中高级面试题合集》的小伙伴【点击这里收费获取】保障收费分享。