Android 消息机制(Looper Handler MessageQueue Message)

http://mp.weixin.qq.com/s/jbhKvMI8tWrKW0jSAHFd8A

JVM基础

https://mp.weixin.qq.com/s/S3wfeEeY1KDkejTkxozNWQ

安全问题

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窗口添加的过程

下面内容参考

2018Android面试经历

  • 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机制 ?


2018 Android面试心得,已拿到offer

results matching ""

    No results matching ""