「面试必背」Android Framework面试题(2023最新版)

作者分享了今年上半年在PDD、美团、字节、阿里等公司的面试经历,拿到三家offer。文章提到面试竞争激烈,尤其在技术方面,如Binder机制、Handler线程通信等是常见问题。面试者需要注意跟随面试官节奏,适时引导面试深入展示自身知识广度。
摘要由CSDN通过智能技术生成

先说说最近的面试情况。

今年上半年参加了PDD,美团,字节,阿里,还有部分中小厂面试,最终拿到了3家offer(某小公司、字节、某中型公司),一家在杭州,两家在上海。

23 年初整体感觉虽然相比于去年有所好转,hc 还是有一些的,平均一周两三个面试,但竞争非常激烈,典型的买方市场,导致各家压价情况普遍。

面试难度的话,对于我来说还算可以,在整个面试过程中,问的最多的几个问题:

Binder机制原理

为什么android要用binder当IPC机制

Binder线程池的工作过程是什么样的

Handler怎么进行线程通信,原理是什么?

然后就是围绕着项目,深挖到底层。

这里面我觉得这个问题可能需要讲解下:Handler怎么进行线程通信,原理是什么?很多人不太清楚。

首先从Handler整体思想讲起

在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理。

在这里插入图片描述

Handler工作流程

Handler机制的工作流程主要包括4个步骤:

  1. 异步通信准备
  2. 消息发送
  3. 消息循环
  4. 消息处理

具体如下图:

在这里插入图片描述

Handler工作流程图

如下图所示,handler的总体流程大致如下:

首先,系统通过调用 Looper.prepare()为线程准备Looper 和承接Message 的MessageQueue;

然后,系统再调用Looper.loop()函数,这个函数会开启一个死循环,在循环中不断的轮询MessageQueue消息队列,从消息队列中取出可以执行的Message消息,然后进行执行。

再然后,用户通过Handler.sendMessage这一类的函数调用,向MessageQueue里面不断的发送消息。

最后,由于Looper 中的loop是在不断轮询MessageQueue的,一旦发现MessageQueue里面有可执行的消息,那么就会将消息取出来,然后通过消息所携带的handler去执行。

在这里插入图片描述

总结

Handler 是一个消息管理机制,android 程序的运行必须依托于Handler机制,那么handler机制进行线程通信的原理思想如下: 1) 在启动handler通信机制的时候,首先会准备Looper,以及必须让Looper调用loop函数进入死循环;2)在Looper启动后,loop死循环就会不断的去轮询MessageQueue的next函数,试图通过这个方式获取到MessageQueue中存储的Message;3)当用户希望往当前创建handler的这个线程里面传递消息的时候,就可以调用这个handler的sendMessage或者postMessage 相关的函数,次数Message将被发送到对应的MessageQueue中;4)在第2)步中,loop里面的循环就会轮询到我们在第3)步中添加的消息,当这个消息被loop轮询到的时候,这个消息就会被处理掉,而且处理的线程就是当前轮询MessageQueue的线程。

总的来说,Handler机制可以理解为 在一个线程中创建了一个Message 对象(内存块),这个Message对象包含了我们要执行的动作;然后我们通过handler将这个Message内存块传给了MessageQueue,也就是说MessageQueue是存储的Message;然后Looper所在的线程通过loop()函数从MessageQueue中取到我们存储的Message,并在当前这个线程中去执行的过程。

除了以上这些被问到的问题,我自己也对此整理了一份专门的Framework面试专题,就是为了面对当下面试难度,有需要的可以点击下方卡片领取。

在这里插入图片描述
在这里插入图片描述

面试过程需要注意什么?

1.跟着面试官的节奏回答问题

在面了这么多场后发现,语速很重要,由于我平常说话都是很快的,所以在面试过程中一般「语速」都比较快,但是有些面试官会比较喜欢稳扎稳打的,语言这种东西在字里行间中也会体现出一个人的性格,当一场面试进行了 10 多分钟左右,你就可以「根据面试官的反馈来调整」自己的语速,能力固然重要,但是面试结果还是掌握在面试官手里的,对不?即使通过了后面的面试到了谈 offer 的时候,之前面试官对你的评价也是很重要的。

2.让面试官跟着自己的节奏来问

