Android 消息机制(Looper Handler MessageQueue Message)
JVM基础
安全问题
Https原理/Http原理
加密问题
熟悉Android SDK
Android系统运行流程
熟悉各版本API技术的差异
丰富的机型适配经验
保持对新技术的敏锐感和持续学习能力
熟悉TCP/UDP,Http协议
面向开发人员的Web技术 https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
内存优化,性能调优经验
了解Linux基本命令,了解NDK基础
熟悉HTML5,JS,了解React Native或者WEEX的开发原理优先
深入研究性能优化及速度优化
投递时间
你可以选择在周日晚间投递,这样在周一HR上班时候你的简历不会排的太远。平时也是在每天的6-8点投递为好,这样如果HR去看的话,会容易看到一些。
面试问题
framework有那方面什么理解
Activity的生命周期与启动模式
性能优化/内存优化/内存泄漏检测工具
数据结构
bitmap的三级缓存思想与如何优化bitmap
给我说一个你项目中你用到的自定义View的实现,不用细节到代码,主要的思想与核心方法输出即可。
ListView如何优化,复用的原理,为什么会图片错位,如何解决,分页的思想是什么。
手写三种单例模式,冒泡排序
注解的作用与原理
什么是hash,他的作用是什么。hashMap源码是什么,他是依据什么原理实现的。
手写一段代码,如何找出一段字符串中,出现最多的汉字是哪个。
设计一个音乐播放界面,你会如何实现,用到那些类,如何设计,如何定义接口,如何与后台交互,如何缓存与下载,如何优化(15分钟时间)
谈谈你对自定义View的理解,如果有一个需求你会如何实现一个自定义View 说下LinkedList与ArrayList,HashTable与HashMap的区别与存储过程与遍历方式。
说下四大组件的启动过程(从Framework层去说,不必说出每个方法的名字,大致流程即可)。四大组件的启动与销毁的方式。
说下你对多进程的理解,什么情况下要使用多进程,为什么要使用多进程,在多进程的情况下为什么要使用进程通讯。
是否了解SurfaceView,它是什么?他的继承方式是什么?他与View的区别(从源码角度,如加载,绘制等)。
说下冷启动与热启动是什么,区别,如何优化,使用场景等。
说下binder序列化与反序列化的过程,与使用过程
如何可视化查看布局嵌套层数与加载时间
说下你用过那些注解框架,他们的原理是什么。自己实现过,或是理解他的工作过程吗?
实际开发中的内存优化,APK体积优化,代码优化,资源优化,缓存,数据库等。
如何和后台交互,post请求的数据格式定义在那里定义,手写出来。
http的结构有那些(请求头,请求行之类的)
session与cookie的区别
你是如何封装网络请求,数据缓存,优化,文件下载,线程池,OKHttp3源码的理解,如何提交post请求,如何处理返回数据,异常处理,实体定义等实际开发中与后台协作相关知识。
http与https的理解与4层都是哪4层,在一个请求过程中都是什么时候走这些流程与各自的作用。
http的结构有那些(请求头,请求行之类的)
Android多进程通信
Android插件化框架的原理
热更新框架的原理
Android Native和JS通信有几种方式,有没有用到什么框架之类
单元测试,熟悉的单元测试框架
ViewPager + Fragment 滑动ViewPager的页面时,Fragment的生命周期变化
AOP IOC 的好处以及在Android开发中的应用
Jenkins持续集成,自动构建
Java GC回收,如何判断对象存活,Java GC算法
Window窗口添加的过程
下面内容参考
ListView和RecyclerView的使用,就问我它们有什么区别?
既然RecyclerView在很多方面能取代ListView,Google为什么没把ListView划上一条过时的横线?
你用过MVP,那你知道Dagger2吧,介绍下吧?
HashMap的内部实现原理?
Activity生命周期,有哪些启动模式,以及应用场景?
你用过AsyncTask,那你跟我说说AsyncTask的内部实现原理?
AsyncTask内部维护了一个线程池,是串行还是并行,怎么维护的?
那你说说线程池的四种初始化吧?
你用过MD,你知道怎么定义一个Behavior吗?
RecyclerView的拖拽怎么实现的?
写一个SingTop,有哪三个条件?
一个按升序排列好的数组int[] arry = {-5,-1,0,5,9,11,13,15,22,35,46},输入一个x,int x = 31,在数据中找出和为x的两个数,例如 9 + 22 = 31,要求算法的时间复杂度为O(n);
如何向一个数据库具有int类型A,B,C,D四列的表中随机插入10000条数据?如何按升序取出A列中前10个数?
service两种启动方式有什么区别?
说说三级缓存、Handler机制 ?