客户端(安卓)面试,看这一篇就够了!

叠个甲:不是劝进客户端,客户端确实不如后端,但是既然找不到大厂后端选择走客户端这条路了,那也需要好好准备,剩下就看命了。

面试无非几种情况,一是零基础,二是有相关的实习经历,三是本身就是学安卓的(那也没必要看了相信你都已经滚瓜烂熟了)

首先是零基础,也就是别的方向(比如java后端)去转。因为以前安卓本身就是用java写的,后面才用kotlin写,并且两者是兼容的,会java的话上手kotlin很快。一般是找实习的时候居多,这种情况你的简历应该是不包含任何客户端相关的东西的,面试官默认你是一张白纸,这个时候是最容易找到客户端实习的,面试官会针对你简历去问,正常准备就行。一般就是问java+网络+操作系统+简历上的项目,mysql、redis、spring框架之类的东西因为客户端涉及不到所以不会问。(不排除问的可能,只能说概率非常小)

本文主要针对第二种情况,也就是有了客户端实习经历后,秋招打算继续找客户端的岗位,实习期间主要还是面向完成任务,很多理论是用不到的,但是有了实习经历后,秋招面试官就会去问你安卓相关的八股。一般就问实习+java/kotlin+网络+操作系统+安卓,简历上写的后端项目不会再问了。

我面了26场技术面试,其中问了安卓八股的有14场,发现问来问去就那么多的知识点。我室友每次在边上帮我记录面经,后面他说安卓的八股他都会了,下次也能去面面了。

非常高频!!!

四大组件:能说是哪四个就行,基本只问activity,另外三个几乎不问

activity的生命周期 7次

activity的启动模式 4次

安卓线程间通信方式(handler)6次

安卓进程间通信方式(binder)5次

view的绘制流程 4次

触摸事件的传递 4次

下面只问过一次的,很多是从上面的高频问题中引申出来的:

activityA启动后打开activityB,两个activity的状态经历了哪些周期?

可以在子线程里面刷新UI吗?如果我非要在子线程里刷新了UI呢?会怎么样?会抛出什么异常?

ANR是什么?ANR产生的根本原因是什么?多久会出现这个异常?所有的情况都是 5s 吗?Service里面也是5s吗?

application的oncreate和activity的oncreate有什么区别?

Ibinder了解吗?

一个点击事件点击结束后是怎么被销毁的?

looper的睡眠机制对应linux的哪个操作?

looper最多能开几个线程?

handler的一个postDelay()方法知道吗?

如果创建了两个handler,如何知道哪个消息对应哪个handler?

上下滑动事件和左右滑动事件的冲突如何处理?

recyclerView了解吗?它是如何复用视图的?

activity和fragment之间是如何进行通信的?

以上就是整个秋招面试过程中我被问到的所有关于安卓的问题,如果觉得对你有帮助的话,可以给我送个小花

#牛客激励计划#

全部评论
感谢答疑解惑
1 回复 分享
发布于 01-16 15:33 陕西
点赞 回复 分享
发布于 01-17 10:56 北京
m
点赞 回复 分享
发布于 01-21 12:36 广东

相关推荐

评论
12
21
分享

创作者周榜

更多
牛客网
牛客企业服务