一:题目
1:java核心思想
2:java高级知识,注解,反射,泛型的理解与作用
3:framework有那方面什么理解
4:Activity的生命周期与启动模式
5:性能优化
6:内存优化
7:数据结构(这方面是我的弱项,于是给我一个场景让我如何去选择,为什么)
8:Bitmap如果优化,他的三级缓存的大致思想与逻辑
9:给我说一个你项目中你用到的自定义View的实现,不用细节到代码,主要的思想与核心方法输出即可。
10:ListView如何优化,复用的原理,为什么会图片错位,如何解决,分页的思想是什么。
11:会根据你所写的技能特长找出3-4个点来问一问。由浅入深。从使用到场景到优化再到源码等等。(所以前面说了,不要随便写精通,除非你真的"精通")。
12:你在公司中用的什么代码管理,如何解决git冲突。你在工作中你的职责和主要内容等工作相关的问题
1:手写三种单例模式,冒泡排序
2:线程种类
3:java线程,场景实现,多个线程如何同时请求,返回的结果如何等待所有线程数据完成后合成一个数据
4:Android子线程与主线程交互方式,原理以及各自的优缺点。
5:有哪几种创建线程的方式,优缺点。
6:项目介绍,开源框架的认识如何封装,项目中的难点
7:Activity的生命周期,热修复的实现原理与区别(因为我简历里写了)。
8:在实际开发中的内存泄漏产生原因,如何查看,和你所知道的内存泄漏检测工具
9:项目介绍,项目提问,结果那些第三方,用工具解决问题,如何科学上网,会浏览那些网站,了解Android等技术途径等。
1:handle的使用与原理
2:线程切换与线程池的种类与作用,什么情况下使用多线程,有什么好处
3:Manifest.xml的里有什么和作用
4:什么是多进程,进程和线程的区别,如何给四大组件指定多进程。
5:多进程之间的通信的方式,如何使用AIDL。他的使用场景是什么。
6:View的加载流程
7:如何实现一个自定义View
8:如何选择第三方,从那些方面考虑
9:内存优化
10:bitmap的三级缓存思想与如何优化bitmap
11:注解的作用与原理
12:设计一个音乐播放界面,你会如何实现,用到那些类,如何设计,如何定义接口,如何与后台交互,如何缓存与下载,如何优化(15分钟时间)
13:什么是hash,他的作用是什么。hashMap源码是什么,他是依据什么原理实现的。
14:手写一段代码,如何找出一段字符串中,出现最多的汉字是哪个。
1:说下你了解那些framework。
2:说说你对布局优化的理解
3:说下当前你所知道的热更新与插件化,他们的实现核心原理是什么,他的异同有什么。
4:从哪些角度可以减少APK体积的
5:对gradle命令与打包,接触过那些平台的上架
6:简单说下接入支付的流程
7:谈谈你对自定义View的理解,如果有一个需求你会如何实现一个自定义View
8:说下LinkedList与ArrayList,HashTable与HashMap的区别与存储过程与遍历方式。
9:说下四大组件的启动过程(从Framework层去说,不必说出每个方法的名字,大致流程即可)。四大组件的启动与销毁的方式。
10:Android的数据存储方式有哪些,是否SQLite中要继承那个类来创建与更新数据库。SQL语句掌握怎么样。如何得到操作数据库的类等。
11:说下你对多进程的理解,什么情况下要使用多进程,为什么要使用多进程,在多进程的情况下为什么要使用进程通讯。
1:说下你所知道的设计模式与使用场景
2:java语言的特点与是OOP思想
3:说下java中的线程创建方式,线程池的工作原理。
4:说下handler原理,为什么会出现内存泄漏,为什么继承Handle就不会出现能存泄漏
5:说下Activity的横竖屏的切换的生命周期,用那个方法来保存数据,两者的区别。触发在什么时候在那个方法里可以获取数据等
6:是否了SurfaceView,它是什么?他的继承方式是什么?他与View的区别(从源码角度,如加载,绘制等)。
7:如何实现进程保活
8:说下冷启动与热启动是什么,区别,如何优化,使用场景等。
9: 给定命题,一串字符串中有通配符与占位符,如何化简优化(
10:说下产生OOM,ANR的原因,三级缓存原理,如何优化ListView。
11:说下你对Collection这个类的理解。
1:说下AIDL的使用与原理
2:说下你对广播的理解
3:说下你对服务的理解,如何杀死一个服务。服务的生命周期(start与bind)。
4:是否接触过蓝牙等开发
5:设计一个ListView左右分页排版的功能自定义View,说出主要的方法
6:说下binder序列化与反序列化的过程,与使用过程
7:是否接触过JNI/NDK,java如何调用C语言的方法
8:如何查看模拟器中的SP与SQList文件。如何可视化查看布局嵌套层数与加载时间。
9:说下你对后台的编程有那些认识,聊些前端那些方面的知识。
10:说下你对线程池的理解,如何创建一个线程池与使用。
11:说下你用过那些注解框架,他们的原理是什么。自己实现过,或是理解他的工作过程吗?
12:说下java虚拟机的理解,回收机制,JVM是如何回收对象的,有哪些方法等
13:一些java与Android源码相关知识等
1:实际开发中的内存优化,APK体积优化,代码优化,资源优化,缓存,数据库等
2:支付宝与微信的支付功能接入,常见问题
3:如何和后台交互,post请求的数据格式定义在那里定义,手写出来。
4:http与https的理解与4层都是哪4层,在一个请求过程中都是什么时候走这些流程与各自的作用
5:http的结构有那些(请求头,请求行之类的)
6:session与cookie的区别
7:如何在后台没有给接口的情况下如何开发应用
8:你是如何封装网络请求,数据缓存,优化,文件下载,线程池,OKHttp3源码的理解,如何提交post请求,如何处理返回数据,异常处理,实体定义等实际开发中与后台协作相关知识。
9:说下Android中特有的数据结构与常见的java数据结构(熟悉那个说那个),存储过程,源码与底层实现。
自我提升