Android 面试题

AOSP

Posted by LXG on March 4, 2024

2023年Android面试题及答案1w字的总结

编程语言

C/C++语言

  1. 指针函数和函数指针
  2. 数组作为函数参数

JAVA语言

设计模式

  1. 设计模式有哪几种
  2. java容器有哪些,哪个是线程安全的 ConcurrentHashMap
  3. http和https的区别
  4. tcp和udp的区别

Linux 基础

  1. 是否熟悉常见的Linux命令
  2. 是否熟悉git命令

App 层面

  1. Activity 四大启动模式
  2. 导致ANR的原因有几种
  3. 发生内存泄漏的根本原因是什么?常见内存泄漏有几种
  4. HelloWorld APP 有几个线程
  5. 安卓进程间通信方式有几种? 适用场景是什么?
  6. Service的启动方式有几种?(startForegroundService(前台服务), startIntentService(后台执行耗时任务, 执行完自动消亡))startService和bindService的区别是什么
  7. AndroidProfile工具
  8. android jetpach
  9. android 一个布局如何适配多种分辨率屏幕
  10. LocalBroadcastManager 和 BraoadCastRecever 的差异
  11. Handler机制的工作原理,android 中 ThreadLocal的作用(用来在不同线程中存放对应线程的looper), 同一个线程创建两个Handler对象,这两个对象是用的同一个Looper和消息队列吗?Looper是如何区分不同Handler的消息的
  12. android 数据缓存的几种方式
  13. 自定义View的步骤
  14. 主线程和子线程的通信方式

jetpack

开源框架

Android开源框架

性能优化

Android-Performance

系统层面

  1. 安卓系统的启动流程
  2. Binder 机制, Binder多线程, AIDL 通信的的线程是哪个
  3. Activity的父类
  4. Android进程中PID和UID的区别
  5. Activity的启动流程(Luancher–app-framewoek–app)
  6. 谈谈你对Context类的理解

业务

  1. Camera基本工作原理
  2. 安卓相机预览的基本工作流程

硬件层面

  1. 串口通信有几种, 232 和 485 串口的区别
  2. Modbus 协议
  3. MQTT 通信协议

如何做好一个面试官

  1. 弄清楚自己需要什么样的人才
  2. 平等交流,不要故意刁难对方
  3. 引导对方介绍自己擅长的领域(介绍上家公司的业务和自己担任的角色)
  4. 沟通和理解能力,成长能力, 个人价值观
  5. 问题要由易到难