前言

很多人面试之前,可能没有在互联网公司工作过或者说工作过但年头较短,不知道互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。

下述是我收录整理的Android面试题汇总,由于篇幅原因,在这只把数据结构与算法的题目列举出来,这是同系列的最后一小节了,后续我会把所有面试题内容整合到一起来发一篇《史上最全的Android面试题集锦》,大家可以关注一下我,及时知晓我的更新,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~

数据结构与算法

1、排序

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。

1.1、 直接插入排序

思想:

将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列。 对第四个数、第五个数……直到最后一个数,重复第二步。 代码:

首先设定插入次数,即循环次数,for(int i=1;i

2、设计模式

2.1、单例设计模式

单例主要分为:懒汉式单例、饿汉式单例、登记式单例。

特点:

  1. 单例类只有一个实例
  2. 单例类必须自己创建自己的唯一实例
  3. 单例类必须给所有其他对象提供这一实例。

在计算机系统中,像线程池,缓存、日志对象、对话框、打印机等常被设计成单例。

懒汉式单例:

Singleton通过将构造方法限定为private避免了类在外部被实例化,在同一个虚拟机范围内,Singleton的唯一实例只能通过getInstance()方法访问。(事实上,通过Java反射机制是能够实例化构造方法为private的类的,那基本上会使所有的Java单例实现失效。

它是线程不安全的,并发情况下很有可能出现多个Singleton实例,要实现线程安全,有以下三种方式:

1.在getInstance方法上加上同步

2.双重检查锁定

3.静态内部类

这种方式对比前两种,既实现了线程安全,又避免了同步带来的性能影响。

饿汉式单例:

饿汉式在创建类的同时就已经创建好了一个静态的对象供系统使用,以后不再改变,所以天生是系统安全。

以上就是Android数据结构与算法的面试题目,后续还会更新更多面试题内容,大家可以关注一下我,及时知晓我的更新,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~

Android架构师之路很漫长,一起共勉吧!

更多相关文章

  1. Android中LaunchMode详解
  2. Android客户端与PC服务器通过socket进行交互实例
  3. Android(安卓)启动服务配合AsyncTask 使用OKHttp 实现断点下载大
  4. android异步UI刷新实例总结
  5. 写给VR手游开发小白的教程:(五)Cardboard插件与Android之间的通信交
  6. Android(安卓)帧动画的实例详解
  7. 【Android(安卓)界面效果44】Android之圆头像实例
  8. Android中数据库常见操作实例分析
  9. android binder机制之——(我是binder实例)

随机推荐

  1. 轻量级Android(安卓)HTTP框架
  2. android:sqlite 数据库的事务详解
  3. Android(安卓)7.0新特性
  4. Android(安卓)XML小工具
  5. Android(安卓)中文API (94) —— MediaCont
  6. Android中的对话框
  7. android framework jni过程
  8. 更新android SDK的问题
  9. Android媒体解码MediaCodec MediaExtract
  10. Android内存分析和调优(下)