美文网首页
Android面试题总结(题目+复习链接)

Android面试题总结(题目+复习链接)

作者: 左岸咖啡zz | 来源:发表于2018-10-15 20:00 被阅读17次

数据结构

1.栈实现原理

java数据结构与算法之栈(Stack)设计与实现 - CSDN博客

2.链表实现原理

java数据结构与算法之顺序表与链表深入分析 - CSDN博客

3.队列实现原理

java数据结构与算法之(Queue)队列设计与实现 - CSDN博客

4.树实现原理

java数据结构与算法之树基本概念及二叉树(BinaryTree)的设计与实现

5.解释一下完全二叉树是什么?然后再完全二叉树里面找两个子节点的最近的祖先节点

6.了解二叉树吗,结构是怎样的,前序遍历的过程

7.如何判断单向链表是否成环?

8.给一个单链表反转的操作方案和它的时间复杂度。

9.数组与链表的区别,栈如何实现

算法

1.直接插入

2.希尔排序

3.简单选择

4.冒泡排序

5.快速排序

八大排序算法Java - CSDN博客

Java基础知识

1.Java String、StringBuffer(线程安全)和StringBuilder(不安全)区别

String,StringBuffer与StringBuilder的区别?? - Java天空 - CSDN博客

2.java中的四种引用

Java的四种引用方式 - 空谷幽澜 - 博客园

3. object中的wait方法和notify方法怎样联合使用;如何保证线程安全?wait()后要用什么唤醒?Lock()和synchronized有什么区别?;thread的run方法和start方法有什么不同;多线程的wait和sleep,join方法,停止线程的方法,stop?线程有stop方法;进程和线程的区别?;线程创建的方式有几种?;synchronized关键词的使用场合,修饰方法和代码块的区别;

Java多线程学习(吐血超详细总结) - CSDN博客

Java并发编程与技术内幕:Callable、Future、FutureTask、CompletionService - Evankaka的专栏 - CSDN博客

深入理解Java并发之synchronized实现原理 - zejian的博客 - CSDN博客

4.锁了解吗?锁要加在哪个地方,了解原子性吗,可见性呢?

5.线程池?

6.“==”和“equal”使用,还有一些使用上的区别

7. final关键字修饰的类和对象有哪些不同

浅析Java中的final关键字 - 海 子 - 博客园

8.Java集合类Vector、HashMap、ArrayList、LinkList;哪些集合是安全的,HashMap的put原理;java的容器有哪些?linkedList的存储结构是怎么样的;.Hashmap实现原理;向hashmap中put相同的key时会发生什么?如何避免hash冲突?;arraylist与linkedlist的区别,

9.jvm的垃圾回收了解吗?判断垃圾的方法有哪些,回收的算法有哪些?怎么进行的;如何判断对象是否已死,GC算法

Java GC 介绍 - CrazyPig的技术博客 - CSDN博客

Java GC如何判断对象是否为垃圾 - 胡子就不刮 - 博客园

10.java的反射机制

11.Java内存模型JMM

全面理解Java内存模型(JMM)及volatile关键字 - zejian的博客 - CSDN博客

Java系列笔记(3) - Java 内存区域和GC机制 - Daniel·广 - 博客园

12.scyronized 和 volitle  区别,votile原理

13.重载和重写的区别

java中重载与重写的区别 - 露露的博客 - 博客园

14.泛型擦除 

Java 泛型,你了解类型擦除吗? - frank 的专栏 - CSDN博客

15.类的加载过程

JVM类生命周期概述:加载时机与加载过程 - Rico's Blogs - CSDN博客

16.父类中的static为啥不能被子类覆盖?

17.浅拷贝和深拷贝 

Android知识

1.activity启动模式、Flag、生命周期;activity在与另一activity切换时如何保存数据?;onstop和onpause的区别;

2.activity的启动流程

3.内存泄漏以及解决办法

4.ListView的优化方案;recycleview与listview的各自优势有哪些

5.出现ANR的原因以及解决办法

6.handler机制以及原理

7.service与线程的区别;service中startservice与bindservice再停止时有什么区别;service和activity的context有什么不同;

8.view绘制过程、分发机制

9.binder源码

10.Android动画有哪些。属性动画与补间动画的区别

11.OKhttp源码;OKhttp 复用连接池怎么实现的

12..解释一下android中的dp和dpi的概念

13.都用过哪些后台加载的工具类

14..频繁的GC情况有遇到过吗?怎么处理

15.webview的优化,预加载,资源缓存,h5和Java交互,漏洞,API改动

16.自定义view的流程,做过哪些复杂的view,怎么实现的。有没有自定义过继承ViewGroup的复杂view

17.Gradle构建项目的过程,编译其他库的时候有碰到什么问题吗

18插件化和组件化有了解吗

19.APP的编译过程

20.屏幕适配方案

21.Android虚拟机的优化

22.getMeasureHeight、getMeasureWidth和getHeight、getWidth有何区别?activity在onCreate的时候就取到宽高吗?

23.安卓的四大组件,各自介绍一下?那些组件中可以执行耗时操作?

24.IPC?‘’如何实现进程间通信?

25.Retrofit源码,如何实现动态代理,和rxjava如何交互,可不可以设置多个convertFactory,如果设置了怎么办?如何动态确定?

26.Volley源码,缓存超时如何判断;volley,OKhttp有什么区别

27.广播,广播的注册形式,一定能收到吗

28.glide的寿命周期是怎么做到的

29.surfaceView吗

30.说一下你的下拉刷新,上拉会谈怎么做的。碰到什么困难

31.eventbus源码

32.httpclient,httpURLconnection内部实现

33.热修复原理,andfix,hotfix源码?

34.方法数超过65535怎么办?分包是哪个版本开始支持的,之前的版本不支持,如何加载dex文件。

35.bitmap的优化

计算机网络

1.https与http区别

2.https下的TCP链接与一般TCP连接有什么不同

3.http格式,常用状态码

设计模式

1.设计模式的六大原则,对六大原则的理解,在项目中的应用

2.了解哪些设计模式

3.单例模式如何实现线程安全

4.Builder模式 和set方法有什么区别

5.观察者模式   推和拉,有什么区别

6.MVC MVP MVVM 的区别,在项目中的应用;MVP如何进行解耦合,P如何实现V 和M 的交互;MVP开发模式的P会出现接口冗余,这会你需要怎么优化呢

7.静态代理和动态代理的区别

相关文章

网友评论

      本文标题:Android面试题总结(题目+复习链接)

      本文链接:https://www.haomeiwen.com/subject/kyrpoftx.html