快手测开一面复盘
总共1h。
1.项目介绍 提问
redis作为缓存用在哪些地方,作用是什么,缓存一致性问题的解决,缓存的有效期时间。
如果没有输入验证码,而是重新点击发送验证码,那么redis中会发生什么。
为什么使用MongoDB,怎么实现MongoDB的增删改查的。
博客系统中文章是怎么存储的,图文并茂的文章如何存储。
并发问题,超卖问题的解决。
如何测试项目中的某个功能。
...
2.八股文
说说java的锁有哪些 区别 优缺点 底层
ReetrantLock底层原理 可重入锁是什么
多线程有没有用过
乐观锁与悲观锁原理
CAS应用场景,CAS从操作系统层面是如何实现的
sql慢查询,如何优化。
mysql的mvcc底层是怎么实现的。
mysql多表查询左连接返回什么。
mysql常见存储引擎,区别。
行锁表锁是乐观还是悲观。
jvm的内存模型,各个模块的作用,垃圾回收过程,垃圾回收器。
int a = 1; a存放在哪里。
String s = "abc"; String s = s+ "def"中创建了几个 对象。
tcp三次握手过程,为什么需要第三次。
linux中查看负载的命令。
linux中杀死进程的命令,9是用来干嘛的。
如果不强制杀死,让系统去发送信号给一个进程去杀死用什么 命令。
谈谈spring IOC AOP;
动态代理有哪些实现方式。
谈谈反射。
java常见数据类型有哪些。
list有哪些数据结构 各自特点 底层 区别,以及对应的线程安全的数据类型。
set的特点 HashSet如何判断元素不重复 TreeSet如何判断元素不重复。
说说map常见的数据结构。
HashTable ConcurrentHashMap的区别, ConcurrentHashMap底层实现原理, Segment的数据结构。
3.算法题
判断链表是否有环 要求空间复杂O(1)。
做完以后问如何找到入环节点。
#测试开发工程师##快手##面试题目#