写点什么

Android 开发核心知识笔记共 2100 页,统统给你解决

用户头像
极客开源
关注
发布于: 刚刚

第一面

面试官看起来很年轻,感觉是一个刚毕业不久的小伙汁,声音很青涩哈哈哈哈开始面试的时候把我给问懵了,当时刚午觉睡醒,还没缓过神


计算机网络部分:


1.http 的一套流程是什么?


2.https 发起连接的流程是什么?


3.http 请求的请求头中包含哪些字段?(这里忘了不少字段,只说了三四个,呜呜呜)


4.一次 http 请求的结构是什么样的?(这里因为网络的问题,听了三遍,终于弄懂了面试官的意思,呜呜呜)


操作系统:


1.能简单说说线程和进程间的区别吗?


2.进程间通讯的方式你知道有哪些吗?


3.听说过 Messenger 吗?(知道,但是底层还是使用的 AIDL+Handler 的形式,AIDL 底层还是使用的 Binder 驱动)


数据库:


1.能简单说一下数据库如何修改一张表中的数据吗?


2.给一张表增加一个字段该用什么关键字?


Java:


1.能简单说说 Lock,synchronize,CAS 之间的关系,以及具体实用的场景吗?


2.能详细说一下 CAS 是什么吗?AtomicInteger 是怎么实现线程安全的?


3.具体的锁升级机制能简单讲讲吗?


4.能简单说说代理模式吗?动态代理和静态代理有什么区别?


Android:


1.能简单说一下事件分发机制吗?


2.MeasureSpec.UNSPECIFIED 是什么意思?如果外层的 ViewGroup 的模式是 AT_MOST,内层是 match_parent,那么最终传递到内层的模式是什么?(AT_MOST)? ? ps:这个问题没啥意义


(听你说了 View 中有 scrollTo,scrollBy,那么我们分析一个场景题)


3.场景题:首先有一个 FrameLayout,其中嵌套着两层 View,我们在进行重写 onTouchEvent 的时候,如何让上层 View 滑动并且暴露出下层的 View?(这里有一个坑,面试官说的 scrollTo、scrollBy,我就在这俩上面思考怎么暴露出下层的 View,最后突然想到可以通过事件来调整整个 View 的布局位置)


源码:


1.看过那些优秀的开源框架源码吗?


2.知道那些源码相关的设计模式呢?


3.HashMap 简单说一下原理吧

二面:

二面是一个女面试官,年龄可能在 40 岁左右


设计模式:


1.熟悉那些设计模式呢?


2.动态代理底层是如何实现的?


3.讲讲 Retrofit 的动态代理吧


Java:


1.能简单说说 JVM 内存模型的目的以及在内存中区分为哪些区域吗?


2.内存回收机制大致讲讲呗?


3.类加载机制完整细致的描述一下把


4.类加载器的双亲委派原则说一下吧?(这里有一个疑问,我说父子类加载器不是继承关系,然后面试官说不太对,这里我有一点点疑问,还请大家告知一下)


5.能说一下 Java .class 文件的结构吗?


6.线程池的基本机制有了解吗?非核心线程如何保证延迟结束?


7.为什么内部类会默认持有外部类的引用?


Android:


1.Handler 消息机制简单说一下吧(延时的消息是如何发送的?以及通过 Looper.loop()是如何处理延时消息的?)


2.为什么 Handler 会出现内存泄漏?


3.View 中的 post 和 handler 的 post 有什么区别?(我说 view 中的 handler 是经过重写的,会处理关于 View 的相关绘制事件,然后面试官说只回答对了一部分,我有些疑问,还有其他的区别吗?)


4.有用到什么内存泄漏检测的框架吗?知道原理吗?(就是上面所说的 JVM 内存回收机制)


5.知道关于性能优化相关的吗?能简单讲一下吗?(布局,异步,过渡绘制)


6.能讲一下 Activity 的启动流程吗?


7.听你讲到了进程间通讯,PackageManagerService 和 ActivityManagerService 进行通信的方式是什么?


8.Binder 驱动底层原理了解吗?(mmap 的内存地址映射)


9.Serializable 和 Parcable 有什么区别?如何使用?


10.听你说到了 sp(SharedPreference),你知道 sp 能跨进程通讯吗?


《960 全网最全 Android 开发笔记》



《379 页 Android 开发面试宝典》



《507 页 Android 开发相关源码解析》



因为文件太多,全部展示会影响篇幅,暂时就先列举这些部分截图


本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

用户头像

极客开源

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
Android开发核心知识笔记共2100页,统统给你解决