-1 算法: - 常用排序算法以及复杂度 - 比较器用的哪种? - 快排怎么写? - 完全二叉树高度为n结点最多有多少? - 汉诺塔问题怎么解决? - 链表和数组的比较 - 二维数组二分查找的最优算法,数组元素从左到右从上到下递增 - 一个无序数组怎么找出两个和为特定值的数? - 快排后首尾两游标 - 12个鸡蛋有一个质量不同,如何只称三次测出 -
3网络 http1.1相比以前的版本有什么改变 七层/五层模型 tcp/ip分别对应哪层 https的对称加密 http和https,ssl和tls握手 tcp三次握手的过程? 四次挥手的过程?
4java public等四个权限关键字的区别 synchronized的用法区别,可否嵌套 hashmap底层实现,扩容策越,初始化 arraylist和linkedlist的实现和区别 classload的作用,双亲委托。 gc算法(优缺点),为什么叫新生代老生代(晋升机制) 强软弱虚四种引用的区别 静态内部类和内部类的区别 元空间有哪些东西 hashmap与hashtable的区别 java泛型类型擦除发生在什么时候,通配符有什么需要注意的 hashmap删除键值对的过程,扩容算法,hashcode和equals有什么关系 java保证线程安全有哪些方法 volatile和synchronized各有什么作用 浏览器打开一个网页的过程发生了什么 final作用 finalize的作用 try里面return了finally还会执行吗?执行顺序是? wait和sleep的区别,应用场景 gc发生在什么时候 死锁发生的条件
5android activity退出怎么保存数据 怎么把数据写入文件 picasso的缓存策略 lrucache底层实现 linkedhashmap底层实现 缓存文件怎么命名 Rxjava优缺点 自定义view有几个构造方法,第三个参数的作用 listview的convertview的作用,用viewholder为什么可以优化它 app被杀死怎么启动 耗电太多怎么破 怎么统计crash 怎么减少用户流量消耗 事件分发机制 ontouchlistener返回false才会调用onclicklistener 消息机制 view的绘制流程 放法数超过65535怎么办 binder anr bitmap怎么避免oom retrofit原理 recyclerview和listview异同 handler原理 activity生命周期 四中启动模式区别和应用场景 singletask启动的activity在哪个栈 安卓多线程和多进程的区别,进程和线程的区别 下拉刷新加载更多的原理 map与flatmap的原理 可不可以多次subscribeon,ObserveOn,会有什么后果 lambda表达式和匿名内部类的不同 开发过程中有没有遇到内存泄露的问题,怎么解决的 service生命周期以及两种启动方式的区别 实现ipc的方法有哪些 消息队列为空会怎样 换主题功能怎么实现 动画原理 怎么设计一个检测内存泄露的第三方框架 为什么用picasso不用更好的库 手写一个线程安全的单例模式 NP问题 断点调试功能怎么设计 app启动过程中的堆栈分配