金九银十到来,新鲜出炉的Android面试真题集锦我给你们整理出来了!(1)

Java 泛型还是会在面试中出现的,不过几率不是很高,大概是因为我简历中有提到泛型擦除相关的东西。所以会被问到泛型、泛型擦除、通配符相关的东西。不过这个东西,不应该是为了应付面试,实际开发中真的很重要。

6.Java 线程有哪些状态,有哪些锁,各种锁的区别。

这个问题讲真,我也只懂一点皮毛,并且当时回答不是很全面,出现概率的话,不是很高吧。

7.final 、finally、finalize 区别。

老生常谈的问题,没啥好说的,实际上这次社招面试也只遇到了两次。比较喜欢追根溯源的面试官可能会对这个 finalize 有点执念,一定希望搞清楚,这玩意儿我们是不是可以真的搞点黑科技骚操作。

8.接口和抽象类的区别。

没想到还被问了一次这个,这玩意儿给我的感觉就是随时都在用,但真要较真,还真不能一口气把所有区别都信手拈来。

9.sleep 、wait、yield 的区别,wait 的线程如何唤醒它?

大多数 Android 应用开发并接触不到很多并发相关的东西,不过这玩意儿还是在面试中挺容易出现的。

###计算机网络部分

计算机网络部分还是挺容易考察的,不过考察的点不会那么深入。通常来说也就是这些问题:

  • TCP 有哪些状态。
  • 三次握手、四次挥手。为啥是三次不是两次?
  • HTTPS 和 HTTP 的区别。HTTPS 2.0,3.0?
  • 浏览器输入一个 URL,按下回车网络传输的流程?
  • 喜欢深问一点的还会问到网络架构,每层有些什么协议,FTP 这些相关原理,印象比较深刻的还有一个问题是:TCP 建立连接后,发包频率是怎样的?

###Android 部分

Android 很广,所以这里只是简单说下有些什么问题。这个的话其实真的 70% 问题出自你的简历。

  • Activity 的生命周期;
  • Android 的 4 大启动模式,注意 onNewIntent() 的调用;
  • 组件化架构思路,如何从一个老项目一步一步实现组件化,主要问实现思路,考察应试者的架构能力和思考能力。
    这一块内容真的很多,你需要考虑的问题很多,哪一步做什么,顺序很重要。
  • MVC、MCP、MVVP 的区别和各种使用场景,如何选择适合自己的开发架构?
  • Router 原理,如何实现组件间通信,组件化平级调用数据方式。
  • 系统打包流程;
  • APP 启动流程;
  • 如何做启动优化?
  • 冷启动什么的肯定是基础,后续应该还有的是懒加载,丢线程池同步处理,需要注意这里可能会有的坑是,丢线程池如何知道全部完成。
  • 事件分发机制。
  • 事件分发已经不是直接让你讲了,会给你具体的场景,比如 A 嵌套 B ,B 嵌套 C,从 C 中心按下,一下滑出到 A,事件分发的过程,这里面肯定会有 ACTION_CANCEL 的相关调用时机。
  • 如何检测卡顿,卡顿原理是什么,怎么判断是页面响应卡顿还是逻辑处理造成的卡顿?
  • 生产者模式和消费者模式的区别?
  • 单例模式双重加锁,为什么要这样做。
  • Handler 机制原理,IdleHandler 什么时候调用。
  • LeakCanary 原理,为什么检测内存泄漏需要两次?
  • BlockCanary 原理。
  • ViewGroup 绘制顺序;
  • Android 有哪些存储数据的方式。
  • SharedPrefrence 源码和问题点;
  • 讲讲 Android 的四大组件;
  • 属性动画、补间动画、帧动画的区别和使用场景;
  • 自定义 ViewGroup 如何实现 FlowLayout?如何实现 FlowLayout 调换顺序?
  • 自定义 View 如何实现打桌球效果;
  • 自定义 View 如何实现拉弓效果,贝瑟尔曲线原理实现?
  • APK 瘦身是怎么做的,只用 armabi-v7a 没有什么问题么?
  • APK 瘦身这个基本是 100% 被面试问到,可能是我简历上提到的原因。
  • ListView 和 RecyclerView 区别?RecyclerView 有几层缓存,如何让两个 RecyclerView 共用一个缓存?
  • 如何判断一个 APP 在前台还是后台?
  • 如何做应用保活?全家桶原理?
  • 讲讲你所做过的性能优化。
  • Retrofit 在 OkHttp 上做了哪些封装?动态代理和静态代理的区别,是怎么实现的。
  • 讲讲轨迹视频的音视频合成原理;
  • AIDL 相关;
  • Binder 机制,讲讲 Linux 上的 IPC 通信,Binder 有什么优势,Android 上有哪些多进程通信机制?
  • RxJava 的线程切换原理。
  • OkHttp 和 Volloy 区别;
  • Glide 缓存原理,如何设计一个大图加载框架。
  • LRUCache 原理;
  • 讲讲咕咚项目开发中遇到的最大的一个难题和挑战;
    这个问题基本是 95% 必问的一个问题;
  • 说说你开发最大的优势点。
    出现率同上。

###算法

  • String 转 int。
  • 核心算法就三行代码,不过临界条件很多,除了判空,还需要注意负数、Integer 的最大最小值边界等;
  • 如何判断一个单链表有环?
  • 链表翻转;
  • 快排;
  • 100 亿个单词,找出出现频率最高的单词。要求几种方案;
  • 链表每 k 位逆序;
  • 镜像二叉树;
  • 找出一个无序数组中出现超过一半次数的数字;
  • 计算二叉树的最大深度,要求非递归算法。
  • String 方式计算加法。

###HR 面

  • 你为什么离开上一家公司?
  • 你的缺点是什么?
  • 你能给公司带来什么效益?
  • 你对未来的职业规划?

###写在最后

讲道理,此次面试基本没有准备,不过是刷了一遍剑指 Offer,个人感觉平时写博客真的很重要,简历上的东西,自己写的所以自己都知道,而其他的基础和细节,自己的博客就已经覆盖。总的来说,之前刷的面试系列真的命中面试题概率很大。。

如何才能让我们在面试中对答如流呢?

答案当然是平时在工作或者学习中多提升自身实力的啦,那如何才能正确的学习,有方向的学习呢?有没有免费资料可以借鉴?为此我整理了一份Android学习资料路线:

还有整理出来了一份BAT大厂面试资料专题包,需要的小伙伴们可以 关注我的主页 获取免费领取方式~

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以去我的主页加一下技术群。来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

这里是一部分我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,在这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

小福利:

在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021大厂最新Android面试真题解析

Android大厂面试真题解析

各个模块学习视频:如数据结构与算法

算法与数据结构资料图

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
一线互联网架构师

这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值