当前位置: 首页>后端>正文

5年Android开发大中小厂面经合集

今年年初到现在,我进行了四个多月的面试之旅。

面试的公司并不多,但从体量上来看,基本算是一二三线的大厂都囊括了,其中还包括BAT,当然,最后我也是顺利的拿到了offer,虽然不是很理想,但我也挺满意的,毕竟对我这种一直向往大厂的人来说,能进大厂已经算是很好的一次职业跃迁。在这个过程中,我也积累了不少面试经验,并且跟很多朋友交流过,不少人都说让我写篇面经分享下经验(其中也就几个人)。

我这个人呢,别的优点不说,朋友的善意请求我基本都很少推辞的,既然他们都这么热切的请求了,那我也不负君期,写篇实战面经分享下。

Java方面

Java基础部分

  • 抽象类与接口的区别?

  • 分别讲讲 final,static,synchronized

  • 请简述一下String、StringBuffer和

  • “equals”与“==”、“hashCode”的区别和使用场景?

  • Java 中深拷贝与浅拷贝的区别?

  • 谈谈Error和Exception的区别?

  • 什么是反射机制?反射机制的应用场景有哪些?

  • 谈谈如何重写equals()方法?为什么还要重写hashCode()?

  • 谈谈你对Java泛型中类型擦除的理解,并说说其局限性? -String为什么要设计成不可变的?

  • 说说你对Java注解的理解?

Android方面

四大组件

  • Activity 与 Fragment 之间常见的几种通信方式?

  • LaunchMode 的应用场景?

  • 对于 Context,你了解多少

  • IntentFilter是什么?有哪些使用场景?

  • 谈一谈startService和bindService的区别,生命周期以及使用场景?

  • Service如何进行保活?

  • 简单介绍下ContentProvider是如何实现数据共享的?

  • 说下切换横竖屏时Activity的生命周期

  • Intent传输数据的大小有限制吗?如何解决?

Android 异步任务和消息机制

  • HandlerThread 的使用场景和用法?

  • IntentService 的应用场景和使用姿势?

  • AsyncTask的优点和缺点?

  • 谈谈你对 Activity.runOnUiThread 的理解?

  • 子线程能否更新UI?为什么?

  • 谈谈 Handler 机制和原理?

  • 为什么在子线程中创建Handler会抛异常?

  • Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么

Android Framework

Binder

  • Binder有什么优势

  • Binder是如何做到一次拷贝的

  • MMAP的内存映射原理了解吗

  • Binder机制是如何跨进程的

  • 说说四大组件的通信机制

  • 为什么Intent不能传递大数据

AMS

  • ActivityManagerService是什么?什么时候初始化的?有什么作用?

  • ActivityThread是什么?ApplicationThread是什么?他们的区别

  • Instrumentation是什么?和ActivityThread是什么关系?

  • ActivityManagerService和zygote进程通信是如何实现的。

  • ActivityRecord、TaskRecord、ActivityStack,Activi

  • ActivityManager、ActivityManagerService、Activit

  • 手写实现简化版AMS

算法方面

  • 如何运??分查找算法

  • 如何?效解决接??问题

  • ?分查找?效判定?序列

  • 如何去除有序数组的重复元素

  • 如何寻找最?回??串

  • 如何?效进?模幂运算

  • 如何运用贪心思想广域玩跳跃游戏

  • 如何?效判断回?链表

  • 如何在无线序列中随机抽取元素

  • 如何判定括号合法性

  • 如何寻找缺失和重复的元素

Kotlin方面

  • 请简述一下什么是 Kotlin?它有哪些特性?

  • Kotlin中实现单例的几种常见方式?

  • 在Kotlin中,什么是内联函数?有什么作用?

  • 请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?

  • 说说Kotlin中的Any与Java中的Object 有何异同?

  • Kotlin中的数据类型有隐式转换吗?为什么?

  • Kotlin中集合遍历有哪几种方式

  • Kotlin内置标准函数let的原理是什么?

  • Kotlin语言的run高阶函数的原理是什么?

Flutter方面

  • Dart 语言的特性?

  • Dart 多任务如何并行的?

  • dart是值传递还是引用传递?

  • Flutter 特性有哪些?

  • Widget 和 element 和 RenderObject 之间的关系?

  • 使用mixins的条件是什么?

  • Stream 两种订阅模式?

  • Flutter中的Widget、State、Context 的核心概念?是为了解决什么问题?

  • 说一下Hot Reload,Hot Restart,热更新三者的区别和原理

  • Flutter 如何与 Android iOS 通信?

  • 说一下什么是状态管理,为什么需要它?

最后

整理不易,白嫖太易!有需要的读者朋友们可以关注一下。以上都可分享~


https://www.xamrdz.com/backend/3fy1945675.html

相关文章: