社招-一年经验-Java开发-知乎/快看漫画/快手/头条面经
总结
项目经历
基础知识
缓存一致性问题
数据先写 redis?还是先写 MySQL? 写入失败怎么办? redis 或者 MySQL 挂掉怎么办?
自己没准备好,多次提问总是能问住我。。。
场景设计题
有 10g 的文件,里面是 ip-访问次数 格式的数据(同一个ip 可能随机出现多次),给你1g内存,让你按访问次数倒排
发微博 @朋友的时候,优先显示最近@的十位朋友,怎么实现
MySQL
索引的数据结构
b+tree 基础知识
b+tree 与 b-tree 的区别,为啥要用 b+tree
简述通过索引查找数据的过程(非主键索引呢?)
delete 与 truncate drop
事务隔离级别,MySQL 默认的隔离级别
Kafka
Kafka 可以保证数据不丢失吗?如果保证的
Kafka 可以保证 Exactly-once-semantics 吗?如何实现的?
topic/broker/consumer/producer/consumer group 各个概念的含义及相互之间的关系
Redis
基本数据类型
持久化的方式
内存淘汰策略
使用场景
JVM
简述 G1,可预测停顿时间,是怎么做到的?
遇到过线上事故吗? 怎么查问题,怎么解决?
简述内存运行时数据区
多线程
j.u.c
读写锁
AQS 好像简单提了下
解释下 dcl
为啥要用线程池,线程池的参数含义
集合框架
hashmap
ConcurrentHashMap
ElasticSearch
一次检索请求的流程
倒排索引
Shard 和 Replicas 的含义
Segment 文件会一直增加吗?
为什么 ElasticSearch 是近实时的?
网络编程
tcp/ip 协议
https 是啥?
nio 是啥?
分布式锁
zk 与 redis 分别是怎样实现的,区别与适用场景