Android 开发两年:动脑学院 2019android
大厂面试真题
面过的公司:美团(意向书已拒)、B 站(意向书已拒)、腾讯(二面挂)、百度(意向书已拒)、网易云音乐(意向书已拒)、拼多多(拼越计划已 oc)
其他:字节(转正通过已拿意向书)
美团
一面
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、http 和 https
2、抓包的原理
3、tcp 和 udp 区别
4、tcp 三握四挥
5、线程和进程的区别
6、线程安全的实现方法
7、synchronized 原理
8、上面与可重入锁的区别
9、可重入锁的应用场景
10、算法考了一个单调栈,具体题目忘记了
二面
一直说我项目经历不多,后面的面试也像是例行公事一样,问了几个常规题凑了三四十分钟......也是大可不必,之后的腾讯面邀都直接拒绝了。
1、tcp 和 udp 的区别
2、线程、进程
3、死锁的定义
还有其他一些简单的常规题不太记得了
百度
一面
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 的启动方式
9、handler 机制
二面
1、Aidl
2、http 和 https 的区别
3、接口和抽象类的区别
4、post 和 get 的区别
5、设计模式
6、算法判断是否是回文链表
尾声
在我的博客上很多朋友都在给我留言,需要一些系统的面试高频题目。之前说过我的复习范围无非是个人技术博客还有整理的笔记,考虑到笔记是手写版不利于保存,所以打算重新整理并放到网上,时间原因这里先列出面试问题,题解详见:
展示学习笔记
评论