博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【金三银四】安卓工程师跳槽经验分享,源码+原理+手写框架
阅读量:2061 次
发布时间:2019-04-29

本文共 1712 字,大约阅读时间需要 5 分钟。

背景

曾经有人问我,为什么要下班了不找点乐子,还花这么多时间去写一份资料。你是不是傻!

我无言以对!

但是不得不说,这份笔记确实倾注了我很多心血。

至于,我为什么要做这份资料,为什么又要写这篇文章!是因为我跟我的好基友打了个赌,我们一人做一份资料。到时候一起传到网上,看谁的文章效果好,输了就请对方 吃一个月的饭!(按他的奢侈程度,我应该会破产)

一、图片

1、图片库对比

2、LRUCache原理
3、图片加载原理
4、自己去实现图片库,怎么做?
5、Glide源码解析
6、Glide使用什么缓存?
7、Glide内存缓存如何控制大小?

二、网络和安全机制

1.网络框架对比和源码分析

2.自己去设计网络请求框架,怎么做?
3.网络请求缓存处理,okhttp如何处理网络缓存的
4.从网络加载一个10M的图片,说下注意事项
5.TCP的3次握手和四次挥手
6.TCP与UDP的区别
7.TCP与UDP的应用
8.HTTP协议
9.HTTP1.0与2.0的区别
10.HTTP报文结构
11.HTTP与HTTPS的区别以及如何实现安全性
12.如何验证证书的合法性?
13.https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?
14.client如何确定自己发送的消息被server收到?
15.谈谈你对WebSocket的理解
16.WebSocket与socket的区别
17.谈谈你对安卓签名的理解。
18.请解释安卓为啥要加签名机制?
19.视频加密传输
20.App 是如何沙箱化,为什么要这么做?
21.权限管理系统(底层的权限是如何进行 grant 的)?

三、数据库

1.Sqlite升级,增加字段的语句

2.数据库框架对比和源码分析
3.数据库的优化
4.数据库数据迁移问题

四、插件化、模块化、组件化、热修复、增量更新、Gradle

1.对热修复和插件化的理解

2.插件化原理分析
3.模块化实现(好处,原因)
4.热修复、插件化
5.项目组件化的理解
6.描述清点击 Android Studio 的 build 按钮后发生了什么

五、架构设计和设计模式

1.谈谈你对Android设计模式的理解

2.MVC MVP MVVM原理和区别
3.你所知道的设计模式有哪些?
4.项目中常用的设计模式
5.手写生产者/消费者模式
6.写出观察者模式的代码
7.适配器模式,装饰者模式,外观模式的异同?
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
9.谈谈对RxJava的理解
10.Rxjava发送事件步骤
11.RxJava的作用,与平时使用的异步操作来比的优缺点
12.说说EventBus作用,实现方式,代替EventBus的方式
13.从0设计一款App整体架构,如何去做?
14.说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)
15.谈谈对java状态机理解
16.Fragment如果在Adapter中使用应该如何解耦?
17.Binder机制及底层实现
18.对于应用更新这块是如何做的?(解答:灰度,强制更新,分区域更新)?
19.实现一个Json解析器(可以通过正则提高速度)
20.统计启动时长,标准

最后

希望大家能有一个好心态,想进什么样的公司要想清楚,并不一定是大公司,我选的也不是特大厂。当然如果你不知道选或是没有规划,那就选大公司!希望我们能先选好想去的公司再投或内推,而不是有一个公司要我我就去!还有就是不要害怕,也不要有压力,平常心对待就行,但准备要充足。最后希望大家都能拿到一份满意的 offer !如果目前有一份工作也请好好珍惜好好努力,找工作其实挺累挺辛苦的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

部分。

[外链图片转存中…(img-dBQpS2cY-1618209687694)]

转载地址:http://wvqlf.baihongyu.com/

你可能感兴趣的文章
[译] Kubernetes 儿童插图指南
查看>>
云原生周报第 2 期 | 2019-07-01~2019-07-05
查看>>
kubectl 创建 Pod 背后到底发生了什么?
查看>>
Kube-scheduler 源码分析(二):调度程序启动前逻辑
查看>>
kubernetes 1.15 有哪些让人眼前一亮的新特性?
查看>>
云原生周报:第 3 期
查看>>
深入理解 Linux Cgroup 系列(三):内存
查看>>
7月最新Java微服务资料
查看>>
Linux 指令
查看>>
wi10优化
查看>>
windows console 颜色设置
查看>>
VC unicode下Cstring转char*
查看>>
MFC ListBox使用
查看>>
Linux 使用grep筛选多个条件
查看>>
H264 NALU分析(sps,pps,关键帧,非关键帧)
查看>>
Windows文本加载wscite的使用
查看>>
浏览器主页被篡改修复
查看>>
FFmpeg - 新老接口对比问题
查看>>
Windows下MinGW编译ffmpeg库
查看>>
SDL在windows下使用 - 显示YUV
查看>>