这点也是非常重要的一点,尽管你面试可能会有 4~5 轮,但是还是没有办法完全的挖透你,在面试官问到某个问题时,如果你对某个问题了解的比较深入,那么你就「可以抛出更多的知识点让面试官去追问」比如你在回答锁升级的时候可以自己扩展到锁标志位,通过锁标志位还可以扩展的对象的内存布局,通过内存布局还可以扩展到不同操作系统对于内存布局的存储大小通过一个个深入知识点的抛出以及面试官的追问,既可以让面试官发现你是一个平常都会去深入学习的人(每天一个小心机)

结语

面试,难还是不难?取决于面试者的底蕴(气场+技能)、心态和认知及沟通技巧。面试其实可以理解为一场聊天和谈判,在这过程中有心理、思想上的碰撞和博弈。其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他希望听到什么答案?”然后针对性的准备和回答就行了,无他。

AI老皮
关注 关注
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android面试题大全
是阿超
10-24 3205
Android面试题大全
安卓开发工程师必刷的20道Android Framework面试题
m0_56255097的博客
04-30 1132
多家面试总结下来,考察的范围都很广,包括基础知识、项目。基础知识这块,需要花大量时间准备每一个细节,知其所以然,这样才能面试的时候问起来,都能头头是道。项目,阿里比较注重项目,所以不仅要熟悉项目做了什么事情,而且要提炼出项目中的闪光点或者说不一样的地方,这些在面试之前都要想清楚。然后就是要多刷题。面试了这么多公司,除了阿里,其他公司的每一轮都会要求做题,所以在面试之前要对各种常见面试题了解,有时间的话多去刷刷题找感觉。为了帮助大家在2024金三银四找到满意的工作,在这里小编分享一份精心整理的《
android framework面试题
12-01
android framework面试题集 自己亲自总结的,各位有需要的可以随时下载
Android FrameWork 面试整合题集
最新发布
2401_85832773的博客
08-12 684
首先从函数的耗时来说,有一个工具TraceView 这是androidsdk自带的工作,用于测量函数耗时的。UI布局的分析,可以有2块,一块就是Hierarchy Viewer 可以看到View的布局层次,以及每个View刷新加载的时间。这样可以很快定位到那块layout & View 耗时最长。还有就是通过自定义View来减少view的层次。
Android Framework面试必问的15道题(带详细答案)
yihanss的博客
05-13 1838
多家面试总结下来,考察的范围都很广,包括基础知识、项目。基础知识这块,需要花大量时间准备每一个细节,知其所以然,这样才能面试的时候问起来,都能头头是道。项目,很多公司都比较注重项目,所以不仅要熟悉项目做了什么事情,而且要提炼出项目中的闪光点或者说不一样的地方,这些在面试之前都要想清楚。然后就是要多刷题。面试了这么多公司,除了阿里,其他公司的每一轮都会要求做题,所以在面试之前要对各种常见面试题了解,有时间的话多去刷刷题找感觉。
Android 面试必备:Android Framework 高频面试题——Binder 篇
qq_44102588的博客
01-24 1566
1. Android中进程和线程的关系,区别 进程是什么? 它是系统进行资源分配和调度的一个独立单位,也就是说进程是可以独立运行的一段程序。 线程又是什么? 线程进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自 己基本上不拥有系统资源。在运行时,只是暂用一些计数器、寄存器和栈 。 区别: 进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数 器为其执行上下文。 进程间相互独立,同一进程的各线程间共享。 进程间通信IP
专科毕业三年,从外包公司到今日头条offer,我想把面试心得分享给你
m0_66264856的博客
01-23 736
美团 RN 相对于原生 RN 的有什么优势 【3面 - 基础加深】 你们公司 Picasso 有使用过没,介绍下 Picasso 单引擎,在多 Bundle 的情况下怎么保证数据隔离的? 美团 RN 与 Picasso 的区别 4.省略若干项目相关问题… RN 的页面追踪埋点如何实现的 美团首页是否是 RN 页面,MTFlexBox 原理 synchronized 修饰 static 方法、普通方法、类、方法块区别 synchronized 底层实现原理 volati.
Android FrameWork】综合面试问题
Androidbye的博客
03-14 1215
1. 怎么跨进程传递大图片 考察点 了解各种跨进程传输数据的方式及各自优缺点 了解TransactionTooLargeException的触发原因和底层机制 了解Bitmap传输底层原理 跨进程传大图有哪些方案 给图片保存到固定的地方,传key值(路径)给对方 问题:性能差,把图片写到文件需要耗时,对方读取文件也需要耗时 通过IPC的方式转发图片数据 不经过文件系统,但是需要多次拷贝 IPC方式传图 Binder:性能好,使用方便,但是大小有限制 Socket、管道:两次拷贝,
字节面试Android11.0最新Framework解析
08-31
《字节面试Android11.0最新Framework解析》是一份专为程序员面试准备的资料,主要聚焦于Android系统的深层机制,特别是针对Android 11.0版本的Framework层进行了深入剖析。FrameworkAndroid系统的核心部分,它定义...
2023最新版 Android 1600+ 道,900多页,面试题汇总
11-08
2023年最新Android面试题合集汇总,Java面试题Android 面试题、音视频开发高频面试题、Flutter高频面试题、算法高频面试题Android Framework面试题、一线互联网企业常见174道面试题
935页中高级Android面试题及答案整理(2023最新版)_android面试题2023 百度云
2401_84545830的博客
04-28 944
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021最新面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
腾讯资深Android开发带你入门面试重点Framework,掌握更加核心的技术!
weixin_44339238的博客
10-28 233
今天,想跟大家聊聊,Framework开发的那些事。 系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。 原生的桌面,拨号,设置,已经没法做出差异化优势,因此都费尽心机,来进行应用深度开发。 对于之前维护系统应用模块的人来讲,修修补补,真的没有什么成长。每天的工作来说,没有很深的技术壁垒,很容易被别人攻陷。 比如设置,比如联系人,在小的改动,修改故障的时候,没有非常高的要求,做过应用开发的,都可以过来参合一脚,改改问题。而让一个应用开发得去修..
一份【Android FrameWork】综合面试题,给你醍醐灌顶
bugyinyin的博客
05-05 397
春招已经接近尾声了,不知道各位小伙伴有没有找到自己心仪的工作呢。我前几天内推刚刚收获了腾讯高级开发岗的 offer,得益于内推朋友面试时的面试经验,照着他给的方向复习刷题,顺利的通过了面试。在这里也无偿分享给广大网友们,喜欢也能帮助到你们。从做Android的第一天起,你一定听过无数次关于Framework的讨论,也曾在这个版块被面试官吊锤N次。
androidframework面试题,2021最新安卓大厂面试题来袭!神操作!
m0_60178804的博客
08-21 461
引言 2018年初Android市场饱和的传言一度甚嚣尘上。2020年经济寒潮下,众多大厂和曾经风口上的互联网企业也不得不裁员自保,通过小程序、前端渲染以达到原生的实现。 面对外界的纷繁复杂和技术栈的日新月异,我们更应该清楚认识到自身技术的短板来进行知识巩固。目前移动端Android初中级人才大量涌入,正所谓僧多粥少,但楼主始终认为 苦心人,天不负,只要自身有过硬的知识广度和深度储备,在寒冬之下,同样也能站稳脚跟。 楼主年前走了一波社招试试水,一番厮杀后最终拿到多家offer,回味之余,不得不感叹现在的98
Android大厂面试必问Framework面试题(展望2022,备战金三银四)
datian1234的博客
01-24 3857
前言 过去的一年,很多开发者都在金三银四成功的拥抱到了高薪,很多Androider也准备在今年大展身手。但也有很多人在过去的一年略显遗憾:对自己的简历多次更改,多次投递,多次的面试,但收到的都是同样的**“抱歉”、“很遗憾”**…… 成功的经验各有风骚,失败的痛苦都大差不差:众多开发者反思复盘,发现从写简历的时候就需要反复斟酌,对自己写的内容要完全负责,不然就很可能迎来面试官的连环逼问: 面试官:我看你简历里面有写到精通Framework? 你:嗯嗯,还算比较熟 面试官:那我问你一下 Android
Android 面试技术整理(9)-Android Framework 相关
wjh8914320的博客
08-19 916
Android Framework1、Android 系统架构1.应用程序2、Java API 框架3、系统运行库1原生 C/C++ 库2Android Runtime4、硬件抽象层 (HAL)5、Linux 内核2、View 的事件分发机制?滑动冲突怎么解决?3、View 的绘制流程?4、跨进程通信Android 中进程和线程的关系?区别?如何开启多进程?应用是否可以开启 N 个进程?为何需要 IPC?多进程通信可能会出现的问题?Android中IPC方式、各种方式优缺点,为什么选择Binder?Bind
Android Framework基础面试篇~
1
05-04 3016
Android应用生命周期指的是应用从启动到关闭的整个过程。onCreate(创建):这个阶段是应用的入口点,应用会在这个阶段初始化并创建其界面。onStart(启动):这个阶段是应用还未可见时进行工作的地方,例如在后台执行某些重要的操作。onResume(恢复):这个阶段应用变为可见并且响应用户交互,通常向用户显示前台界面。onPause(暂停):这个阶段应用因为失去焦点而被暂停。在这个阶段,应用可能会保存数据并释放资源。
android framework面试经验分享
learnframework的博客
06-06 873
hi,粉丝朋友们!大家好!近来有很多学员粉丝都经常问framework面试的一些经验。
全网第一份对标阿里P8-年薪100万,一套免费Android高级工程师学习资源,百度网盘免费下载!
Android725的博客
11-08 901
PS:末尾有链接,记得点赞+评论666 免费获取! Android百度网盘下载资源包内容包括 1、x-min2020Android高级工程师学习脑图 2.对应脑图的学习资源+书籍 3.对应脑图的手写学习视频 4.对应脑图的系列学习笔记 1、架构师筑基必备(一共8份学习资料,用一份展示) x-min2020Android高级工程师学习脑图 对应脑图的学习资源+书籍 对应脑图的系列学习视频 点击【小破站直达】 对应脑图的系列学习笔记 目录总览 其他重要知识点 下面是有几位Android行业大佬对
2023Android面试深度解析:性能优化与内存泄漏
"2023年的Android高级开发工程师面试题及答案涵盖了性能优化、内存泄漏、ANR问题、Framework理解和ALDL等多个关键领域,旨在帮助面试者准备技术面试。" 在Android开发中,性能优化是衡量应用质量和用户体验的重要...
598
原创
4563
点赞
4614
收藏
5131
粉丝
关注
私信
写文章

