GitHub标星3.5K+【Android校招面试指南】
目录
Java
- Java基础
- Java并发
- Java虚拟机
Android
- Android基础
- Android进阶
- 开源框架
数据结构
- 线性表
- 栈和队
- 树
- 图
- [散列查找
- 排序
- 海量数据处理
算法
- 剑指offer
- LeetCode
设计模式
- 创建型模式
- 结构型模式
- 行为型模式
计算机网络
- TCP/IP
- HTTP
- HTTPS
操作系统
- 概述
- 进程与线程
- 内存管理
数据库
- SQL语句
面试题解析
第一章
Java基础
- Java集合框架
- Java集合——ArrayList
- Java集合——LinkedList
- Java集合——HashMap
- Java集合——TreeMap
- Java集合——LinkedHashMap
- Java泛型
- Java反射(一)
- Java反射(二)
- Java反射(三)
- Java注解
- Java IO(一)
- Java IO(二)
- RandomAccessFile
- Java NIO
- Java异常详解
- Java抽象类和接口的区别
- Java深拷贝和浅拷贝
- Java transient关键字
- Java finally与return执行顺序
- Java 8 新特性
Java并发
- Java创建线程的三种方式
- Java线程池
- 死锁
- Synchronized/ReentrantLock
- 生产者/消费者模式
- volatile关键字
- CAS原子操作
- AbstractQueuedSynchronizer详解
- 深入理解ReentrantLock
- Java并发集合——ArrayBlockingQueue
- Java并发集合——LinkedBlockingQueue
- Java并发集合——ConcurrentHashMap
Java虚拟机
- 对象的创建、内存布局和访问定位
- Java内存区域与内存模型
- Java类加载机制及类加载器详解
- JVM中垃圾收集算法及垃圾收集器详解
- JVM怎么判断对象是否已死?
第二章 Android
Android基础
- Activity全方位解析
- Service全方位解析
- BroadcastReceiver全方位解析
- ContentProvider全方位解析
- Fragment详解
- Android消息机制
- Android事件分发机制
- AsyncTask详解
- HandlerThread详解
- IntentService详解
- LruCache原理解析
- Window、Activity、DecorView以及ViewRoot之间的关系
- View测量、布局及绘制原理
- Android虚拟机及编译过程
- Android进程间通信方式
- Android Bitmap压缩策略
- Android动画总结
- Android进程优先级
- Android Context详解
Android进阶
- Android多线程断点续传
- Android全局异常处理
- Android MVP模式详解
- Android Binder机制及AIDL使用
- Android Parcelable和Serializable的区别
- 一个APP从启动到主页面显示经历了哪些过程?
- Android性能优化总结
- Android 内存泄漏总结
- Android布局优化之include、merge、ViewStub的使用
- Android权限处理
- Android热修复原理
- Android插件化入门指南
- VirtualApk解析
- Android推送技术解析
- Android Apk安装过程]
- PopupWindow和Dialog区别
开源框架
- OkHttp解析
- Retrofit解析
- EventBus解析
第三章 数据结构
- 线性表
- 栈和队
- 树
- 树的基础
- 其他常见的树
- 并查集
- B-树,B+树,B*树]
- 图
- 图的基础
- 拓扑排序
- Kruskal算法
- Prim算法
- Dijkstra算法
- Floyd算法
- 散列查找
- 排序
- 海量数据处理
第四章 算法
- 剑指offer
- 01.二维数组中的查找
- 02.替换空格
- 03.从尾到头打印链表
- 04.重建二叉树
- 05.用两个栈实现队列
- 06.旋转数组的最小数字
- 07.斐波那契数列
- 08.二进制中1的个数
- 09.打印1到最大的n位数
- 10.在O(1)时间删除链表节点
- 11.调整数组顺序使奇数位于偶数前面
- 12.链表中倒数第K个节点
- 13.反转链表
- 14.合并两个排序的链表
- 15.树的子结构
- 16.二叉树的镜像
- 17.顺时针打印矩阵
- 18.包含min函数的栈
- 19.栈的压入、弹出序列
- 20.从上往下打印二叉树
- 21.二叉搜索树的后序遍历序列
- 22.二叉树中和为某一值得路径
- 23.复杂链表的复制
- 24.二叉搜索树与双向链表
- 25.字符串的排列
- 26.数组中出现次数超过一半的数字
- 27.最小的k个数
- 28.连续子数组的最大和
- 29.求从1到n的整数中1出现的次数
- 30.把数组排成最小的数
- 31.丑数
- 32.第一个只出现一次的字符
- 33.数组中的逆序对
- 34.两个链表的第一个公共结点
- 35.在排序数组中出现的次数
- 36.二叉树的深度
- 37.判断平衡二叉树
- 38.数组中只出现一次的数字
- 39.和为s的两个数字
- 40.和为s的连续正数序列
- 41.翻转单词顺序
- 42.左旋转字符串
- 43.n个骰子的点数
- 44.扑克牌的顺子
- 45.约瑟夫环问题
- 46.不用加减乘除做加法
- 47.把字符串转换成整数
- 48.树中两个结点的最低公共结点
- 49.数组中重复的数字
- 50.构建乘积数组
- 51.正则表达式匹配
- 52.表示数值的字符串
- 53.字符流中第一个不重复的字符
- 54.链表中环的入口结点
- 55.删除链表中重复的结点
- 56.二叉树的下一个结点
- 57.对称的二叉树
- 58.把二叉树打印出多行
- 59.按之字形顺序打印二叉树
- 60.二叉搜索树的第k个结点
- 61.数据流中的中位数
- 62.滑动窗口的最大值
- 63.矩阵中的路径
- 64.机器人的运动范围
LeetCode
- Dynamic Programming
- Distinct Subsequences
- Longest Common Subsequence
- Longest Increasing Subsequence
- Best Time to Buy and Sell Stock
- Maximum Subarray
- Maximum Product Subarray
- Longest Palindromic Substring
- BackPack
- Maximal Square
- Stone Game
- Array
- Partition Array
- Subarray Sum
- Plus One
- Palindrome Number
- Two Sum
- String
- Restore IP Addresses
- Rotate String
- Valid Palindrome
- Length of Last Word
- Linked List
- Remove Duplicates from Sorted List
- Partition List
- Merge Two Sorted Lists
- LRU Cache
- Remove Linked List Elements
- Greedy
- Jump Game
- Gas Station
- Candy
- 创建型模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 单例模式
- 建造者模式
- 结构型模式
- 适配器模式
- 外观模式
- 装饰者模式
- 代理模式
- 行为型模式
- 命令模式
- 迭代器模式
- 观察者模式
- 策略模式
- 模板方法模式
第五章 计算机网络
- TCP/IP
- HTTP
- HTTPS
- 概述
- 进程与线程
- 内存管理
本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
由于篇幅原因,这份面试宝典已经被整理成了PDF文档,有需要Android全套面试宝典全套完整文档的麻烦点赞+评论【1】即可获取资料免费领取方式!
还没有评论,来说两句吧...