Android 最全面面试整理

来源:互联网 发布:数据分析 培训 编辑:程序博客网 时间:2024/06/04 19:50

转载于Github:https://github.com/helen-x/AndroidInterview

https://github.com/helen-x

面经与准备

  • 我面试到底问什么?

  • 如何做好面试题目准备,将面试成功率提高80%

  • 面试最经典的九大问题,教你答好变“面霸”!

  • 面试前15个你最需要准备的问题,以及面试官背后隐藏的意思

Android

基础
  • Android 源码中的设计模式(你需要知道的设计模式全在这里)

  • 全面了解Activity

  • Service全面总结

  • IntentService使用详解和实例介绍

  • Fragment 全解析

  • ContentProvider实例详解

  • BroadcastReceiver使用总结

  • Android异步任务机制之AsycTask

  • Android启动过程图解

  • Android 自定义View入门

  • Android 自定义ViewGroup入门实践

  • Android 缓存机制

  • Android 数据存储五种方式使用与总结

  • Android 异步消息处理机制源码解析

  • Android View事件分发机制源码分析

  • Android SQLite的使用入门

  • AIDL的使用情况和实例介绍

  • Android 名企面试题及答案整理(一)

问题
  • Android5.0、6.0、7.0新特性

  • Android中弱引用与软引用的应用场景

  • Android长连接,怎么处理心跳机制

  • Asset目录与res目录的区别

  • Binder机制原理和底层实现

  • Json优劣势

  • ListView优化

  • android中图片缓存

  • 两类动画

  • 五大布局易混淆知识

  • 保证service不被杀死

  • 加速启动activity

  • 怎样退出终止App

  • activity切换动画

外链
  • 布局性能优化(include, viewstub, merge)

  • DOM、SAX、Pull解析XML

Java

基础
  • ArrayList、LinkedList、Vector的区别

  • Collection包结构,与Collections的区别

  • Excption与Error包结构,OOM和SOF

  • HashMap和HashTable的区别

  • HashMap源码分析

  • Hashcode的作用

  • Map、Set、List、Queue、Stack的特点与用法

  • Object有哪些公用方法?

  • Override和Overload的使用规则和区别

  • Switch能否用string做参数?

  • ThreadLocal的使用规则和源码分析

  • ThreadPool用法与示例

  • equals与==的区别

  • try catch finally,try里有return,finally还执行么?

  • 九种基本数据类型的大小,以及他们的封装类

  • 从源码分析String、StringBuffer与StringBuilder区别和联系

  • 多线程下生产者消费者问题的五种同步方法实现

  • 实现多线程的两种方法

  • 接口(Interface)与 抽象类 (Abstract)使用规则和区别

  • 方法锁、对象锁和类锁的意义和区别

  • 四种引用,强弱软虚,用到的场景

  • 线程同步的方法:sychronized、lock、reentrantLock分析

  • 集合框架的层次结构和使用规则梳理

  • 面向对象的三个特征与含义

  • static的作用和意义

  • 多态实现的JVM调用过程

  • wait()和sleep()的区别

  • git命令使用

  • Java与C++对比

外链
  • java反射

  • java回调

  • Java泛型

  • java 新特性

  • Java IO与NIO

  • foreach与正常for循环效率对比

数据结构

基础
  • 九大基础排序总结与对比(排序算法一网打尽)

  • AVL树和AVL旋转、哈夫曼树和哈夫曼编码

  • B(B-)树、B+树、B树

  • Hash表、Hash函数及冲突解决

  • KMP的一个简单解释

  • 二分查找与变种二分查找

  • 二叉树前中后、层次遍历算法

  • 图的BFS、DFS、prim、Dijkstra算法

  • 字符串操作

  • 数组与链表的优缺点和区别

  • 红黑树

  • 队列和栈

外链
  • 海量数据处理

算法

基础
  • 二叉搜索树与双向链表

  • 二叉树中 和为某值 的所有路径

  • 二叉树的镜像

  • 二维数组中的查找

  • 二进制中1的个数

  • 从上往下打印二叉树

  • 从尾到头打印链表

  • 判断二叉搜索树的后序遍历序列

  • 判断栈的弹出序列

  • 判断树B是不是树A的子结构

  • 包含min函数的栈

  • 反转链表

  • 变态跳台阶

  • 合并两个排序链表

  • 复杂链表的复制

  • 字符串中空格替换

  • 字符串的顺序全排列

  • 数组中出现次数超过一半的数字

  • 斐波那契数列

  • 旋转数组的最小数字

  • 浮点数的整数次方

  • 用两个栈实现队列

  • 矩形覆盖

  • 调整数组顺序使奇数位于偶数前面

  • 跳台阶

  • 重建二叉树

  • 链表中倒数第k个结点

  • 顺时针打印矩阵

外链
  • 分治算法

  • 动态规划

  • 贪心算法

  • 分支限界法

0 0