985硕艰难转行Android之路 加面经分享,android路由器

寒假期间仅仅看了左程云算法书里的几道常见面试题,到了年后2月底开始正式投递简历,当时给自己定的目标是年新30w,在春招期间只投了一些有名气的公司,包括腾讯、字节、美团、滴滴、顺丰、vivo,其中滴滴的面试由于时间冲突放弃了。

投递的公司基本上都过了笔试,可能是跟岗位选择有关,也有可能是春招竞争并没有那么激烈,最后拿到了美团、顺丰的offer并选了美团。

下面是部分面经,希望能给提前批或者秋招的同学一些借鉴。

面经总结

====================================================================

腾讯一面 50分钟

1.MVVM与mvc、mvp架构的区别与联系

2.mvvm用到的设计模式

3.viewmodel的实现原理

4.viewmodel怎么更新数据的

5.安卓的线程通信

6.looper阻塞为什么不会造成ANR

7.广播里怎么执行耗时操作

8.阻塞多久会出现ANR

9.开发遇到的一些异常,怎么处理

10.线程安全的队列有哪些

11.concurrenthashmap详解

12.fragment的生命周期

13.安卓里解决多线程冲突的方法

14.volatile详解、synchronized详解,两者区别

15.activity生命周期

16.onStart与onResume解释

17.安卓中进程间通信方式

18.内核态与用户态

19.redis原理

20.redis怎么保证原子性

21.TCP传输中header里的字段

22.http状态码

23.Java GC机制

24.进程、线程、协程的联系与区别

25.死锁的必要条件

26.银行家算法

27.TCP拥塞控制

28.四次挥手详解

29.TCP与UDP区别

30.TCP怎么保证可靠传输

31.DNS解析过程

32.TCP报文里的字段

33.算法题:计算二叉树的高度(递归与非递归两种方式)

腾讯二面,35分钟

1.mvvm,mvp,mvc

2.详细介绍项目

3.网络传输层的协议

4.TCP报头

5.TCP三次握手,为什么三次

6.linux内存管理机制

7.虚拟内存与物理内存

8.常用数据结构

9.堆排序原理

vivo一面 45分钟

1.面向对象三大特性,多态怎么实现

2.静态方法与变量是否可以继承,原因

3.Java代理是否用过,怎么实现

4.Java异常详解

5.项目中遇到的异常

  1. 线程安全的队列

7.类加载的过程

8.类加载器,双亲委派模型

9.对象生命周期

10.判断对象是否可以回收的方法

11.有哪些GC roots

12.Java引用类型

13.抽象类与接口区别,各自优缺点

14.Java线程间通信, volatile详解、synchronized详解

15.线程的状态

16.进程、线程、协程

17.死锁怎么造成的

18.线程池详解

19.线程池怎么做到线程复用

20.thread local详解

21.Java泛型,泛型擦除机制

22.TCP与UDP区别,优缺点

23.TCP可靠传输机制

24.介绍http协议

25.https请求流程

26.b树、b+树、红黑树

27.红黑树怎么增加、删除节点

28.输入一个URL到网页显示的过程

29.localhost 与127.0.0.1的区别

30.MVVM、MVC、MVP的区别与联系,各自优缺点

31.activity的生命周期

32.安卓中的数据存储,sharedpreference详解

字节一面 1小时

1.进程、线程、协程

2.进程间能共享内存吗

3.安卓中挂起函数怎么实现的

4.安卓中实现多线程的方法

5.线程池详解

6.线程池设计模式,怎么自己设计一个线程池

7.handler详解,是否会内存泄漏,泄露的原理

8.匿名内部类,原理是什么

9.Java GC算法

10.Java引用类型,弱引用的作用,引用队列。

11.安卓图片缓存,加载

12.安卓中的布局,布局优化方法,常用标签

13.安卓四大组件

14.activity四大启动模式

15.onnewintent方法

16.本地广播

17.jetpack组件

18.viewmodel设计模式,mvc,mvp,mvvm介绍

19.retrofit的具体实现,其中接口的作用,注解的作用

20.hashtable,hashmap与 concurrenthashmap详解

21.哈希冲突解决方法,

22.算法题:随机生成不重复的100个数0-99

字节二面,50分钟

1.https详细介绍

2.get与post区别

3.请求状态码

4.cookie与session

5.Java内部类

6.泛型擦除机制

7.Java内存回收

8.GC roots

9.Java加锁方式

10.线程安全的单例模式(双重检测),为什么要两次判断,volatile作用

11.安卓的事件分发机制

12.算法题:获得二叉树的最大宽度,写出最优解

字节三面,50分钟

5道代码题

1.写一个泛型方法,实现删除数组中的元素功能

2.写一个单例模式

3.返回二叉树的第k大数

另外两个记不得了,代码写的很差,所以三面卒。。。

顺丰一面,30分钟

1.面向对象三大特性与面向过程区别

2.怎么判断对象相等,equals详解

3.抽象类与接口区别

4.Java跨平台的原因

.https详细介绍

2.get与post区别

3.请求状态码

4.cookie与session

5.Java内部类

6.泛型擦除机制

7.Java内存回收

8.GC roots

9.Java加锁方式

10.线程安全的单例模式(双重检测),为什么要两次判断,volatile作用

11.安卓的事件分发机制

12.算法题:获得二叉树的最大宽度,写出最优解

字节三面,50分钟

5道代码题

1.写一个泛型方法,实现删除数组中的元素功能

2.写一个单例模式

3.返回二叉树的第k大数

另外两个记不得了,代码写的很差,所以三面卒。。。

顺丰一面,30分钟

1.面向对象三大特性与面向过程区别

2.怎么判断对象相等,equals详解

3.抽象类与接口区别

4.Java跨平台的原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值