Android饿了么技术面试(已确认P7职位):四大组件+性能优化+XMPP+登录+Java+面试技巧等

面试内容模块包含:源码分析、Activity、Service、XMPP、性能优化、登录相关、开发相关、人事相关、Java面试、面试技巧、Android大佬们的经验之谈。

以下主要分享面经和个人学习方法,会包括很多PDF文档,如面试题库(含答案+解析)、学习笔记、实战文档和脑图等等,有需要的朋友可在文末获取这份笔记+所有资料文档哦!

###饿了么面试题

一面 - 基础面

  • 你们 Android 开发的时候,对于 UI 稿的 px 是如何适配的?
  • 两个值相等的 Integer 对象,== 比较,判断是否相等?
  • Activity A 跳转Activity B,Activity B再按back键回退,两个过程各自的生命周期
  • 子线程是否可以 context.startActivity() (如ApplicationContext), 会不会有什么问题?
  • Handler机制整体流程;Looper.loop()为什么不会阻塞主线程;IdHandler(闲时机制);postDelay()的具体实现;post()与sendMessage()区别;使用Handler需要注意什么问题,怎么解决的?
  • Native、H5、RN页面混合跳转时,页面清栈的桥如何实现的?
  • 怎么计算一个View在屏幕可见部分的百分比?
  • ClassLoader 的双亲委派机制
  • 简单介绍下 Https 的原理
  • 什么情况会导致内存泄漏,如何修复?
  • 下载一张很大的图,如何保证不 oom?
  • 有没有做过UI方面的优化,做过哪些?
  • WebView 与 JS 交互方式,shouldOverrideUrlLoading、onJsPrompt使用有啥区别
  • Flutter、Kotlin接触使用过没有
  • 其他项目相关问题
  • 算法 - 二叉树输出第 k 层节点元素

二面 - 项目专项

  • Native、H5、RN页面混合跳转时,页面清栈的桥实现
  • 页面混编框架的设计与难点
  • RN 通用容器的设计
  • 用户行为监控方案设计
  • JS 错误治理方案
  • RN 页面对用户行为的监控与JS错误治理,在问题发现有什么收获、优化点

三面 - 基础加深

  • 你们公司 Picasso 有使用过没,介绍下
  • Picasso 单引擎,在多 Bundle 的情况下怎么保证数据隔离的?
  • 省略若干项目相关问题…
  • RN 的页面追踪埋点如何实现的
  • 饿了么首页是否是 RN 页面,MTFlexBox 原理
  • synchronized 修饰 static 方法、普通方法、类、方法块区别
  • synchronized 底层实现原理
  • volatile 的作用和原理
  • 一个 int 变量用 volatile 修饰,多线程去操作 i++,是否线程安全?如何保证 i++ 线程安全?AtomicInteger 的底层实现原理?
  • 使用 AtomicInteger 可以使 i++ 线程安全
  • 说下对线程池的理解,以及创建线程池的几个关键参数
  • Handler 机制又问了一遍…
  • 介绍下 Binder 机制,与内存共享机制有什么区别?
  • Java 集合,介绍下ArrayList 和 HashMap 的使用场景,底层实现原理
  • ArrayList 与 LinkedList 的区别
  • 算法 - 两个有序的链表的合并
  • 算法 - 输入一个字符串(不含*和.)、正则(字母、*和.任意组合),判断字符串是否合法
  • 简单介绍下,项目中遇到的一些技术难点

接下来是面试复习资源:

目录

Android面试题

Android基础面试核心内容

  1. 写10个简单的linux命令
  2. 书写出android工程的目录结构
  3. 什么是ANR 如何避免它?
  4. 谈谈Android的优点和不足之处
  5. 一条最长的短信息约占多少byte?
  6. sim卡的EF文件有何作用?
  7. 如何判断是否有SD卡?
  8. dvm的进程和Linux的进程, 应用程序的进程是否为同一个概 念?
  9. Android程序与Java程序的区别?
  10. 启动应用后,改变系统语言,应用的语言会改变么?
  11. 请介绍下adb、ddms、aapt的作用
  12. ddms 和traceview的区别
  13. 补充知识:TraceView的使用

Android面试精华题目总结

1、详述Android系统架构,包括层与层之间调用、binder、jni、底层文件读写方法
2、描述自己的一个项目,要求画出结构图,UML图,详细描述项目种的技术点,技术难点以 及解决方案
3、一道算法
4、谈谈自己项目管理的方法、对敏捷,即原型开发软件开发的理解
5、请解释下在单线程模型中Message,Handler,MessageQueue,Looper之间的关系
6、如果有个100M大的文件,需要上传至服务器中,而服务器form表单最大只能上传2M,可 以用什么方法
7、内存溢出和内存泄漏有什么区别?何时会产生内存泄漏?内存优化有哪些方法?

Android面试重点知识

  • Android启动流程
  • Imageloader
  • 图片占用内存
  • 四种引用类型
  • 三级缓存
  • 图片压缩
  • EventBus
  • 常用的网络请求框架

源码分析相关面试题

Volley源码剖析

注解框架内部实现原理

okhttp内核剖析

Android源码编译实现静默安装和静默偷拍

Activity相关面试题

onSaveInstanceState源码内核分析

深刻剖析activity启动模式

Activity Task和Process之间的关系

为什么service里面startActivity抛异常

App优雅退出

onCreate源码分析

Service相关面试题

  • IntentService源码分析
  • IntentService有什么好处呢?
  • Service是否在main thread中执行, service里面是否能执行耗时的操作?

与XMPP相关面试题

  • 阐述一下对XMPP协议理解以及优缺点?
  • 简单阐述一下及时推送原理?

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

架构师筑基包括哪些内容

我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容

注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!



这份资料就包含了所有Android初级架构师所需的所有知识!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

603672133)]
[外链图片转存中…(img-HUR5NOlm-1712603672133)]
这份资料就包含了所有Android初级架构师所需的所有知识!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值