Android开发社招10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)

个人情况

  • 学历:二本
  • 工作年限:2 年半
  • 面试结果:拿到了字节、拼多多、美团、滴滴、欧科云链…的offer

面经

面经奉上,不是很全,希望有帮助

字节

  • 项目
  • 认识的汇编代码
  • 类继承中父类和子类的内存布局
  • 讲一讲虚拟内存空间
  • 线程池中线程数量如何设计
  • 信号量机制
  • 子类中变量初始化顺序和销毁顺序
  • 线程调度算法
  • stl容器,vector底层、扩容机制 list set底层 红黑树
  • 面向对象封装、继承、多态
  • 虚函数实现机制
  • 智能指针
  • 堆与栈
  • 内存swap机制
  • 尽量避免磁盘io 缓存
  • cpu3级缓存
  • cpu如何工作,讲讲具体的寄存器
  • cpu如何实现除法 —反复减法
  • 什么是局部性原理
  • 局部性原理具体体现(时间局部性-循环,空间局部性-cpu顺序执行指令等等...

拼多多

  • 项目介绍
  • android的gc机制
  • Android四大组件
  • activity怎么传输数据的
  • activity横竖屏切换
  • service和activity的区别
  • ANR问题如何解决?
  • 跨进程通信的方法
  • binder机制
  • 热修复的原理
  • Android架构
  • 事件分发的流程
  • 自定义View实现应该注意什么
  • Tcp拥塞控制
  • DNS协议
  • 算法:旋转数组中的最小值

美团

  • 了解网络字节序吗
  • 你对移动端客户端开发感兴趣吗
  • 介绍一下中介者模式吧
  • 除了中介者模式你还了解哪些设计模式
  • 面向对象的原则有哪些
  • handler和线程的关系
  • C语言源文件编译过程
  • 一个app可以有多个任务栈吗
  • 知道编译器前端和后端吗
  • 关于前端你学过什么,了解前端的框架吗
  • 两个算法(判断链表是否有环、链表折叠)
  • 反问

滴滴

  • Handler机制

  • Handler死循环为什么没有ANR

  • Handler延迟触发是怎么实现的

  • 讲讲Message和消息队列

  • Binder是怎么实现的

  • Activity生命周期

  • ActivityA启动后启动ActivityB的生命周期

  • Activity启动模式

  • Restart和正常的启动的区别

  • MVC,MVP,MVVM

  • 常见的布局

  • 约束布局有了解过吗?

  • 如果一个页面,给定两个textview去平分这个页面,要怎么通过布局实现?

  • 那不用布局要怎么实现

  • 讲讲view的绘制

  • view的大小怎么确定?

  • 自定义view有了解过吗?

  • 手动实现自定义view需要哪些方法?

  • 还了解view的什么?

  • 在resume状态能正确获取到view的宽高吗

  • 事件分发机制(提了一些具体事件)

  • 内存泄漏

京东

  • Java面向对象的三大特性
  • 抽象类和接口的区别
  • String、StringBuilder的区别
  • final的作用
  • 进程和线程的关系
  • HTTPS的建立过程,怎么保证安全
  • ArrayList和LinkedList的使用场景
  • 内存泄漏的原因有哪些,有什么解决方案呢
  • 内存溢出和内存泄漏有何区别
  • 知道Fragment吗
  • 谈谈你知道的Glide
  • Synchronize锁方法
  • heap和stack有什么区别
  • Android四大组件有哪些,你最熟悉哪块(然后追问了那一块的细节)
  • 对于 Context,你了解多少?
  • TCP三次握手
  • TCP和UDP的区别
  • 深拷贝与浅拷贝的常用方法
  • 单例模式的实现
  • 设计原则

结果

说一下结果吧,除了京东,其余的都拿到了口头 offer。

至于为什么没有面阿里和腾讯,因为那个时候阿里和腾讯在进行财年清算,锁 HC 了,也就没有面了。

至于为什么字节的面试题没写,懂得都懂,可以私下交流。

最后,祝大家都能成为 offer 收割机!

整理不易,白嫖太易!有需要的读者朋友们可以关注一下。以上面试题+解析都可分享~

你可能感兴趣的:(Android开发社招10个公司28轮面试面经(含字节、拼多多、美团、滴滴......))