Android技术知识Android开发

Android面试从新手到架构师,一篇解析就够!(网络、算法、J

2021-01-06  本文已影响0人  蓝斯_867

总览

网络:分层模型、TCP、UDP、HTTP、HTTPS

分层模型

UDP

TCP

1\. C->S:SYN,seq=x(你能听到吗?)2\. S->C:SYN,seq=y,ack=x+1(我能听到,你能听到吗?)3\. C->S:ACK,seq=x+1,ack=y+1(我能听到,开始吧)两方都要能确保:我说的话,你能听到;你说的话,我能听到。所以需要三次握手

1\. C->S:FIN,seq=p(我说完了)2\. S->C:ACK,ack=p+1(我知道了,等一下,我可能还没说完)3\. S->C:FIN,seq=q,ACK,ack=p+1(我也说完了)4\. C->S:ACK,ack=q+1(我知道了,结束吧)S 收到 C 结束的消息后 S 可能还没说完,没法立即回复结束标示,只能等说完后再告诉 C :我说完了

HTTP

HTTPS

算法:数据结构、常用算法

数据结构

常用算法

Java 基础:StringBuilder、泛型擦除、Exception、IO、容器

StringBuilder

泛型擦除

Exception 和 Error

IO 、 NIO、 OKIO

ArrayList、LinkedList

HashMap 、HashTable、HashSet

ArrayMap、SparseArray

Concurrent 集合

LRUCache 原理

Java 同步:volatile、wait、synchronized、可重入锁、乐观锁、死锁

volatile 关键字

wait 和 sleep

wait、notify、notifyAll

lock 和 synchronized

Synchronized 原理

可重入锁

公平锁

乐观锁和悲观锁

死锁 4 个必要条件

Java 设计模式:六大原则、23 种设计模式、动态代理

六大原则

Java 23 种设计模式(按目的分类为:5+7+11)

1995 年 GoF(四人组)出了一本设计模式的书,收录了 23 种设计模式,树立设计模式里程碑,也叫:GoF 设计模式

动态代理原理及实现

JVM:内存模型、内存结构、GC、四种引用、ClassLoader

JVM

JVM 内存模型

JVM 内存结构

GC

Minor GC/Major GC/Full GC

四种引用

ClassLoader

Android 基础:Activity、View 绘制、动画、Window、SurfaceView、事件分发

Activity 生命周期

Activity 启动模式

View 工作原理

MeasureSpec 测量规则

View 动画、帧动画及属性动画

Window 、WindowManager、WMS、SurfaceFlinger

SurfaceView、TextureView、SurfaceTexture、GLSurfaceView

事件分发机制

Android 通信:Handler、Parcelable、IPC、Binder

Handler、MessageQueue、Looper 及 postDelayed 原理

Serializable、Parcelable

Linux IPC 方式

Binder

Android 为什么选择 binder

Android IPC 方式

Android 系统:系统架构、Dalvik、ART、系统启动、类加载器、Apk 打包、Apk 安装

Android 系统架构

Dalvik 和 ART

Android 系统启动流程

Android 类加载器

APK 打包流程

App 安装过程

Android 优化:网络优化、卡顿优化、内存优化、瘦包、内存泄漏、ANR、Native Crash

网络优化及检测

UI卡顿优化

内存优化

瘦包

内存泄漏场景及规避

ANR 问题及分析

Native Crash

其他:解析 XML、进程保活、播放器、Lint、CI、CD、AOP、JetPack

Android 解析 XML

热修复、插件化、组件化

进程保活

播放器原理

Lint

CI

AOP

JetPack

最后

不用多说,相信大家都有一个共识:无论什么行业,最牛逼的人肯定是站在金字塔端的人。所以,想做一个牛逼的程序员,那么就要让自己站的更高,成为技术大牛并不是一朝一夕的事情,需要时间的沉淀和技术的积累。

关于这一点,在我当时确立好Android方向时,就已经开始梳理自己的成长路线了,包括技术要怎么系统地去学习,都列得非常详细。

这里最后分享耗时一年多整理的一系列Android学习资源:Android源码解析、Android第三方库源码笔记、Android进阶架构师七大专题学习、历年BAT面试题解析包、Android大佬学习笔记等等,这些内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容

上一篇 下一篇

猜你喜欢

热点阅读