├── .DS_Store
├── README.md
└── image
├── .DS_Store
├── QQ20190402-223020@2x.png
├── androidImg.png
├── arraylist与linketlist差别.png
├── hashmap与hashtable区别.png
└── jvm类加载机制.png
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/.DS_Store
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Android_Question
2 | 记录2019年社招面试过程中的一些问题,供大家参考,可以补充和指正,一起成长~
3 |
4 |
5 |

6 |
7 |
8 | ## 面试题:
9 | ###### Issues中有参考答案。可以补充指正,也可提及自己的答案~
10 |
11 | #### 面试题1.
12 | Android开发过程中的版本适配问题?
13 |
14 | #### 面试题2.
15 | 关于协程的概念
16 |
17 | #### 面试题3.
18 | synchronized和lock的区别?
19 |
20 | #### 面试题4.
21 | Handler机制如何保证消息不错乱?消息延迟是如何实现的?Handler、Looper、MessageQueue三者对应关系?内存泄漏如何避免?Looper中的死循环为什么不会引器主线程ANR?
22 |
23 | #### 面试题5.
24 | 开发过程中如果想替换第三方jar中的某个class文件,或者在开发时你的class文件与jar中的重名,但是你想使用自己的应该如何解决?如果你替换掉某个方法又该怎么解决?
25 |
26 | #### 面试题6.
27 | IO与NIO的区别?
28 |
29 | #### 面试题7.
30 | 单例模式有几种写法以及各自的优劣?
31 |
32 | #### 面试题8.
33 | ArrayList 和LinketList区别?hashmap的实现原理?hashmap与hashtable的区别?
34 |
35 | #### 面试题9.
36 | gson序列化数据时如何排除某个字段?
37 |
38 | #### 面试题10.
39 | ButterKnife与Xutils注解的区别?以及Retrofit中的注解是如何处理的?
40 |
41 | #### 面试题11.
42 | jvm的类加载机制?
43 |
44 | #### 面试题12.
45 | 列举一些git版本控制的常用操作符?
46 |
47 | #### 面试题13.
48 | AsyncTask的原理以及弊端?AsyncTask为什么要求在主线程加载,对象为什么要在主线程创建?
49 |
50 | #### 面试题14.
51 | Android开发中的屏幕适配方案?
52 |
53 | #### 面试题15.
54 | 多线程中sleep和wait的区别?
55 |
56 | #### 面试题16.
57 | 输出字符串中的第一个不重复的字符,例如:
58 | “hello”输出 ‘h’
59 | “abbac”输出 ‘c’
60 | “abdabe”输出 ‘d’
61 |
62 | #### 面试题17.
63 | 对有序int数组去重,并输出去重后的长度,并打印出来,要求时间复杂度为O(n),空间复杂度为O(1)。
64 | 例如:int[] array = {-1,0,0,2,4,4,4,6};
65 | 长度为:5,打印结果为:-1,0,2,4,6
66 |
67 | #### 面试题18.
68 | 假设有A,B,C三个线程,在A线程的执行过程中去执行B线程,并且等待B线程的执行结果,然后去执行C线程,然后当C线程执行完成后,返回结果给A线程。不阻塞线程,如何实现?(相关描述我也记不太清了,可能有些不准确,考点就是Future)
69 |
70 | #### 面试题19.
71 | ThreadLocal作用?
72 |
73 | #### 面试题20.
74 | 深复制(深拷贝)与浅复制(浅拷贝)的区别?
75 |
76 | #### 面试题21.
77 | 大图的局部加载(BitmapRegionDecoder),在不使用BitmapRegionDecoder类的情况下,自己实现局部加载?
78 |
79 | #### 面试题22.
80 | 常见的排序算法?手写快排?对冒泡排序的优化?
81 |
82 | #### 面试题23.
83 | 在使用git管理时,commit到本地库后,发现漏了文件,如何处理?(rebase命令合并两次commit的数据)
84 |
85 | #### 面试题24.
86 | kotlin中的内联函数
87 |
88 | #### 面试题25.
89 | kotlin中的两种懒加载区别?(by lazy、lateinit)
90 |
91 | #### 面试题26.
92 | kotlin中扩展函数的弊端?
93 |
94 | #### 面试题27.
95 | 在使用kotlin开发过程中,遇到过哪些坑?
96 |
97 | #### 面试题28.
98 | Activity中的context与Application中的context区别?
99 |
100 | #### 面试题29.
101 | Activity的四种启动模式?当A配置了singleTask启动模式后,A-->B-->C-->D ,此时再启动A,会回调哪个方法?(onNewIntent()生命周期方法)
102 |
103 | #### 面试题30.
104 | Activity与Activity之间传递数据?
105 | Fragment与Activity之间传递数据?
106 | Fragment与Fragment之间传递数据?
107 |
108 |
109 | #### 面试题31.
110 | Activity的启动过程?(不是Activity的生命周期,或者换一种问法:应用的启动过程?)
111 |
112 | #### 面试题32.
113 | js与native互调?安全问题处理?WebView对url的拦截?
114 |
115 |
116 | ###### 源码相关问题(可以在博客上找到相关资料):
117 | #### OkHttp源码/原理分析?
118 |
119 | #### Retrofit源码/原理分析?
120 |
121 | #### EventBus源码/原理分析?
122 |
123 | #### Rxjava源码/原理分析?(还有一次被问到Rxjava的调度器与worker关系?(----当时表示一脸懵逼😂))
124 |
125 | #### Glide源码/原理分析?(Glide、ImageLoader、Picasso、Fresco各种的优缺点?Glide的缓存处理)
126 |
--------------------------------------------------------------------------------
/image/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/image/.DS_Store
--------------------------------------------------------------------------------
/image/QQ20190402-223020@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/image/QQ20190402-223020@2x.png
--------------------------------------------------------------------------------
/image/androidImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/image/androidImg.png
--------------------------------------------------------------------------------
/image/arraylist与linketlist差别.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/image/arraylist与linketlist差别.png
--------------------------------------------------------------------------------
/image/hashmap与hashtable区别.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/image/hashmap与hashtable区别.png
--------------------------------------------------------------------------------
/image/jvm类加载机制.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/whatshappen/Android_Question/f53448675b0600288a71d90c67a4db07a35b3bea/image/jvm类加载机制.png
--------------------------------------------------------------------------------