Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死

  • TextView的绘制流程 怎么处理换行

  • 性能优化都做了哪些

  • Shareperference实现机制

  • 插件化原理

  • ViewRootImpl都做了哪些事情

  • 都有哪些window类型 内部是怎么处理window不同权限的

  • 算法:

给定一个数N 如23121 给定一组数字A如{2,4,9}; 求由A中元素组成的、小于N的最大数,如小于23121的最大数为22999

涂鸦智能(现场面试两轮)


一面

  • 讲一下Handler消息机制

  • 项目中都做了哪些性能优化

  • 讲一下绘制流程 View和ViewGroup的区别

  • 事件分发流程是怎么执行的

  • http的请求过程

  • HashMap原理 put过程、扩容 1.7 1.8区别ConcurrentHashMap原理

二面

  • MQTT协议的特点 底层原理

  • Activity启动流程 为什么zygote使用socket通信

  • 插件化原理 遇到过什么问题 怎么解决的

  • classLoader双亲机制

  • 模块化通信 自己设计一套怎么实现

  • tcp协议请求过程

面试结束后已经中午吃饭了 面试官让等一会 结果又让等通知

等了有一个星期邮件通知感谢

阿里(三面挂)


初面(电话简单聊了二十分钟)

  • 项目经历 主要做过哪些业务功能

  • 性能优化

  • 有遇到过哪些比较难的问题

  • 讲一下MQTT协议

  • 注解和反射原理

  • HashMap内部实现原理 怎么hash的 怎么扩容 1.7、1.8什么区别 多线程会导致什么问题

  • 项目中人脸识别用到了哪些业务场景

这一面应该是筛选下简历 不算正式面世

一面(电话面试四十分钟)

  • 介绍自己做过的项目 处理了什么问题

  • ListView和ScrollView的冲突怎么处理

  • Handler怎么处理延时消息的 消息队列中死循环在native层都做了什么处理

  • 为什么用单Activity多Fragment 怎么处理传参

  • 同事代码可能导致内存泄漏和ANR 在代码层面怎么避免

  • okhttp拦截器实现 连接池的复用策略 有实现http2.0吗 okhttp和volley的区别 从实现策略讲

  • 讲一下eventbus实现原理

  • glide的三级缓存是怎么执行的 最近使用和正在使用的缓存是怎么切换的 怎么处理bitmap复用的 如果自己实现一个该怎么处理

  • 模块化怎么通信 底层怎么实现

二面(电话面试三十多分钟)

  • 介绍项目 自己处理过哪些项目痛点 怎么处理的

  • 泛型编译期信息怎么储存的 什么情况下泛型会擦除

  • MVP、MVVM优缺点

  • 与web是怎么交互通信的 这个模块怎么设计的

  • 接口 抽象类区别 可以new吗

  • JDK8的流有用过吗 解决了什么问题 写过接口的默认实现吗

  • 讲一下RN和Flutter的区别

  • 算法:查找数组中大小为x的两个数(只有一对)

三面(三十多分钟)

  • 介绍做过的项目 处理过哪些问题

  • http2.0什么特性 有哪些问题

  • 设计模式了解多少 讲一下装饰模式

  • MQTT协议解决了哪些问题 为什么

  • flutter了解多少

  • 平时都通过哪些方式学习和了解技术的

  • 都有了解其他哪方面的技术

  • 在最近的项目中学到了什么

  • 职业发展方向

  • 对于这项工作你有什么优势

中间废话有点多 面试官有点不耐烦 说尽量讲的简单些

第三天就收到邮件感谢了 -。-

阿里整体的面试难度不算太离谱,可能刚好都是比较擅长的,但面试周期较长,面到三面的时候已经多半个月了,有点力不从心;也有自己没有准备好的原因,有点懈怠了,三面问的问题大白话的偏多,奈何本人嘴笨,血压逐渐拉满,不过也算没有遗憾,深知能力有限,就酱吧~

整理了下其他面试中都涉及过的问题


网络

http请求、tcp握手回收、MQTT相关

数据结构

树、链表

Java

  • GC、Collection、Map

  • 多态

  • 多线程、各种锁机制

Android

  • 性能优化、ANR、内存泄漏

  • Activity启动模式、启动流程

  • 四大组件

  • Hanlder机制、事件分发、绘制流程

  • MVP、MVVM、插件化(hook)

  • 跨进程通信、aidl、广播、ContentProvider

  • okhttp、retrofit、glide、eventbus底层原理

Kotlin

  • kotlin反射、kotlin泛型

  • 协成原理 await、async区别

  • lateinit和by lazy区别

Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死_第1张图片

很多技术细节,工作中用不太到,但是面试不得不去准备,还是要把基础打牢固,下面就分享一些我梳理的一些Android基础相关知识:

关于一些基础知识的梳理


Java基础:

1.ArrayList、Linkedlist、Vector

2.BlockingQueue、CountDownLatch

3.Collections、Arrays

4.Exception与Error包结构,OOM,SOF的各种情况

5.HashCode作用

6.Java1.7、1.8新特性

7.Java NIO

8.Java基本数据类型以及相关操作

9.Java的四种引用,强弱软虚,用到的场景

10.Map、Set、List、Queue、Stack的特点与用法

11.Map相关子类区别

12.Object共有方法以及wait和sleep区别

13.Override与Overload区别

14.String相关内容学习

15.foreach与for循环效率对比

16.interface与abstract类的区别

17.static关键字

18.synchronized、lock、reentrantLock区别

19.不同清醒下return与finally的执行顺序

20.transient、volatile

21.反射原理及应用

22.反省特点以及类型转换

23.生产者消费者问题的五中实现

24.县城以及ThreadLocal

25.线程池的使用

26.解析XML的DOM与SAX以及PULL区别

27.锁的等级:方法锁、对象锁、类锁

28.面向对象的特征和含义以及多态实现原理

Android:

1.在AS中定义Gradle插件

2.Activity与Fragment生命周期

3.Activity卡顿原因

4.Activity启动过程

5.Activity四种启动模式与IntentFilter匹配规则

6.Activity的状态保存

7.Android5.0、6.0、7.0、8.0、9.0、10.0特性

8.Android内存优化方法

9.Android动画

总结

我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识

这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~

领取方式:点击直达GitHub

Android 基础知识点

Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死_第2张图片

Java 基础知识点

Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死_第3张图片

Android 源码相关分析

Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死_第4张图片

常见的一些原理性问题

Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死_第5张图片

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析

Android面试反思:开发5年crud背景,惨遭字节阿里双挂,Android已死_第6张图片
%E9%AB%98%E8%96%AA%EF%BC%81.md)**

Android 基础知识点

[外链图片转存中…(img-aq72ujjk-1645101300610)]

Java 基础知识点

[外链图片转存中…(img-xYSDq0C0-1645101300611)]

Android 源码相关分析

[外链图片转存中…(img-zqmWt6bB-1645101300612)]

常见的一些原理性问题

[外链图片转存中…(img-PLlKXkL9-1645101300612)]

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析

[外链图片转存中…(img-oSyQkx6v-1645101300613)]

你可能感兴趣的:(程序员,面试,移动开发,android)