Android 面试汇总

article/2025/10/12 22:25:04

一 Java 相关

容器相关:
HashMap 与 HashTable 差别,ArrayMap,LinkedList,ArrayList,ConcurrentHashMap 数组,等等
ConcurrentHashMap的1.7和1.8版本差异
LinkedHashMap实现原理
ArrayDeque实现原理
Java Object中有哪些方法?equals和hashCode方法什么时候会被重写?
Java 多线程并发问题汇总
Java中悲观锁与乐观锁,举例并说明其相关实现?
synchronized对不同方法的修饰,持有的锁对象的差异
说一下对于线程安全的理解,Java中线程安全与不安全的集合类有那些?
内存模型
垃圾回收算法(JVM)
垃圾回收机制和调用 System.gc()的区别?
平时项目中对于锁的应用
类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
反射
多线程和线程池,Java线程中interrupt()、interrupted()和isInterrupted()分别代表什么意思?

JAVA 设计模式系列
设计模式(六大基本原则、项目中常用的设计模式、手写单例等)

Java 四大引用
Java 的泛型,泛型擦除,什么情况下不会出现泛型擦除
final、finally、finalize 的区别
接口、抽象类的区别
动态代理与静态代理

二 Android 相关

自定义 View
View绘制流程,从Vsync信号到ViewRootImpl到最终View的draw
事件传递机制,结合滑动冲突具体场景解决问题
Apk安装过程
内存泄漏,Handler如何导致Activity内存泄漏,如何做检测,引用的链路到GCRoot
Fragment生命周期
Activity各类启动模式下的切换状态后显示状态
屏幕反转Activity的生命周期变化
Dialog弹起背后的Activity生命周期发生何种变化?
解决过的一些性能问题,在项目中的实际运用
性能优化工具
性能优化 (讲讲你自己项目中做过的性能优化)
Dalvik和ART的区别
Http[s]请求慢的解决办法(DNS、携带数据、直接访问 IP)
缓存自己如何实现(LRUCache 原理)
图形图像相关:OpenGL ES 管线流程、EGL 的认识、Shader 相关
SurfaceView、TextureView、GLSurfaceView 区别及使用场景
动画、差值器、估值器(Android中的View动画和属性动画 - 简书、Android 动画 介绍与使用)
MVC、MVP、MVVM
AsyncTask、IntentService 原理及应用
Handler实现机制,同步屏障,IdleHandler
HandlerThread的实现原理
Gradle(Groovy 语法、Gradle 插件开发基础),Glide中生命周期如何实现的,Glide如何加载一个Gif图
热修复、插件化
组件化架构思路
系统打包流程
Android 有哪些存储数据的方式。
SharedPrefrence 源码和问题点;
sqlite 相关
如何判断一个 APP 在前台还是后台?
AMS 、PMS
Activity 启动流程,App 启动流程
Binder 机制(IPC、AIDL 的使用)
为什么使用 Parcelable,好处是什么?
Android 图像显示相关流程,Vsync 信号等
EventBus的实现原理,粘性事件是如何实现的?为什么要用EventBus,其优势在哪里?
Retrofit的实现原理结合动态代理来问
Picasso与Glide的区别(缓存的差异性)
Volley与Okhttp的差异性,Okhttp的实现与其优势
多进程的数据库与文件操作该如何实现?
RecyclerView中的缓存实现原理
RecyclerView中ItemDecoration的实现原理
SparyArray和ArrayMap的实现原理?
使用过RxJava和Retrofit吗?
SurfaceView和TextureView的区别
Surface为什么要用双缓冲机制?
Bitmap大图加载的优化策略?
SharePreference的commit和apply的区别

三 算法与数据结构

