前言
最近我开始偷偷投简历了。与老东家的合同快要到期,想知道自己的斤两,续签合同也好有个底,顺便悄悄看看新的工作机会。虽然市场环境不好,但我们身在涨工资靠跳槽的行业没办法。
由于工作了5年了,经验有了,我收到的面试邀请也挺多,但半个月的面试下来却没收到一份满意的offer,真是**“被现在的公司害了”**。下面是我总结的一些面试题,希望对想跳槽的小伙伴有一些帮助。
1.如何对 Android 应用进行性能分析
2.什么情况下会导致内存泄露
3.如何避免 OOM 异常
4.Android 中如何捕获未捕获的异常
5.ANR 是什么?怎样避免和解决 ANR(重要)
6.Android 线程间通信有哪几种方式
7.Devik 进程,linux 进程,线程的区别
8.描述一下 android 的系统架构
9.android 应用对内存是如何限制的?我们应该如何合理使用内存?
- 简述 android 应用程序结构是哪些
11.请解释下 Android 程序运行时权限与文件系统权限的区别
12.Framework 工作方式及原理,Activity 是如何生成一个 view 的,机制是什么
13.多线程间通信和多进程之间通信有什么不同,分别怎么实现
14.Android 屏幕适配
15.什么是 AIDL 以及如何使用
16.Handler 机制
17.事件分发机制
18.子线程发消息到主线程进行更新 UI,除了 handler 和 AsyncTask,还有什么
19.子线程中能不能 new handler?为什么
20.Android 中的动画有哪几类,它们的特点和区别是什么
21.如何修改 Activity 进入和退出动画
22.SurfaceView & View 的区别
23.开发中都使用过哪些框架、平台
24.使用过那些自定义View
25.自定义控件:绘制圆环的实现过程
26.自定义控件:摩天轮的实现过程
27.GridLayout的使用
28.流式布局的实现过程
29.第三方登陆
30.第三方支付
31.进程保活
Android开发除了flutter还有什么是必须掌握的吗?
相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了
除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter,以思维脑图的方式展示在下图;
点击文档前往获取面试资料与视频教程;【阿里P7级别Android架构师技术脑图+全套视频】
BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
[外链图片转存中…(img-q8qoaoFd-1611823525006)]