2020首个Android开发岗面经汇总(腾讯、网易、哔哩哔哩等)

1.介绍一下binder和原理

2.measure layout draw流程,滑动冲突

3.常用的多线程工具类。blockingqueue ,concurrenthashmap,信号量,countdownlatch,cyclicbarrier,exchanger等,stringbuffer

4.stringbuilder 和stringbuffer区别

5.lock和syncrognized原理区别,适合什么场景。

6.实现生产者,消费者

7.handler原理,是如何实现延时的。

8.一个activity启动另外一个activity的生命周期。

算法题:

1.反转链表

2.归并排序

3.快速排序

4.feiboqiena数列

5.二分查找

6.两个队列实现栈

7.两个栈实现队列

8.判断链表是否成环,找到成环的交点。

美团

一面

1、霍夫曼编码???(不记得)

2、IP地址怎么分类的、划分方法?(只知道IPv4、IPv6)

3、快速排序的思想

4、Java多态的原理

5、Java反射(只讲了一个基本概念)

6、讲一下ConcurrentHashMap的底层原理

7、ContentProvider干什么用的?自己有用过吗?

8、进程、线程的区别

二面

1、handler机制源码

2、threadlocal原理

3、Android IPC

4、Android多线程的实现方式

5、Binder机制原理

6、什么是面向对象

7、面向对象比面向过程好在哪里

三面

聊项目

B站

一面

1、怎么保证线程安全

2、进程之间怎么通信

3、HashMap源码、与HashTable的区别

4、泛型擦除

5、线程池的原理、用法

6、进程的调度算法

7、信号量讲一下

8、自己实现一个handler(写到后面有点晕了,对面试官说抱歉 我现在脑子有点晕 写不出来 面试官说 没事 可能是我没表达清楚 咱们换下一个题)

9、了解哪些数据结构,重点介绍两三个

10、讲一下堆排序的原理

11、手写堆排序

12、算法二叉树的直径

二面

1、红黑树的定义

2、红黑树的好处

3、接口和抽象类的区别

4、java内存分区

5、堆和栈的区别,可能出现什么问题

6、静态变量放哪里?方法参数放哪里

7、类加载机制

8、手写快排

三面

1、Handler机制

2、activity的生命周期和切换

3、Android怎么跨进程通信

4、垃圾回收算法

5、Gc roots的对象

6、问我你是不是看过深入理解java虚拟机那本书,我说是

7、什么情况下发生死锁

8、怎么检测内存泄漏

9、引用计数法不能解决循环用的问题,但我想用引用计数法怎么办(智能指针)

百度

一面

1、面向对象的三个特征

2、输入一个网址的全过程

3、讲一下知道的http状态码

4、内存泄漏

5、会哪些设计模式?写一下单例,不用synchronized

6、rv和lv的区别

7、rv的源码

8、算法二叉树的深度

二面

1、hashmap源码

2、volatile的原理

3、上面与synchronized的区别

4、讲一下tcp拥塞控制

5、滑动窗口是什么,有什么用?

6、==和equals

7、hashcode作用

三面

聊以往的各种经历

网易云音乐(很喜欢抠细节)

一面

1、padding和margin的区别

2、relativelayout布局怎么让一个控件放在正中间

3、clipChildren属性作用

4、clipToPadding属性作用

5、知道点九图吗?一般什么情况会用到

6、activity之间怎么传数据

7、从a activity打开b activity生命周期怎么变化的

8、service的启动方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值