题库汇总目录 https://www.jianshu.com/p/172d63e0744a
Android大厂高频面试题目,所有题目都是来自于一线大厂真题,题目还会继续填充,答案正在完善中....
一、Android基础篇
二、Java基础篇
三、数据结构篇
四、高并发篇
五、性能优化篇
六、计算机网络篇
七、设计模式篇
八、编程/算法篇
九、开源代码篇
十、其他技术篇
十一、项目篇
十二、开放性题目篇
十三、HR篇
编程/算法篇
编程
- 两个线程实现同步打印数字,如线程1打印单数,线程2打印双数
- 比较两个版本号的大小
- 两个大整数相加输出结果
- 写一个自己觉得最优的单例
- 四个线程,前三个线程完成后才能让第四个线程执行,怎么实现
- 写一个自己觉得最优的单例
算法
- 经典的排序算法
- N中有多少个7 (77算两个7)
- 二叉树的层序遍历
- 算数表达式转化成二叉树
- 01背包问题
- 1.((1-3)(6-3))-2
输出 (1-3)(6-3)
1-3
6-3 - LeetCode 11 盛水最多的容器
- 两个无序数组,查找重复元素
- 链表上删除倒数第K个节点
- 写个二分查找
- 在旋转数组中输出一个数的index,不存在就输出-1
- 一个字符串去重且保持原有相对顺序
- 一个数组中,数都是成对出现只有一个是单独的 如何快速的找出它
- 链表逆转
- 最大子段和
- 层序遍历二叉树
- 合并两个有序的数组
- 归并排序
- 一个无序的int数组,给一个target数字找出数组中两个数字相加为target并输出坐标
- 桶排序
- 之字形打印二叉树
- 插入排序
- 快排
- 二维数组中全是0和1,求岛的个数
- 二维数组(n,n),横向和纵向都是升序,给定数字查找是否在其中:从(0,n)位置开始找,大于往下走,小于往左走
- 无序数组找第K大的值:采用快排思路,先按某个值划分大小组,如果大组数量大于K,那么用大组的数据继续进行大小组划分,如果大组数量小于K,累计记录大组的个数和,
- 两个有序链表合并成一个链表
- 二分查找
- 二叉树公式:
左节点:i2+1
右节点:i2+2
父节点:(i-1)/2
满二叉树节点个数:2k-1
完全二叉树深度:(log2n)+1