二维坐标系中有一些点,找出一点直线覆盖尽可能多的点
链表表示一个数字,求两个数字相加之和,返回一个链表
链表反转
无序数组中查找两个和为某一个值的数字,返回索引值
时间复杂度 / 空间复杂度
常用的排序算法有哪些?
字符串反转
链表反转(头插法)
如何查找第一个只出现一次的字符(Hash查找)
如何查找两个子视图的共同父视图?
无序数组中的中位数(快排思想)
如何给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
二叉树前序、中序、后序遍历
什么是完全二叉树?
二叉树的最低深度路径打印
最大 K 问题
广度、深度优先搜索算法
String 转 int。核心算法就三行代码,不过临界条件很多,除了判空,还需要注意负数、Integer 的最大最小值边界等;
如何判断一个单链表有环?
100 亿个单词,找出出现频率最高的单词。要求几种方案;
链表每 k 位逆序;
镜像二叉树;
找出一个无序数组中出现超过一半次数的数字;
计算二叉树的最大深度,要求非递归算法。
String 方式计算加法。
字符串中最长不重复子串
背包问题(最大容量与最大价值)
动态规划与递归的差异性,什么问题可以用动态规划,什么问题不可以
排序算法类型与复杂度,有没有更优的优化空间
排序算法复杂度中nlgn中的lgn是怎么来的
堆排序相关,堆排序中的堆与堆栈中堆的差异性
两个字符串,求其最长子串?例如abc1234,123bc(暴力方法的复杂度,动态规划的复杂度)

对于算法问题,需要找到最优解,手写达到Bug free的水平,同时对于各种解决方式都能够给出时间复杂度,同时给出时间复杂度的计算过程。

四 计算机基础

TCP三次握手,四次挥手
DNS解析过程
Http和Https的区别
Https的建立连接过程
什么是死锁?如何产生?如何消除?
TCP拥塞控制与流量控制实现?
弱网下网络请求的处理策略,结合直播场景
了解那些设计模式?
工厂设计模式的优点在于什么?
外观设计模式和策略模式的是如何在项目中应用的?
有使用过那些加密算法?
怎么理解原子性和可见性?
如何保证原子性?
Https中数据传输是对称加密还是非对称加密?
补码表示方式,int最大值加2后等于多少

五 技能树

在这里插入图片描述

持续更新中。。。


http://chatgpt.dhexx.cn/article/HMTSHKb3.shtml

相关文章

android+面试题

1.常用的存储方式有哪些?(概率50%) (五种,说出哪五种,五种存储方式什么情况下用。)注意sharepreferes对象支持读取不支持写入,写入引用Editor。 SQLite: SQLite是一个轻量…

安卓面试总结(7)——计算机网络 I

上一篇 安卓面试总结(6)——Java 虚拟机 II 上一篇 Java 的内容完美收官,内容不多,详细的可以去看我的 Java 读书笔记博客。接下来是我对计算机网络的总结,一样是以第一篇的资料为主,加上自己去翻教材吧。…

今年Android面试有新要求,资深面试官口述了这几个点

前言 这个月解决了两个高端岗位,马上也就要入职了。成果也是蛮显著的。 但是这个月的放鸽率也是非常高,有点颇受打击了。今天本来约面4个人的,结果只来了一个。本来都是极有信心的,虽然后面也都是候选人主动沟通说明原因&#x…

Android面试专题 | 大厂安卓开发高频面试真题174问(附详细答案)

每年求职季就是修罗场,无数人削尖了脑袋想进大厂,我身边当然不乏和我一样心怀大厂梦的人,但大家也都清楚进入大厂的难度有多高。 在入职谷歌之前我也曾经历无数坎坷,陷入过技术瓶颈和人生低谷,面试前艰苦的复习与面试…

最全Android面试题汇总(面试总结全)

java基础,数据结构,网络,Android相关等等。适合中高级工程师 相关链接:(郭霖大神推荐必看)Android必须知道的史上最全框架、最全开源App(高级开发人员必看,面试必看) https://blog.csdn.net/u…

安卓面试题2

