大厂后端面试经历分享 - 快手 - 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