Need help with Android_Question?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

whatshappen
204 Stars 16 Forks 16 Commits 31 Opened issues

Description

记录2019年社招面试过程中的一些问题,供大家参考,可以补充和指正,一起成长~

Services available

!
?

Need anything else?

Contributors list

# 737,029
16 commits

Android_Question

记录2019年社招面试过程中的一些问题,供大家参考,可以补充和指正,一起成长~

面试题:

Issues中有参考答案。可以补充指正,也可提及自己的答案~

面试题1.

Android开发过程中的版本适配问题?

面试题2.

关于协程的概念

面试题3.

synchronized和lock的区别?

面试题4.

Handler机制如何保证消息不错乱?消息延迟是如何实现的?Handler、Looper、MessageQueue三者对应关系?内存泄漏如何避免?Looper中的死循环为什么不会引器主线程ANR?

面试题5.

开发过程中如果想替换第三方jar中的某个class文件,或者在开发时你的class文件与jar中的重名,但是你想使用自己的应该如何解决?如果你替换掉某个方法又该怎么解决?

面试题6.

IO与NIO的区别?

面试题7.

单例模式有几种写法以及各自的优劣?

面试题8.

ArrayList 和LinketList区别?hashmap的实现原理?hashmap与hashtable的区别?

面试题9.

gson序列化数据时如何排除某个字段?

面试题10.

ButterKnife与Xutils注解的区别?以及Retrofit中的注解是如何处理的?

面试题11.

jvm的类加载机制?

面试题12.

列举一些git版本控制的常用操作符?

面试题13.

AsyncTask的原理以及弊端?AsyncTask为什么要求在主线程加载,对象为什么要在主线程创建?

面试题14.

Android开发中的屏幕适配方案?

面试题15.

多线程中sleep和wait的区别?

面试题16.

输出字符串中的第一个不重复的字符,例如:
   “hello”输出 ‘h’
   “abbac”输出 ‘c’
   “abdabe”输出 ‘d’

面试题17.

对有序int数组去重,并输出去重后的长度,并打印出来,要求时间复杂度为O(n),空间复杂度为O(1)。
例如:int[] array = {-1,0,0,2,4,4,4,6};
   长度为:5,打印结果为:-1,0,2,4,6

面试题18.

假设有A,B,C三个线程,在A线程的执行过程中去执行B线程,并且等待B线程的执行结果,然后去执行C线程,然后当C线程执行完成后,返回结果给A线程。不阻塞线程,如何实现?(相关描述我也记不太清了,可能有些不准确,考点就是Future)

面试题19.

ThreadLocal作用?

面试题20.

深复制(深拷贝)与浅复制(浅拷贝)的区别?

面试题21.

大图的局部加载(BitmapRegionDecoder),在不使用BitmapRegionDecoder类的情况下,自己实现局部加载?

面试题22.

常见的排序算法?手写快排?对冒泡排序的优化?

面试题23.

在使用git管理时,commit到本地库后,发现漏了文件,如何处理?(rebase命令合并两次commit的数据)

面试题24.

kotlin中的内联函数

面试题25.

kotlin中的两种懒加载区别?(by lazy、lateinit)

面试题26.

kotlin中扩展函数的弊端?

面试题27.

在使用kotlin开发过程中,遇到过哪些坑?

面试题28.

Activity中的context与Application中的context区别?

面试题29.

Activity的四种启动模式?当A配置了singleTask启动模式后,A-->B-->C-->D ,此时再启动A,会回调哪个方法?(onNewIntent()生命周期方法)

面试题30.

Activity与Activity之间传递数据?
Fragment与Activity之间传递数据?
Fragment与Fragment之间传递数据?

面试题31.

Activity的启动过程?(不是Activity的生命周期,或者换一种问法:应用的启动过程?)

面试题32.

js与native互调?安全问题处理?WebView对url的拦截?

源码相关问题(可以在博客上找到相关资料):

OkHttp源码/原理分析?

Retrofit源码/原理分析?

EventBus源码/原理分析?

Rxjava源码/原理分析?(还有一次被问到Rxjava的调度器与worker关系?(----当时表示一脸懵逼😂))

Glide源码/原理分析?(Glide、ImageLoader、Picasso、Fresco各种的优缺点?Glide的缓存处理)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.