前言
2020年的最后一份Offer,特此赶在2020的最后一天补上这份面经。本人是某渣院二本毕业,之前在学校学的专业是电商,毕业没两年就开始转行学编程,转眼间在Android 开发行业已经做了5年了。
原本自己是在一家中型的互联网公司做Android开发,但自己一直有个想进大厂的梦,于是在2020下半年大胆的开始一些互联网大厂投简历,我投过简历的公司有:华为、Oppo、拼夕夕、字节跳动、腾讯等。但通知我去面试的公司只有3家,其中有两家以失败而告终。第三家本也没有报太大的希望,因为第三家是字节跳动,在面试中自我感觉是表现最差的一家,但最后给了Offer还是这家。
废话我先不说了,请看面经过程。
时间线如下:
- 2020.11.15 投递简历
- 2020.11.20 第一轮面试(技术)
- 2020.11.21 第二轮面试(技术)
- 2020.11.27 第三轮面试(技术)
- 2020.11.29 第四轮面试(技术)
- 2020.12.04 HR面试(非技术)
一面(2020.11.20)时间:15:00 - 15:45, 共45min
- 自我介绍
安卓
- 介绍项目
- Activity生命周期
- RecyclerView
- ListView
- SharedPreference
- Handler
- 用过哪些布局
- 网络请求用的什么框架
- OkHttp了解过吗
- 如何使用OkHttp发起一个GET请求
Java
- 强引用、弱引用、软引用
- Java线程池
操作系统
- 线程和进程
手撕代码
- 给出一个乱序数组,求排序后相邻两数的差的最大值。要求时间复杂度为O(n),空间复杂度为O(n)
- 二叉树镜像
- 每K个一组,反转链表
反问环节(略)
17:45收到二面通知
二面(2020.11.21)时间:13:00 - 13:46, 共46min
- 自我介绍
安卓
- 介绍项目
- 在安卓开发过程中,平板和手机有什么区别
- 平时如何找开源项目
- 看过哪些博客
- 看过哪些安卓书
手撕代码
- 判断二叉树是否是完全二叉树
算法
- 了解过哪些排序算法
- 讲一下归并排序的原理
计算机网络
- TCP与UDP
- 为什么UDP实时性比较好
- TCP如何保证可靠性
- TCP如何进行流量控制
Java
- Java反射
反问 + 闲聊(略)
16:45收到三面通知
三面(2020.11.27)时间:14:00 - 14:23, 共23min
- 自我介绍
安卓
- 对安卓的认识
- 安卓操作系统基于什么操作系统
- Linux 和 Unix 的区别
- Activity 启动模式
- Handler
- Handler, Message, MessageQueue 的区别
算法
- 排序算法
计算机网络
- 输入网址回车,到显示页面的全过程
- DNS解析的过程
- TCP三次握手
- TCP四次挥手
- HTTP默认端口是多少
Java
- 强引用、弱引用、软引用
手撕代码
- 懒汉式单例模式
- 生产者消费者模型
反问+闲聊(略)
第二天接到 HR 电话,说还需要再面试一次。
四面(2020.11.29)时间:15:00 - 15:24, 共24min
- 自我介绍
- 介绍项目
手撕代码
- 下一个更大元素(力扣 503)
- 区间合并
闲聊(略)
12月3日收到HR面通知
HR面试 (2020.12.04)
略!
总结
整体来说,这次的面试内容比较丰富(有算法、Java、操作系统、计算机网络、Android技术源码等想问题),就是面试的时间线拉的太长,从投简历到拿Offer用了一个月,还是有点疲惫的,速战速决会更好一点。庆幸的是最后等待Offer。
在面试之前自己在网上收集了一些面试相关的进阶学习文档,在这次面试中就有相关的问题问道了,当时我想得的是庆幸这道相关的题目我刚刷过。这次的面试能通过有部分的功劳来自这些学习文档。因此小编想让让这些文档发挥出它应有的作用,特此上传收录至我的GitHub项目中:https://github.com/733gh/Android-T3/blob/master/JianShu.md大家可以去自行查阅,望能在面试中助大家一臂之力。
网友评论