快手三次面试
一面(46分钟,16分钟的题)
后面()是我当时说的
- 面试官介绍
- 自我介绍
- Java基础
- hashmap
- concurrentHashmap
- 如果保证线程安全问题:synchronized锁,lock,volatile
- volatile原理(可见性,指令重排)
- 分布式线程安全(分布式锁,如redis)
- jvm
- 双亲委派机制(忘了)
- 内存模型
- MySQL
- 索引
- 事务
- 锁
- redis
- 如果redis扛不住怎么办(提示我本地缓存)
- redis限制点赞次数为5次怎么限制
- 项目
- 介绍,我很多地方都忘了,不知道怎么讲
算法:连续子数组的和(很辛运,面试官都说这个题很简单)
二面(40分钟)
- 如何用类的关系表达DDD领域开发。
- sql 实现死锁
- sql 实现报超时等待错误
- sql 实现确实数据库事务级别
- java 实现多线程求和
- 1分钟只允许点赞10次,如何实现
三面(26分钟)
- 实习经历的介绍,做了什么,介绍公司的系统
- 项目是实际项目还是练手项目,介绍项目的架构
- redis数据结构
- Redis锁
- MySQL索引如何构建,如何防止失效等
- jvm内存模型以及对应的用途