热门文章

  • 为何底层原理让大家都成为了卷王? 22389
  • Kotlin语言现在怎么不火了? 18184
  • 开发2-3年,成功入职华为od,从12w涨薪到26w,分享一下其面试题 12272
  • 程序员面试中最常见的27个问题,拿走不谢 11624
  • 什么是Jetpack Compose?带你走进Jetpack Compose~ 7892

分类专栏

  • 知识点 98篇
  • 程序员 149篇
  • Android 251篇
  • 分享 71篇
  • 面试 84篇
  • Framework 19篇
  • Android框架 13篇
  • Flutter 1篇
  • 组件化 2篇
  • 音频开发 蒜你狠 9篇
  • UI 2篇
  • Kotlin 3篇
  • Jetpack 2篇

最新评论

  • 大模型Llama 3.1(三)Llama 3.1模型微调实战

    料理码王: 什么情况啊???朋友你有度盘的llama3.1吗???我用官网的方法根本下载不了!!!

  • Android实现原生分享功能

    AI老皮: 有帮助就行呢

  • Android实现原生分享功能

    m0_74167310: 谢谢作者大大,找了这么多答案,终于有一个能成功了!

  • Android Framework 11.0源码解析(系统启动、日志系统、Binder、编译原理等)

    雅俗先生: 卖课 的

  • 2023年Android FrameWork原生开发现状

    AI老皮: 是的 可乐

