Android 面试问答

时间:2023-12-01 21:46:38

Android 面试问答

目录

  • 数据结构和算法
  • java核心知识
  • Android核心知识
  • 架构
  • 设计相关问题
  • 相关工具和技术
  • Android 测试驱动开发
  • 其他

数据结构和算法

******关于此类问题的难易程度完全取决于你所面试的单位 *****

  • 数组
  • 链表
  • 双向链表
  • 队列
  • 优先队列
  • 动态规划(Dynamic Programming)
  • 字符串处理(string Manipulation)
  • 二叉树(Binary Tree)
  • 二叉搜索树(Binary Search Tree)
  • 排序算法(Sorting Algorithms)
  • Hash Table & Hash Map
  • 广度优先搜索算法(breadth First Search, BFS)
  • 深度优先搜索(Depth First Search)
  • 贪心算法(greedy algorithm)

Java核心知识

  • 解释面向对象的概念
  • 抽象类和接口有什么不同?
  • 什么是序列化(serialization),你是怎么实现的?
  • 什么是单例类?
  • 什么是匿名类(anonymous classes)?
  • 处理一个string类型的数据时,== 和 equals 有什么区别?
  • hashcode() 和 equals() 是用来做什么的?
  • 什么是内存泄漏?Java是如何处理这个问题的?
  • 什么是垃圾回收机制?它是如何工作的?
  • Java中的类型转换
  • 方法重写和方法重载有什么区别?
  • 你知道哪些访问修饰符(the access modifiers)?他们各自的作用是什么?
  • 接口可以继承另一个接口吗?
  • Java中 static关键字是什么含义
  • Java中静态方法可以被重写吗?
  • 什么是多态(Polymorphism)?什么是继承(Inheritance)?
  • Integer和int有什么区别?
  • 详述下Java中对象的引用和值传递(objects get passed by reference)
  • 什么是 ThreadPoolExecutor?
  • 局部变量(local variables),成员变量(class variables),实例变量(instance variables)有什么不同?
  • 什么是反射?
  • Java中的弱引用,软引用,虚引用(strong, soft and weak references)是什么?
  • 什么是依赖注入(dependency injection)?能说出几个相关的库么?你有没有用过?
  • synchronized关键字是什么意思?
  • 为什么说String类型的变量是不可修改的(immutable)?
  • transientvolatile修饰符是什么?
  • 一个对象的实例化(instantiation)和初始化(initialization)有什么区别
  • 静态代码块(static block)什么时候执行?
  • 解释下Java中的泛型(Generics)
  • StringBufferStringBuilder有什么区别?
  • 什么是自动拆装箱(Autoboxing and Unboxing)?
  • 什么是设计模式(design patterns)?

Android 核心知识

未完待续。。。