Android面试反思:开发5年crud背景,惨遭字节阿里双挂,全败在了工作之外的技术点盘问

  • 同事代码可能导致内存泄漏和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基础相关知识:

关于一些基础知识的梳理


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动画

10.Android文件缓存方法

11.Android长连接,怎么处理心跳机制

12.Asset与raw,res、drawable

13.AsyncTask原理与使用

14.Bitmap相关

15.ContentProvide用法

16.IntentService

17.Json相比XML优劣势,protobuf

18.Looper、Handler、MessageQueue

19.Merge与ViewStub布局标签

20.OkHttp原理解析

21.Service相关

22.Sqlite基本操作

23.UIL原理解析

24.Volley原理解析

25.Zygote进程启动过程

26.启动Activity的集中方式

27.如何保证Service不被kill

28.如何加速启动Activity

29.怎样退出终止App

30.插件化原理

31.注册广播的两种方式

32.热补丁技术概括

33.自定义View(所有View知识)

34.通过自定义Gradle插件修改编译后的class文件

数据结构:

1.各种排序算法复杂度对比

2.排序算法

3.数据结构基本概念及复杂度分析

操作系统:

1.IPC集中通信方式

2.什么是虚拟内存

3.死锁的必要条件,怎么处理死锁

4.段储存、页储存、段页储存

5.虚拟地址、逻辑地址、线性地址、物理地址的区别

6.进程与县城

7.银行家算法

计算机网络:

1.3次握手和4次挥手过程

2.HTTP响应报文格式及各种响应吗

3.HTTP请求报文格式

4.Http1.1和Http1.0区别

5.Http怎么处理长连接

6.IP地址分类

7.OSI与TCP\IP各层的结构与功能

8.Ping的整个过程。ICMP报文是什么

9.TCP与UDP区别以及各自优缺点

10.TCP和UDP数据报文格式

11.TCP拥塞控制和流量控制

12.http与https区别

13.打开一个网页,整个过程使用到哪些协议

14.滑动窗口与回退N针协议

15.路由器与交换机区别

数据库:

1.关系数据库基本概念

2.关系模式的规范化

3.函数依赖与候选码的定义

4.数据库中数据查询

5.数据库查询优化

6.数据的添加、删除、修改

7.表的创建、修改表结构、删除表

JVM:

1.CAS是什么

2.GC收集器有哪些

3.GC的三种收集方法

4.内存模型以及分区

5.判断一个对象是否存活

6.双亲委派模型

7.对象的创建、内存布局、对象的访问定义

8.新生代老年代内存划分比例以及其各自特点

9.类加载的五个过程

10.静态分派和动态分派

面试前系统复习的重要性


很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典

  • Android学习路线图

首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!

总结

可以看出,笔者的工作学习模式便是由以下 「六个要点」 组成:

❝ 多层次的工作/学习计划 + 番茄工作法 + 定额工作法 + 批处理 + 多任务并行 + 图层工作法❞

希望大家能将这些要点融入自己的工作学习当中,我相信一定会工作与学习地更富有成效。

下面是我学习用到的一些书籍学习导图,以及系统的学习资料。每一个知识点,都有对应的导图,学习的资料,视频,面试题目。

**如:我需要学习 **Flutter的知识。(大家可以参考我的学习方法)

  • Flutter 的思维导图(无论学习什么,有学习路线都会事半功倍)

  • Flutter进阶学习全套手册

  • Flutter进阶学习全套视频

大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
更富有成效。

下面是我学习用到的一些书籍学习导图,以及系统的学习资料。每一个知识点,都有对应的导图,学习的资料,视频,面试题目。

**如:我需要学习 **Flutter的知识。(大家可以参考我的学习方法)

  • Flutter 的思维导图(无论学习什么,有学习路线都会事半功倍)

[外链图片转存中…(img-JqVafhie-1725754744636)]

  • Flutter进阶学习全套手册

[外链图片转存中…(img-OlXpVfiu-1725754744636)]

  • Flutter进阶学习全套视频

[外链图片转存中…(img-slg6OA18-1725754744637)]

大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值