Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库

以下主要分享面经和个人学习方法,会包括很多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饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第1张图片

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饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第2张图片

Android面试精华题目总结

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

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第3张图片

Android面试重点知识

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

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第4张图片

源码分析相关面试题

Volley源码剖析

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第5张图片

注解框架内部实现原理

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第6张图片

okhttp内核剖析

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第7张图片

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

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第8张图片

Activity相关面试题

本文在开源项目:Android开发不会这些?如何面试拿高薪! 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md) 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

Android饿了么技术面试(已确认P7职位),移动智能终端开发技术题库_第9张图片

你可能感兴趣的:(程序员,架构,面试)