移动客户端(Android)校招需要准备的东西

跨专业小菜,想从事移动端开发,只好提前做准备。(从一个视频中整理出来),希望大家帮我补充,给我建议。

1.四大组件相关面试题

①.Activity相关面试题

②.Broadcast相关面试题

③.Service相关面试题

④.ContentProvider相关面试题

2.Handler相关面试题

3.自定义View相关面试题

4.事件传递相关面试题

5.Asynctask相关面试题

6.http/https相关面试题

①.http协议

②.三次握手

③.http代理

④.https原理

⑤.httpclient介绍

⑥.开源协议xmmpp,mqtt,spdy

7.socket相关面试题

8.数据库相关面试题

①.数据库版本的升级和降级

②.数据库性能的优化

③.数据库的加密

④.批量数据的处理

9.深入理解ViewHolder机制

10.ListView的优化

11.自定义动画面试题

①.动画的机制

②.动画的底层实现

③.3.0属性动画

④.gif动画

12.内存优化是如何处理

①.oom产生的原因

②.分析工具

③.经典案例分析

④.解决办法

⑤.如何避免oom

13.Android优化性能标签

14.图片缓存是如何处理的

①.常见的三级缓存架构

②.对大图片的处理

③.引用计数器

④.webp格式的处理

⑤.缓存存储结构

a.软引用

b.lrucache原理剖析

⑥.缓存大小的分配

15.ndk/jni相关面试题

①.交叉编译

②.注册JNI的几种方式

③.ndk-stack命令

④.ndk内存泄露问题

16.cocos2dx相关面试题

17.Android插件开发面试题

①.资源是如何解决

②.如何加载Activity,Service

③.混淆打包

18.JVM相关面试题

①.垃圾回收算法

②.父亲委托机制

③.四种引用

④.类加载机制

⑤.注解处理器

19.项目当中架构是如何设计的

①.架构搭建

②.架构的优势

③.架构中的设计模式

④.架构的灵活型

⑤.架构的拓展

20.开源的项目分析

①.ImageLoader

②.Google volley

③.android annotation

④.订制自己的开源框架

21.经典的深度Android面试

①.深入理解Android进程间通信机制

a.java层aidl

b.native层进程间通信

c.binder的机制

d.native层是如何实现的

②.Android启动流程分析

a.Linux的启动

b.zygote进程

c.SystemService进程

22.常见的算法题

时间: 2024-11-06 09:49:08

移动客户端(Android)校招需要准备的东西的相关文章

android一些系统相关的东西

增加快捷方式和删除快捷方式: private void addShortcut() { Intent shortcut = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); // 快捷方式的名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); shortcut.putExtra("duplicate&

Android校招:一位双非本科拿到了头条,小米,京东的offer

今天分享一位应届毕业生的校招面经,大家可以看看查漏补缺. 谢谢那些曾经帮助过我的人. 很多忘记了,能回忆起来的就尽量写多一些. 小米 一面(电话) Android: 1.内存泄漏的场景,Handler机制2.四大组件3.进程间通信4.自定义view5.Binder的使用6.性能优化7.fragment的生命周期8.事件分发机制,以及涉及到的设计模式 Java: 1.接口和抽象类区别2.继承和重写3.ArrayList和LinkedList区别4.死锁产生条件和应用场景5.Java的修饰符的使用,

android性能优化的一些东西

说到android性能优化,总觉得是一个很模糊的东西,因为app的性能始终适合手机本身的性能挂钩的,也许一些消耗内容的操作,在一些移动设备可以运行,但是在另外一些上面就会出现内存溢出的问题,但是不管怎么说,但问题出现的时候,我们应该有解决的办法,最起码有解决办法的思路,下面就是聊聊android性能一些问题. 首先是三个名称:内存泄漏,内存溢出(OOM),应用程序无响应(ANR). 我们知道,android手机上运行app其实很多时候(只是很多时候),每个app都运行在一个进程中,这个进程是设备

Android深度探索第四章心得

本章主要介绍使用Git下载两套源代码.一套是Android 源代码,另一套是Linux 内核源代码.主要介绍如何下载和编译Android源代码和Linux内核源代码. Android源代码包含较多东西,如内嵌在Android系统内置应用程序的源代码,Android SDK带的各种工具的源代码以及HAL源代码. 1.配置Android源代码下载环境,在Linux终端执行一系列命令: 第一步:创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件放置到任何目录中,在这里使用~/bin) #

Android深度探索(卷1)HAL与驱动开发(总)

第一章Android系统移植与驱动开发概述主要讲了Android系统架构,Android系统移植的主要工作,查看Linux内核版本,Linux内核版本号的定义规则,如何学习Linux驱动开发,Linux设备驱动以及Linux驱动的典型例子:LED. 首先Android是一个非常优秀的嵌入式操作系统,经过了几年的快速发展,已经形成了Linux内核,c/c++代码库,Android SDK API,应用程序四层系统架构.然后介绍了一下Android系统移植的主要工作,主要分为应用移植和系统移植两部分

Android上方便地开发的C程序

如果你基于没有一个专门的开发板练手,那你的Android手机也可以开发大多数C应用程序,安装好后编译C的编译器.本文只写一个Hello World的运行过程.优点是:不需要eclipse,不需要Android源码,不需要Android.mk,不需要NDK.一个C程序员就可以很好的利用Android了,需要一个编译器和一个adb要把程序放到Android系统中. 1.安装adb sudo apt-get install android-tools-adb 2.安装交叉工具链 sudo apt-ge

使用内部(com.android.internal)和隐藏(@hide)API[第1部分,介绍]

本文翻译自http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/#more-79 Android有两类API在SDK中不能使用. 第一类就是位于包com.android.internal的API,我将这些API称为内部API.第二类API就是用@hide标记的类和函数,虽然严格说这不是一个API而是一系列隐藏API的集合,我仍然假定这是一个API,称为隐藏API. 隐藏API的

自行修改android.jar使其包含隐藏api

1) 从指定版本的rom内获取到framework.jar 2) 解压framework.jar和android sdk内的android.jar 3) 将framework.jar解出来的东西拷到android.jar解出来的东西内,进行覆盖 4) 重新打包 5) 用新的android.jar替换原先的 方便起见,写了一个脚本来完成以上工作,其中解framework.jar用到dex2jar工具,请自行下载并配置环境变量 #!/bin/sh DEX=$1 AJAR=$2 OUT=$3 d2j-

对于大陆网络环境下android开发环境搭建的一点建议

首先,我的这篇博文不是教你如何搭建android开发环境.我相信这类的文章已经有很多了,如有需要可以百度一下.我这里将要说的对于大陆网路环境下,如果能够访问到android开发过程中需要的一些资源. 因为方法和资源都是有时效性的,所以参考本文请注意时间. [如何获取android SDK] 其实这个东西国内很多站点可以下载到,可能不是最新的罢了.所以这里谈论的是最新的android SDK的下载. 问题的根本是你不能直接访问http://developer.android.com/站点. 所以你