大家好,又见面了,我是你们的朋友全栈君。
目录
Android
1.synchronized和lock的区别
答: 详解synchronized与Lock的区别与使用_brickworkers的博客-CSDN博客_synchronized和lock区别 还可以去了解什么是可重入锁,公平 锁, 可中断锁。
2.创建多线程方式
答:Android多线程的四种方式 – Android移动开发技术文章_手机开发 – 红黑联盟 除了这些还有最近流行的rxjava
3.handle机制()
答:从源码了解handler looper ,messageQueue思路_amogin的专栏-CSDN博客 这篇文章是我根据源码来分析的,主要是handle如何实现收发消息
Handler延时处理消息的流程_渔人的博客-CSDN博客_handler延时处理 handle如何实现延时发消息postdelay()
Android中为什么主线程不会因为Looper.loop()里的死循环卡死?_tiandiren2007的博客-CSDN博客 还要知道当消息队列里没有消息是怎么解决死循环问题
4.view,groupview的绘制原理
答:ANDROID自定义视图——onMeasure,MeasureSpec源码 流程 思路详解_大苞米的专栏-CSDN博客_android 自定义视图 主要对onMeasure()的源码思路做了解
5.事件分发机制
答:Android事件分发机制详解:史上最全面、最易懂 – 简书 这篇文章真的超详细
6. 线程池的类型
答:Android 线程池的类型、区别以及为何要用线程池 – cspecialy – 博客园
7.进程通讯
答:AIDL Android 深入浅出AIDL(一)_凶残的程序员-CSDN博客
Android 深入浅出AIDL(二)_凶残的程序员-CSDN博客
8.binder分析
答:Android Binder之应用层总结与分析_凶残的程序员-CSDN博客_android binder运用
9.activity的启动过程
答:Android Launcher 启动 Activity 的工作过程_凶残的程序员-CSDN博客_启动activity
10.并发
答:如何解决高并发产生的性能问题:android实现高性能,高并发,可延时线程池管理_kerryqpw的博客-CSDN博客_android 高并发
高并发过程中涉及到的问题:即第一条讲的同步锁
11.进程保活方法
答:Android进程保活的一般套路_Looper景-CSDN博客
12.插件化
13.内存泄漏原因以及如何避免内存泄漏
答:5个Android开发中比较常见的内存泄漏问题及解决办法_q178266871的专栏-CSDN博客
14.注解框架实现原理
答:Android面试题-注解框架实现原理_所有技术文章里面全部配置了配套视频-CSDN博客_注解框架实现原理
15.运行时APT使用及原理
答:AbstractProcessor注解处理器_有码走遍天下,无码寸步难行-CSDN博客_abstractprocessor
16.性能优化
其中包括四点:
- APP使用起来不卡顿,要流畅;
- 要省电,省流量;
- 内存优化
- APP包尽量要小;
17.如何检测内存溢出
看完上面的文章,也可以使用android studio的heap dump ,将其导出至MAT(内存分析工具)进行查看,因为在android studio查看我发现太卡了
18.activity的启动模式
19.kotlin 协程详解
Kotlin 的协程用力瞥一眼 – 学不会协程?很可能因为你看过的教程都是错的
20.为什么图片需要用软引用,MVP模式中的view接口用弱引用
答:软引用对象是内存不足的时候会被回收,所以由于图片占用内存过大,我们选择再内存不足的时候就回收图片
弱引用对象是GC回收的时候会被调用,同时当activity销毁的时候会进行GC。那么为什么MVP模式中的P层中的view要用弱引用呢,我们可以这样么考虑,我们希望activity关闭的同时view也被回收,如果activity关闭,那么会进行GC,那么弱引用对象就会回收。
Android主流框架
1.okhttp源码分析
答:Android面试题-OkHttp3源码分析_所有技术文章里面全部配置了配套视频-CSDN博客_okhttp3面试题 这篇文章按照源码思路一步步往下走,非常不错。
我用一句话让大家更好的理解拦截器 ,从上往下一层一层传递每层封装好的request ,再从下往上一层一层传递每层封装好的response。
2.rxjava,okhttp,retrofit三者原理及封装使用
答: Carson带你学Android:RxJava操作符使用教程 – 简书 rxjava Android面试题-OkHttp3源码分析_所有技术文章里面全部配置了配套视频-CSDN博客_okhttp3面试题
Carson带你学Android:手把手带你深入读懂Retrofit 2.0源码 – 简书 retrofit
Android版&Kotlin版RxJava2+Retrofit2+OkHttp3的基础、封装和项目中的使用 – 简书 封装使用
Rxjava2.0+Retrofit+Okhttp(封装使用)+MVP框架搭建 – 简书 封装使用,个人觉得这个封装比较好,因为对第三方API都进行了封装,避免API 大 量修改造成程序跟着大量修改 ,结合MVP使用
带你封装自己的MVP+Retrofit+RxJava2框架(一) – 掘金
3.ARouter原理
答:https://www.jianshu.com/p/bc4c34c6a06c
4.leakcanary原理
5.lrucache使用及原理
答:
6.基于DataBinding与LiveData的MVVM实践
答 : 基于DataBinding与LiveData的MVVM实践 – 简书
https://www.jianshu.com/p/3e8e1fee00fc
JAVA部分
1.hashmap原理
答:JDK1.7中HashMap底层实现原理 – dijia478 – 博客园
2.内存回收机制
深入理解 Java 垃圾回收机制 – Andy赵 – 博客园
结合这二篇文章看一定能看的非常清晰
设计模式
1.常用的设计模式
答:单例模式,工厂模式,观察者模式,Builder模式,克隆模式,策略模式这几种个人认为是比较常见的,然后主要要区分工厂模式和策略模式的区别
2.动态代理
答:java动态代理实现与原理详细分析 – Gonjian – 博客园
网络
1.http协议,tcp/ip协议
答:关于HTTP协议,一篇就够了 – ranyonsue – 博客园 http协议
TCP/IP协议简介_MXSKE的博客-CSDN博客_tcp/ip协议 tcp/ip协议
2.TCP三次握手及四次挥手
答:TCP的三次握手与四次挥手理解及面试题(很全面)_lucky_jun-CSDN博客_三次握手四次挥手
其他
1.常用加密算法(对称和非对称)
答:快速集成Android最常用八种加密算法_Songlcy-CSDN博客_android 国密加密
Android开发-对称加密和非对称加密_咖啡店小二-CSDN博客 然后需要了解对称和非对称加密的区别
2.图片占据的内存算法
答:Android中一张图片占据的内存大小是如何计算 – 请叫我大苏 – 博客园
3.数据结构
答:数据结构算法,例如一些快速排序还是需要了解一下,一些大公司会问算法类问题
二叉树遍历(前序、中序、后序、层次遍历、深度优先、广度优先)_My_Jobs的专栏-CSDN博客_二叉树的遍历
4.jetpack架构常用组件
Android Jetpack 架构组件系列(一)概述 – 简书
TCP的三次握手与四次挥手理解及面试题(很全面)_lucky_jun-CSDN博客_三次握手四次挥手
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143246.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...