Android开发经验谈

互联网大厂Android面试题锦集(BAT TMD JD 小米)

2020-05-24  本文已影响0人  Android进阶小麦

上次写这篇文章的时候也差不多是一年前了,这一年我兜兜转转从android到java又回到android,校招面了很多大厂,阿里、京东、小米、头条、知乎、腾讯、有赞,也收获了几个offer。感谢大家的关注,让我在简书上面也混到了一个简书程序员优秀作者的称号,所以为了回馈大家,一篇最完全的android面经诞生了。这是我集合了牛客网、百度、简书等网站的几十篇面经和我自己面试的经历的合集,希望大家喜欢。**

1.android事件分发机制,请详细说下整个流程

image

2.android view绘制机制和加载过程,请详细说下整个流程

3.android四大组件的加载过程,请详细介绍下

4.Activity的启动模式

5.A、B、C、D分别是四种Activity的启动模式,那么A->B->C->D->A->B->C->D分别启动,最后的activity栈是怎么样的

6.Activity缓存方法

7.Service的生命周期,两种启动方法,有什么区别

8.怎么保证service不被杀死

9.静态的Broadcast 和动态的有什么区别

10.Intent可以传递哪些数据类型

11.Json有什么优劣势、解析的原理

12.一个语言的编译过程

13.动画有哪几类,各有什么特点

14.Handler、Looper消息队列模型,各部分的作用

15.怎样退出终止App

16.Android IPC:Binder原理

17.描述一次跨进程通讯

18.android重要术语解释

19.理解Window和WindowManager

20.Bitmap的处理

21.如何实现一个网络框架(参考Volley)

22.ClassLoader的基础知识

23.插件化框架描述:dynamicLoadApk为例子

24.热修复:Andfix为例子

25.线程同步的问题,常用的线程同步

26.Asynctask和线程池,GC相关(怎么判断哪些内存该GC,GC算法)

27.网络

28.数据库性能优化:索引和事务,需要找本专门的书大概了解一下

29.13.APK打包流程和其内容

30.网络劫持的类型原理:可以百度一下了解一下具体概念

31.java类加载过程:

32.retrofit的了解

33.bundle的数据结构,如何存储

34.listview内点击buttom并移动的事件流完整拦截过程:

35.service的意义:不需要界面,在后台执行的程序

36.android的IPC通信方式,线程(进程间)通信机制有哪些

37.操作系统进程和线程的区别

38.HashMap的实现过程:Capacity就是buckets的数目,Load factor就是buckets填满程度的最大比例。如果对迭代性能要求很高的话不要把capacity设置过大,也不要把load factor设置过小。

39.mvc、mvp、mvvm:

40.java的线程如何实现

41.ArrayList 如何删除重复的元素或者指定的元素;

42.如何设计在 UDP 上层保证 UDP 的可靠性传输;

43.Java 中内部类为什么可以访问外部类

44.设计移动端的联系人存储与查询的功能,要求快速搜索联系人,可以用到哪些数据结构?数据库索引,平衡二叉树(B树、红黑树)

45.红黑树特点

46.linux异步和同步i/o:

47.ConcurrentHashMap内部实现,HashTable的实现被废弃的原因:

48.HandlerThread是什么

49.IntentService是什么

50.class和dex

51.内存泄漏

52.过度绘制、卡顿优化:

53.apk瘦身:

54.ANR的形成,各个组件上出现ARN的时间限制是多少

55.Serializable和Parcelable 的区别

56.Sharedpreferences源码简述

57.操作系统如何管理内存的:

58.浏览器输入地址到返回结果发生了什么

59.java泛型类型擦除发生在什么时候,通配符有什么需要注意的。

60.activity的生命周期

61.面试常考的算法

62.Launcher进程启动另外一个进程的过程:启动一个app

63.开源框架源码

写在最后:能看到这里的人,我挺佩服你的.这篇文章是我在头条面试之前整理的,最后80%的题目都命中了,所以祝你好运.

作者:何时夕
链接:https://www.jianshu.com/p/cf5092fa2694

上一篇下一篇

猜你喜欢

热点阅读