面试题目 可以出给别人的笔试面试题
面试题目
##我想出的笔试题目
算法题目
- 实现一个链表,提供一个插入方法,要求数据内不会有重复元素,并且按时间戳排列。
class mode{ int id, long ts } void insert(){
}
-
判断n!有几个零
-
输出一个二分树的所有路径
-
唯一的数字
-
一个排序数组 给出一个数 找出大于这个数中最小的数
-
一个排序的数组 找出 3 5 7 8 11 15 16 找 12 [-3,3,6,9]
-
一个数组,里面有一个数出现的次数大于一半,找出它。 (快排或count计数法)
android面试题
-
线程并发 线程池
-
内存泄露 界面卡顿 性能优化经验
-
Binder 简要绘制流程
-
ContentProvider原理 handler原理 epoll
-
classloader的机制
-
熟悉MVP模式吗 android studio module
-
Fragment与Fragment怎么传递信息?
其他软实力
-
你之前做的项目里有哪些你觉得特别不错的技术?
-
一般一个项目里面的各种java文件你是怎么分包的?
-
自定义动画卡顿的优化思路
-
项目中如何解耦合
listview view 点击理解 图文混排理解 多行混排
快排
public static void quickSort(int[] data, int start, int end) {
// 设置关键数据key为要排序数组的第一个元素,
// 即第一趟排序后,key右边的数全部比key大,key左边的数全部比key小
int key = data[start];
// 设置数组左边的索引,往右移动比key大的数
int i = start;
// 设置数组右边的索引,往左移动比key小的数
int j = end;
// 如果左边索引比右边索引小,则还有数据没有排序
while (i < j) {
while (data[j] >= key && j > i) {
j–;
}
data[i] = data[j];
while (data[i] < key && i < j) {
i++;
}
data[j] = data[i];
}
// 此时 i==j
data[i] = key;
// 递归调用
if (i - 1 > start) {
// 递归调用,把key前面的完成排序
quickSort(data, start, i - 1);
}
if (i + 1 < end) {
// 递归调用,把key后面的完成排序
quickSort(data, i + 1, end);
}
}
求平方根
入求 100 的平方根, a 与 100/a 肯定是一个大于 100 的平方根,一个小于 100 的平方根的,以此迭代。
A activity 调用B activity 生命周期的调用顺序
A–onPause B–oncreate onstart onresume A–onStop 若A未被完全遮盖,即B透明,则 onStop 不一定会调用。
写一个LRU cache
apk 编译过程 介绍
SurfaceView 和 TextureView 的区别与优势
双缓冲,textture存在一些延迟
blog comments powered by Disqus