个人情况
- 学历:二本
- 工作年限: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 收割机!
整理不易,白嫖太易!有需要的读者朋友们可以关注一下。以上面试题+解析都可分享~