我之前在B站实习,所以对Go比较熟悉
面试官人很好很温柔,上来先让我做了自我介绍,然后在得知我并不熟悉Java技术栈之后表示会少问点Java八股文
上来五分钟介绍项目
1. 项目中redis和MySQL中数据存在的不一致性该如何解决?
然后就是常规的八股文
2. Java HashMap是什么,怎么实现
- LinkedList & RBTree
3. Java 如何初始化一个线程
- Thread / Runnable
4. Java 线程的状态
- 不了解,于是说了说操作系统中线程的状态
5. 线程可能引发的问题
- 数据竞争,通过 synchronized / volatile 解决,但是没问我底层原理
6. Redis 是单线程还是多线程
- 多线程,但是处理用户请求的主线程是单线程
7. Redis 特性
- memory based KV store
- 数据结构丰富
- 支持持久化 RDB & AOF
8. Redis 缓存雪崩是啥,怎么处理
8. 项目中用到了 ES,为啥 ES 快
- 倒排索引
9. ES 中一个请求的过程
- 面试官想问的是文档分片的机制,我不太了解 ES 是怎么实现的,但猜应该和 Hadoop 生态的实现差不多,大概就是主从结构,然后一个机器在内存中存所有文档的元数据
10. 代码,判断链表有没有环
- 典中典
全程20min,问的都是典中典的问题,比较简单,不知道是不是对我这种没有Java背景的不感兴趣...
全部评论
(1) 回帖