腾讯/虎牙/美团/阿里/快手面经 总结整理
java方面
- 基本知识点
- 集合类的区别和适用场景 1次
- java静态内部类和非静态内部类的区别
- 内存分配
- 创建过程
- 内存泄漏问题?
-
- 如何保证线程安全? 多次 (面试必问)
- 哪几种加锁方式(最好扯到monitor)
- 乐观锁和悲观锁 (适用场景)
- 锁的适用场景
-
- 线程池的概念
- 构成
- 适用场景
- 为什么要用线程池(扯到线程分配资源的过程,和进程分配资源过程的区别)
-
-
- 内核方面(面试必问)
- GC垃圾回收机制 n次
- GC是怎么找要清除的对象的?
- java的四种引用和适用场景
- GC内核清理用什么算法?
- 新生代复制清理,老生代标记整理
- 拓展:老生代标记整理如何有效的整理内存碎片?
-
-
- java内存结构 n次
- java的内存是怎么分布的
- java类的加载机制
- java对象的加载机制
- 常量池
- string对象的生成
- Integer的缓存机制
-
-
-
计算机网络
- 网络层级结构以及对应的协议
- TCP
- TCP 三次握手(第一次和第三次如果没收到回应会怎样?)
- TCP四次挥手
- 拥塞控制没考过?
-
- HTTP
- HTTP报文,http各版本的区别,https
-
- IP
- 为啥不将mac作为ip地址
- ping实现原理
- ttl生存字段
-
- ARP
- 描述过程,广播单播
-
操作系统
- 线程和进程区别(资源分配上是怎样的)
- 进程通信
- 内存空间分配
- 死锁
- 产生死锁的条件(详细举例)
- 避免死锁的方法
-
设计模式
- 一般是自己说了解哪些模式,一定要说明适用场景
- 单例模式
- 懒汉式
- 饿汉式
- 线程安全,双重锁
-
- 观察者模式
- 适配器模式
- 外观模式
- 。。。。
android方面(一般是根据项目问)
- android的进程通信
- service服务
- handlerThread
- handler运行机制 1次
- recyclerView缓存机制 1次
- view的重绘
项目方面
- fragment和activity交互
- webview的使用
- 安全问题?
- 和js互相调用
-
- 断点续传
- 描述过程
- 文件读写,怎么保证不冲突
-
- asynctask内存泄漏
- 为什么泄漏
- 解决方法
- 调试工具是什么
-
- MFCC流程
- 录音环节(快手问了一大堆细节,还让写伪代码)
-
- MVP(每次都忘记说。。面试官不太关心的亚子)
- recyclerView
- 和listview区别
- 缓存机制
- item太多会内存泄漏吗
-
许愿求offer。。。