京东Android工程师 4+1hr面经
一面(45min)
自我介绍
安卓
介绍项目
Activity生命周期
RecyclerView
ListView
SharedPreference
Handler
用过哪些布局
网络请求用的什么框架
OkHttp了解过吗
如何使用OkHttp发起一个GET请求
Java*
强引用、弱引用、软引用
Java线程池
操作系统
线程和进程
手撕代码
- 给出一个乱序数组,求排序后相邻两数的差的最大值。要求时间复杂度为O(n),空间复杂度为O(n)
- 二叉树镜像
- 每K个一组,反转链表
二面(46min)
自我介绍
安卓
- 介绍项目
- 在安卓开发过程中,平板和手机有什么区别
- 平时如何找开源项目
- 看过哪些博客
- 看过哪些安卓书
手撕代码
判断二叉树是否是完全二叉树
算法
- 了解过哪些排序算法
- 讲一下归并排序的原理
计算机网络
- TCP与UDP
- 为什么UDP实时性比较好
- TCP如何保证可靠性
- TCP如何进行流量控制
Java
Java反射
三面(23min)
自我介绍
安卓
- 对安卓的认识
- 安卓操作系统基于什么操作系统
- Linux 和 Unix 的区别
- Activity 启动模式
- Handler
- Handler, Message, MessageQueue 的区别
算法
排序算法
计算机网络
- 输入网址回车,到显示页面的全过程
- DNS解析的过程
- TCP三次握手
- TCP四次挥手
- HTTP默认端口是多少
Java
强引用、弱引用、软引用
手撕代码
- 懒汉式单例模式
- 生产者消费者模型
四面(24min)
- 自我介绍
- 介绍项目
手撕代码
- 下一个更大元素
- 区间合并
HR面(30min)
- 自我介绍
- 大学生活
- 学生会哪个部门
- 参加什么社团
- 参加什么比赛
- 获得什么奖
- 有无团体赛经历
- 是否项目组长
- 项目用什么编程语言写的
- 自己选的编程语言还是老师给选的
- 团队分工是你安排的还是各自认领的
- 团队内产生分歧怎么办
- 做项目过程中对你来说最大的挑战是什么
- 大学中让你最有成就感的事情
- 参加比赛和项目,收获了什么
- 有发表论文吗
- 平时的兴趣爱好
- 意向工作地点
- 职业规划
- 还投递了哪些公司
- 对行业有什么倾向
- 如何看待互联网行业的工作强度
- 自制力高吗
- 预期的薪资是多少
- 擅长什么编程语言
- 有什么优缺点

