客户端面试

  • 100级台阶,每次上一步或两步,有多少种走法。

573147844013817084101
21

  • 如果200级,你估计有多少种走法(不用编程)。

453973694165307953197296969697410619233826
42

不用编程,估算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.math.BigInteger;
public class Main {

public static void main(String[] args) {
int n = 200;
BigInteger a = BigInteger.ONE;
BigInteger b = BigInteger.ONE;
BigInteger res = BigInteger.ZERO;
for (int i = 2; i <= n; i++) {
res = a.add(b);
a = b;
b = res;
}
System.out.println(res);
System.out.println(res.toString().length());

}
}
  • 给出一个数组,找出两个数[a,b]和为n,不存在则返回[-1,-1]。写出两种解法,不能暴力穷举。

  • 讲讲面向过程、面向对象、面向切面。

  • 指针和数组的关系和区别。

  • 讲讲Android handler。

  • 队列和栈的区别和用途。

  • 两个栈实现队列。

  • 输入Url到浏览器显示过程。

  • http请求方法。

  • get和post区别。

  • surficeView和view的区别。

  • app从点击图标开始的启动全过程。

  • 什么是线程安全。

  • 线程安全有哪些机制。

  • 如何保证 int加加(加号打不出来)线程安全。

  • Android线程间通信有哪些机制。

  • cpu调度方式有哪些。

  • 空间局部性和时间局部性。

  • 数据库乐观锁和悲观锁。

  • 数据库索引作用,优缺点。

  • TCP拥塞控制。

  • https加密传输过程。

  • java内存模型。

  • java垃圾回收算法有哪些。

  • 讲讲标记清除算法。

  • java四中引用。

# 面试

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×