写点什么

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 内核剖析》

  • 继续加深理解”稍微深入的知识点“中所定义的内容

  • 了解系统核心机制:


  1. 了解 SystemServer 的启动过程

  2. 了解主线程的消息循环模型

  3. 了解 AMS 和 PMS 的工作原理

  4. 能够回答问题”一个应用存在多少个 Window?“

  5. 了解四大组件的大概工作流程


  • 基本知识点的细节


  1. Activity 的启动模式以及异常情况下不同 Activity 的表现

  2. Service 的 onBind 和 onReBind 的关联

  3. onServiceDisconnected(ComponentName className)和 binderDied()的区别

  4. AsyncTask 在不同版本上的表现细节

  5. 线程池的细节和参数配置


  • 熟悉设计模式,有架构意识学习方法


以上就是整理分享的 Android 开发进阶的一个学习路线。


我这里整理了一份完整的学习思维以及 Android 开发知识大全 PDF,有需要的同学可以自行领取。

面试复习路线,梳理知识,提升储备

自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。


关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)


  • 架构师筑基必备技能

  • Android 高级 UI 与 FrameWork 源码

  • 360°全方面性能调优

  • 解读开源框架设计思想

  • NDK 模块开发

  • 微信小程序

  • Hybrid 开发与 Flutter



知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:



《960 全网最全 Android 开发笔记》



《379 页 Android 开发面试宝典》


历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。


如何使用它?


1.可以通过目录索引直接翻看需要的知识点,查漏补缺。2.五角星数表示面试问到的频率,代表重要推荐指数



《507 页 Android 开发相关源码解析》


只要是程序员,不管是 Java 还是 Android,如果不去阅读源码,只看 API 文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。


真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。


本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

用户头像

极客开源

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
Android技术类校招面试题汇总,享学课堂Android架构师课程