11、两个 Activity 之间传递数据,除了 intent,广播接 收者,content provider 还有啥?
Android 高级
1、如何对 Android 应用进行性能分析
2、什么情况下会导致内存泄露(★★)
3、如何避免 OOM 异常(★★★★)
4、Android 中如何捕获未捕获的异常(2020.5.5)(★★★)
5、 ANR 是什么?怎样避免和解决 ANR(★★★★★)
6、Android 线程间通信有哪几种方式(★★★)
7、Devik 进程,linux 进程,线程的区别(★)
8、描述一下 android 的系统架构?
9、android 应用对内存是如何限制的?我们应该如何合 理使用内存?(2020.01.24)(★★★★)
10、简述 android 应用程序结构是哪些?(2020.01.24) (★★★★)
开源框架实战
一、 自我介绍(★★★★★)
二、 开发中都使用过哪些框架、平台(★★★★★)
三、 都使用过哪些自定义控件(★★★★)
四、 自定义控件:绘制圆环的实现过程(★★)
五、 自定义控件:摩天轮的实现过程(★★)
六、 自定义控件:可拖拽排序的 GridLayout 的实现 过程(★★)
七、 流式布局的实现过程(★★★★)
八、 项目的流程(★★★★★)
九、 项目中常见面试题(2020.5.5 更新)
十、 即时通讯是是怎么做的?(★★★★★)
Java 面试题
1、Java 中引用类型都有哪些
2、什么是重载,什么是重写,有什么区别?
3、String、StringBuffer和StringBuilder的区别
4、关键字final和static是怎么使用的
5、TCP/IP协议簇分哪几层?TCP、IP、XMPP、HTTP、分别属于哪一层?
6、谈一谈java线程模型
7、java多线程同步锁
8、你所知道的设计模式有哪些
9、单例设计模式
10、适配器设计模式
Flutter 相关面试题全解析
- Dart 语言的特性?
2.Dart 的一些重要概念?
3.Dart 当中的 「…」表示什么意思?
- Dart 多任务如何并行的?
5.dart 是值传递还是引用传递?
-
Flutter 是什么?
-
Flutter 特性有哪些?
8.基础知识
9.Flutter 中的生命周期
10.PlatformView
Android 高频面试题集锦(未完待续…)
1.android 事件分发机制,请详细说下整个流程
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 可以传递哪些数据类型
作者2013年从java开发,转做Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。
参与过不少面试,也当面试官 面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
我整理了一份阿里P7级别的最系统的Android开发主流技术,特别适合有3-5年以上经验的小伙伴深入学习提升。
主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你想深入系统学习Android开发,成为一名合格的高级工程师,可以收藏一下这些Android进阶技术选型
我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
Java语言与原理; 大厂,小厂。Android面试先看你熟不熟悉Java语言
高级UI与自定义view; 自定义view,Android开发的基本功。
性能调优; 数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。
NDK开发; 未来的方向,高薪必会。
前沿技术; 组件化,热升级,热修复,框架设计
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;《Android架构视频+学习笔记》
当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。
不出半年,你就能看出变化!