Android 面试题集(2019-04-04总结)

这是一份详细的Android面试题集,涵盖了Java基础知识、Android核心组件、数据结构与算法、常用开源库以及计算机网络等多个方面。内容包括Java的线程、集合、异常处理、反射、注解,Android的Activity、BroadcastReceiver、Service、Handler、Fragment等组件的使用和生命周期,以及数据持久化、图片加载、WebView、动画机制等。此外,还涉及了算法如排序、查找、数据结构如数组、链表、堆,以及RxJava、OkHttp、Retrofit等常用库的使用。面试题集旨在帮助求职者全面准备Android相关的面试。
摘要由CSDN通过智能技术生成

Android 面试题集(2019-04-04总结)

ClAndEllen [code小生](javascript:void(0)😉 2019-06-25

作者:ClAndEllen

链接:https://www.jianshu.com/p/98255550b41e

一份Android面试题集,适应于实习 & 初级工程师 & 中级工程师,高级工程师勉强吧。笔者不提供答案,但是会提供学习链接,旨在能帮助广大Android学习者找到心仪的Offer,文章底部是笔者收集的一些有关面试的文章链接,希望Android求职者认真研读,准备面试,并顺利找到Offer。如果你是Android学习者,请订阅笔者的Android知识体系总结(全方面覆盖Android知识结构,面试&进阶),本篇文章中的问题可以从文章中找到答案,谢谢支持。查阅答案,请star项目AndroidFace

本面试题集只应对于Android求职者,有5个模块:
  Java部分
  Android部分
  数据结构与算法部分
  常用的开源库部分
  计算机网络认识

1.Java部分

1.1 操作系统相关

  • 1.什么是操作系统?
  • 2.什么是线程,什么是进程?

1.2 JDK&JVM&JRE

  • 1.JDK & JVM & JRE分别是什么以及它们的区别?
  • 2.解释一下为什么Java可以跨平台?

1.3 面向过程 & 面向对象

  • 1.什么是面向过程 & 什么是面向对象 & 区别?
  • 2.给我说说Java面向对象的特征以及讲讲你代码中凸显这些特征的经验。
  • 3.什么是重载 & 什么是重写 & 区别。
  • 4.谈谈你对this和super的认识。
  • 5.接口和抽象类的区别。
  • 6.静态属性和静态方法能被继承吗?静态方法又是否能被重写呢?
  • 7.给我说说权限修饰符特性。
  • 8.给我谈谈Java中的内部类。
  • 9.闭包和内部类的区别?
  • 10.Java多态的实现机制是什么?
  • 11.谈谈你对对象生命周期的认识?
  • 12.static关键字的作用?
  • 13.final关键字的作用。

1.4 八大基本数据类型&引用类型

  • 1.说说Java中的8大基本类型 & 内存中占有的字节 & 什么是引用类型?
  • 2.什么是拆箱 & 装箱,能给我举栗子吗?

1.5 数组

  • 1.能说说多维数组在内存上是怎么存储的吗?
  • 2.你对数组二次封装过吗?说说封装了什么

1.6 Java异常

  • 1.说说Java异常体系主要用来干什么的 & 异常体系?
  • 2.Error和Exception的区别?
  • 3.说说运行时异常和非运行时异常的区别?
  • 4.如何自定义一个异常?
  • 5.throw和throws 的区别?
  • 6.try{}catch{}finally{}可以没有finally吗?
  • 7.finally语块有什么特点?
  • 8.return在try{}catch{}finally{}中执行具有哪些规则?
  • 9.给我例举至少5个常见的运行时异常。

1.7 NIO/BIO/AIO

  • 1.NIO是什么 & BIO是什么 & AIO是什么 & 它们之间的区别?
  • 2.IO按照方向和数据类型划分能划分为哪些数据流?
  • 3.能给我说说NIO有什么特点?平常开发中使用过吗?

1.8 集合(容器)

  • 1.说说Java中集合的框架?
  • 2.Collection & Map区别
  • 3.谈谈你常用的集合 & 它们底层的实现方式 & 优缺点 & 使用场景。
  • 4.Map的遍历方式有哪些?
  • 5.给我说说ArrayList的扩容机制.
  • 6.什么是深拷贝 & 浅拷贝 & 如何深拷贝一个List集合.
  • 7.Set是如何确保它的唯一性的。
  • 8.你觉得HashMap的元素顺序和什么有关?
  • 9.Java中HashMap如何解决哈希碰撞的?
  • 10.ConcurrentHashMap如何实现并发访问的?
  • 11.谈谈Java集合中那些线程安全的集合 & 实现原理。
  • 12.说说有哪些集合能加入null,哪些不能加入null,为什么?
  • 13.说说LinkedHashMap原理。
  • 14.Collection 和 Collections的区别?
  • 15.比较一下ArrayMap和HashMap。
  • 16.说说HashMap的原理。

1.9 线程

  • 1.什么是线程?能解决什么问题。
  • 2.Java中创建线程的2种方式 & 区别?
  • 3.给我说说线程的生命周期。
  • 4.线程死锁的原因 & 举个栗子 & 如何避免死锁。
  • 5.Synchronized放在静态方法和非静态方法上的锁对象分别是什么?
  • 6.如何停止掉一个线程?
  • 7.给我说说线程池的种类 & 特点 & 内部原理 & 平时当中使用案例。
  • 8.给我谈谈你是如何保证线程数据安全问题的?
  • 9.wait()和sleep()的区别?
  • 10.什么是公平锁&非公平锁&区别?
  • 11.给我讲讲线程间通信
  • 12.volatile关键字是如何使用的?原理是什么
  • 13.说说使用5个线程去计算一个数组之和的思路。
  • 14.谈谈线程阻塞的原因有哪些?
  • 15.谈谈你对notify的理解?
  • 16.你觉得Lock和Synchronized的区别是什么?
  • 17.谈谈你对ReentrantLock的认识。
  • 18.调用run()和start()的区别?
  • 19.transient关键字的用法 & 作用 & 原理。
  • 20.线程池的种类 & 工作原理 & ThreadPoolExecutor的工作策略有哪些?
  • 21.ThreadLocal了解吗?说说原理。
  • 22.权衡多线程的性能。
  • 23.如何理解同步和异步,阻塞和非阻塞。

1.10 泛型

  • 1.什么是泛型?能解决什么问题?
  • 2.说说Java中泛型的工作机制?
  • 3.在泛型种extends和super关键字的区别是什么?

1.11 反射

  • 1.什么是反射?
  • 2.如何获取一个类的成员变量 & 成员方法 & 注解信息 & …。
  • 3.通常在项目当中用到反射多吗?都是用来干嘛?

1.12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值