Android 技术类校招面试题汇总,享学课堂 Android 架构师课程
1、Java se 基础
1).Java 基本数据类型与表达式,分支循环。2).String 和 StringBuffer 的使用、正则表达式。3).面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this 关键字、方法和方法的参数传递过程、static 关键字、内部类。4).对象实例化过程、方法的覆盖、final 关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。5).Java 异常处理,异常的机制原理。6).常用的设计模式:Singleton、Template、Strategy 模式。7).JavaAPI 介绍:种基本数据类型包装类,System 和 Runtime 类,Date 和 DateFomat 类等。8).Java 集合介绍:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator 等常用集合类 API。9).JavaI/O 输入输出流:File 和 FileRandomAccess 类,字节流 InputStream 和 OutputStream,字符流 Reader 和 Writer,以及相应实现类,IO 性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。10).Java 高级特性:反射和泛型。11).多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。
2、android UI 编程
1)、Android 开发环境搭建:Android 介绍,Android 开发环境搭建,第一个 Android 应用程序,Android 应用程序目录结构。
2)、Android 初级控件的使用:
TextView 控件的使用 Button 控件的使用方法 EditText 控件的使用方法 ImageView 的使用方法 RadioButton 的使用方法 Checkbox 的使用方法 Menu 的使用方法
3)、Android 高级控件的使用:
ListView 的使用方法 GridView 的使用方法 Adapter 的使用方法 Spinner 的使用方法 Gallary 的使用方法 ScrollView 的使用方法 RecyclerView
4、对话框与菜单的使用:
Dialog 的基本概念 BlockquoteAlertDialog 的使用方法 DatePickerDialog 的使用方法 Menu 的使用方法自定义 Menu 的实现方法
5.控件的布局方法:
线性布局的使用方法相对布局的使用方法
6.多 Acitivity 管理:
AndroidManifest.xml 文件的作用 Intent 的使用方法使用 Intent 传递数据的方法启动 Activity 的方法 IntentFilter 的使用方法 Activity Group 的使用方法
7、自定义控件实现方法:
自定义 ListView 的实现方法可折叠 ListView 的使用方法自定义 Adapter 的实现方法自定义 View 的实现方法动态控件布局的上实现方法上拉刷新下拉加载更多
3、android 网络编程与数据存储
1).基于 Android 平台的 HTTP 通讯:
Http 协议回顾使用 Get 方法向服务器提交数据的方法使用 POST 方法向服务器提交数据的实现方法使用 Http 协议实现多线程下载使用 Http 协议实现断点续传
2).Android 数据存储技术:
SQLite3 数据库简介 SQL 语句回顾 SQLite3 编程接口介绍 SQLite3 事务管理 SQLite3 游标使用方法 SQLite3 性能分析访问 SDCard 的方法访问 SharedPreferences 的方法
初级工程师
技术要求:
基本知识点比如四大组件如何使用、如何创建 Service、如何进行布局、简单的自定义 View、动画等常见技术
书籍推荐《第一行代码 Android》、《疯狂 Android》
中级工程师
技术要求:
稍微深入的知识点 AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义 View、消息队列等
书籍推荐《Android 开发艺术探索》、《Android 群英传》
AIDL:熟悉 AIDL,理解其工作原理,懂 transact 和 onTransact 的区别;
Binder:从 Java 层大概理解 Binder 的工作原理,懂 Parcel 对象的使用;
多进程:熟练掌握多进程的运行机制,懂 Messenger、Socket 等;
事件分发:弹性滑动、滑动冲突等;
玩转 View:View 的绘制原理、各种自定义 View;
动画系列:熟悉 View 动画和属性动画的不同点,懂属性动画的工作原理;
懂性能优化、熟悉 mat 等工具
懂点常见的设计模式
搞懂 view 的滑动原理
搞懂如何实现弹性滑动
搞懂 view 的滑动冲突
搞懂 view 的 measure、layout 和 draw
然后再学习几个已有的自定义 view 的例子
最后就可以搞定自定义 view 了,所谓万变不离其宗
高级工程师
技术要求:
稍微深入的知识点
系统核心机制
基本知识点的细节
设计模式和架构
书籍推荐《Android 开发艺术探索》、《Android 源码设计模式解析与实战》、《Android 内核剖析》
继续加深理解”稍微深入的知识点“中所定义的内容
了解系统核心机制:
了解 SystemServer 的启动过程
了解主线程的消息循环模型
了解 AMS 和 PMS 的工作原理
能够回答问题”一个应用存在多少个 Window?“
了解四大组件的大概工作流程
…
基本知识点的细节
Activity 的启动模式以及异常情况下不同 Activity 的表现
Service 的 onBind 和 onReBind 的关联
onServiceDisconnected(ComponentName className)和 binderDied()的区别
AsyncTask 在不同版本上的表现细节
线程池的细节和参数配置
…
熟悉设计模式,有架构意识学习方法
以上就是整理分享的 Android 开发进阶的一个学习路线。
我这里整理了一份完整的学习思维以及 Android 开发知识大全 PDF,有需要的同学可以自行领取。
面试复习路线,梳理知识,提升储备
自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。
关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)
架构师筑基必备技能
Android 高级 UI 与 FrameWork 源码
360°全方面性能调优
解读开源框架设计思想
NDK 模块开发
微信小程序
Hybrid 开发与 Flutter
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:
《960 全网最全 Android 开发笔记》
《379 页 Android 开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。2.五角星数表示面试问到的频率,代表重要推荐指数
《507 页 Android 开发相关源码解析》
只要是程序员,不管是 Java 还是 Android,如果不去阅读源码,只看 API 文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
评论