最新文章

  • ChatGPT入门到精通,收藏这一篇就够了!(含PDF)
  • 大模型 | RAG(检索增强生成)概念理论介绍,看这一篇够了!
  • 工业大模型市场图谱:53个工业大模型全面梳理(通用、行业、场景大模型)看这一篇就够了!
2024
09月 37篇
08月 71篇
07月 32篇
06月 4篇
05月 12篇
04月 12篇
03月 10篇
02月 8篇
01月 10篇
2023年135篇
2022年156篇
2021年111篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

天下网标王江干区网站优化哪里好宁波稳定网站优化公司网站seo如何优化效果好房山网站关键词优化雨花台区手机网站建设优化东莞电子网站优化哪个好宝山区360网站优化平台服务好的网站优化与推广咨询电话北京网站关键字优化咸宁外包网站优化哪里好网站排名优化找巧推网云浮外贸网站关键词优化费用坪地全国网站优化好的网站优化加盟项目酒店网站优化报价山东网站优化优化公司利于seo优化的网站云南网站优化推广平台遵化专业网站优化网站优化推广营销价格普洱网站优化方式新市区网站seo优化排名快排seo对网站的优化吗建材行业网站优化传播东莞机械网站优化怎么做万州网站推广优化安徽网站优化北京网站seo优化网站做优化沉思云速捷出众安徽网站首页优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化