小米面经

小米面试已经有一段时间了,好多问题都不记得了,只能把记得的一些问题写下来。

一面:

线程间通信方式。

线程安全类,hashmap的fail-fast原因,采用

volatile  可见性,原子性,AtomicInteger。

还有handler传递原理,ThreadHandler,IntentServer的原理。涉及到ThreadLocal。

以及,listview怎么实现重复利用的

算法题很简单,翻转链表,3个3个翻转。


二面:

binder实现原理,为什么采用binder,而不采用linux其他进程间通信的方式。

然后是一个算法题。

a可以代表1,b代表2,c代表3......z代表·26,问题是,给你一串数字,写出所有的可能组成的方式。比如11可以代表


忘得差不多了,就先记下这些吧。

在记录下好未来的两道算法题。

一面:

最大子矩阵和,动态规划。

由01组成的举证,求由1组成的最大子矩阵的面积(二维单调栈)。

二面:

最大上升子序列的值(动态规划,类似还有最长上升子序列(连续和非连续),最长公共子序列,)

你可能感兴趣的:(算法)