大厂后端面试经历分享 - 快手 - java
数据结构与算法
- 手撕算法:将字符串转化为整数
- 列举常用的排序算法
- 堆排序和选择排序使用场景上有什么区别
- 选择排序和堆排序在资源利用方面有什么区别
- 常用的查找结构
- b树和b+树和红黑树的设计思路、结构区别、使用区别
- 队列和栈有什么区别?各自的使用场景是什么?
- 常见的hash冲突解决方案
大顶堆小顶堆的设计思路
java相关
- jvm内存模型
- jvm垃圾回收算法
- jvm垃圾回收器
- cms、g1的设计思路、关联和区别、垃圾回收阶段的不同
- SpringBoot常用注解
- RestController和Controller有什么区别
- 全局拦截器的设计、项目中实现
- Aop底层实现
- 抽象类和接口有什么区别,分别适用什么场景
- java里面的类加载器的设计
- 如果父级对子级进行调用,会出现什么异常
- synchronize的使用流程
- java中的原子类实现原理
- HashMap的底层实现原理
- ConcurrentHashMap的实现原理
- 静态代理和动态代理的区别
浅拷贝和深拷贝的区别
MySQL
- Mysql事务隔离级别
- 什么情况下使用读已提交
对于脏读的理解
Redis
- redis 为什么读取速度那么快?
对于很多文件和数据,怎么进行数据的查找、排序,使用什么样的数据结构
计算机网络
- http 和j https 的区别
https 过程中都使用哪些加密的算法,详细讲讲这些加密算法
Linux
Linux都是用过哪些常用命令
如何查看系统内存
怎么将系统内存显示的数据进行排序
操作系统
- 线程都有哪些状态
- blocking和waiting有什么区别
- 有没有了解过CAS