Android面试题2 Android 四大组件 一.四大组件:Android四大组件分别为activity、service、content provider、broadcast receiver。 一、android四大组件详解 1、activity (1)一个Activity通常就是一个单独的屏幕(窗口&#…

安卓开发常见面试问题总结

自己就之前的面试经历,以及其他比较常见的安卓开发面试的问题做的一些总结 安卓开发常见面试问题总结 自我介绍JavaJava基础基础知识1. Java语言的特性2. Java的基本数据类型3. 和equals的区别。4. 重写equals有哪些要点?5. 什么是自动装箱、自动拆箱6. …

Android面试攻略

文章背景 好记性不如烂笔头 Android层面 一、Android基础 1、四大组件的意义及使用,生命周期回调及意义 2、AsyncTask、Handler的使用 3、Android系统层次框架结构 4、AsyncTask的实现方式 5、AsyncTask使用的时候应该注意什么 6、Android常见的存储方式 7、Loop…

【Android面试】这是一份全面详细的Android面试指南~

2022年算是非常坎坷的一年了,各行各业都不容易,但这也让我们更加相信未来一定会变好。 作为Android程序员,大家在新的一年大概都想有所突破吧,这里就给大家一些Android面试的建议,希望能够对大家有所帮助:…

安卓面试基础(如会必过)

Activity 1、 什么是Activity? Activity是四大组件之一,他给用户的感受就是一个用户交互界面。一个Activity就是一个可见的界面。 他的特点是:1、可见 2、可交互 他之所以可交互,是因为他同时实现了Window.Callback和KeyEvent.Callback, 可以…

Android最常见的174道面试题:2023最新版

Android 新手在谋求开发岗位之前,必须熟知 Android 的基础知识。这里,我总结了2020-2022 Android 面试中最常见的174道题,既有基础内容,也有高阶技术,每道题都根据行业大牛优质回答总结了答案解析。希望能够帮助大家在…

Android 面试(Android 篇)

Android 面试 安卓篇 一、跨进程通信的几种方式二、多进程应用使用场景三、Binder 机制 (进程间的通信)四、说一说 ANR五、什么是OOM,如何避免解决六、内存泄露,内存溢出,内存抖动七、Webview 常见的坑八、屏幕旋转后的…

Android面试大总结

面试题:你似乎来到了没有知识存在的荒原 - 知乎 字节跳动Android面试题目与答案(2020) 2020年开春最新面试!字节跳动安卓面试题及答案 (已拿到 offer) Android面试必备26题(阿里腾讯总结)含答案 Androi…

成功入职字节跳动的小姐姐告诉你,Android面试吃透这一篇就没有拿不到的offer!

文章目录 写在前面来,发车了!1. 战略定位:Android面试都会问些什么?2. 运筹帷幄:我需要形成什么样的知识体系?3. 披襟斩将:我需要掌握多少知识?4. 锦上添花:面试过程中适…

app商城测试点

购物车 功能测试: 1.页面是否与UI保持一致 2.能否正常加入购物车 3.账号未登录能否添加商品到购物车 4.账号登录能否添加商品到购物车 5.没有库存的商品是否可以加入购物车 6.单个商品的数量上限最多能添加到购物车 7.收藏列表是否能正常增加 8.数量是否可以手动修改…

APP端测试常见的功能点

一、安装、卸载、更新、运行 1.安装、卸载 应用是否可以正常安装(命令行安装;apk/ipa安装包安装)(有网,无网是否都正常)卸载过程中出现死机,断电,重启等意外的情况&…

万字长文!Unix和Linux你不知道的那些历史(详解版)

作者 | 程序员小乐 来源 | 程序员小乐(ID:study_tech) 00 前言 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期&#xff…

Unix, Linux 和MacOS

常见问题 我常常会听到类似的问题: Unix, Linux和MacOS之间有什么联系? 又有什么区别? 先说结论: Linux是类Unix的操作系统, 其内核上的大部分软件是按照POSIX协议运行,所以跟Unix系统上运行效果类似.MacOS的内核是在Unix的家族分支上的,其内核是基于NeXTSTEP和FreeBSD混合…

Ubuntu/Linux/Unix 究竟有什么区别??

导言 经常在和别人讨论的时候,老是会听见别人说:“我的是linux系统”、“我的是ubuntu系统”、“我的是unix系统”,那么三者到底有什么区别呢?这种说法又对不对呢? 网上搜集了资料整理了一下,和大家一起学…

Linux和UNIX操作系统的关系及区别(详解)

摘要: 通过介绍 linux 和 unix 的发展历史,说明 unix 与 Linux 的关系与区别。最后阐述了 unix / Linux 系统的结构(内核层、shell层、应用层)。 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中…