一、自我介绍
应该算是起点比较高吧!985大学毕业后面一直在国外读研。之前准备面试微软但是可能经验不够,没有通过。经过朋友介绍我准备回国,积累一些开发经验。于是我面试了国内大厂BATJ,还有一些其他比较知名的公司,一共报了11家。我朋友说这叫广撒网多捞鱼!
其他就不说了BATJ都过了,但是由于地区还有待遇问题,我选择了讯飞一家不大不小的公司。一开始做的挺好的,没想到…
面试大纲
1.java基础、面向对象、集合、线程使用;
2.Android 机型适配、SDK适配、内存优化、内存溢出、内存泄漏;3.MVC/MVP/MVVM的使用场景;
4.了解并能使用最新流行开源库RXjava+Retrofit+OKHttp、Glide、EventBus等5.JNI及NDK的使用、熟悉Framework。
频繁面试题
1.面向对象(OOP)
2.数据类型
3.equal和==的区别
4.字符串运行速度:StringBuilder、StringBuffer、 String
5.Queue 队列、Stack 栈
6.ListView机制
7.Fragment生命周期
8.四大引用类型
9.线程、进程及其通信方式
10.PackageManagerService
11.binder机制
12.launcher的实现
13.Android 版本特性
14.BroadcastReceiver广播
15.RecycleView
16.各种集合比较SparseArray、HashMap、ArrayMap、LinkedList、ArrayList
17.SQLite升级
18.Bitmap
19.Handler机制
20.性能优化技巧
21.ANR
22.自定义View
23.MVC、MVP、MVVM三种架构设计
24.APP 启动流程
25.插件化
26.Kotlin 多平台应用的静态编程语言
27.Framework 工作原理
28.Android 屏幕适配
29.事件分发机制
30.Android 动画分类:视图,属性,帧,gif
31.Android 进程
32.Android 五大存储方式
33.屏幕旋转Activity生命周期
34.Activity 四大启动模式
35.CPU、GPU工作原理
36.UI卡顿原因
37.Application的生命周期
38.如何避免因引入的开源库导致的安全性和稳定性?
39.简单的音频/视频格式
40.线程同步的方法
41.线程安全的单例
42.Serializable、Parcelelable
43.Service启动方式和生命周期
44.Android 常见布局
45.Http、Https、Volley、OkHttp、RxJava + Retrofit + OkHttp、TCP、UDP
46.如何节省内存使用,主动回收内存?
47.Activity如何生成View?
48.为什么要使用多线程?
49.现场保护
50.内存溢出、内存泄漏
51.JNI和NDK
52.常用的设计模式及其实现思想和作用
53.HashMap、 HashTable、HashSet的异同
54.Android 中内存泄漏原因及优化方案
55.LeakCanary 内存泄漏检查的开源工具
56.多线程、线程池
57.腾讯 Bugly
58.Glide
59.Fresco
60.React
最后
愿你有一天,真爱自己,善待自己。
本文在开源项目:Android开发不会这些?如何面试拿高薪 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…