小米Java实习一面凉经
小米一面凉经 78分钟,
图中粗体是答错,答偏的问题
1.项目分成几个模块,之间是怎么进行通信的?
2.MySQL1主2从,主从同步是怎么是实现的?
3.Redis为什么怎么快?
4.Redis Io多路复用机制
5.BIO NIO
6.epoll
7.epoll 同步和阻塞,同步在哪?阻塞在哪?
8.Redis的5个数据结构,项目为什么选择了Set?
9.项目Redis防止超卖问题
10.Redis持久化优缺点(RDB/AOF/AOF+RDB)
11.AOF重放
12.Kafka的三部分组成
13.Kafka的消费者是推还是拉的?
14.Kafka为什么是高性能的?(顺序写入和MMFile)
15.怎么Kafka数据不丢失?
16.为什么使用HBase?
17.Hbase WAL机制
18.Netty为什么是高性能?
19.怎么解决TCP粘包问题?
20.为什么要使用Spring Boot?好在哪?
21.SpringBoot启动过程?
22.数据库的隔离级别
23.可重复读解决了什么问题?
24.next-lock锁怎么解决的幻读?
25. 当前读,快照读?
26.MVCC机制下的可重复读级别
27.索引的数据结构-B+树
28.主键为什么不使用UUID呢?
29.volatile关键字的作用
30.volatile的使用场景?
31.volatile是线程安全的吗?两个线程操作一个volatile变量线程安全问题
32.Reentrantlock synchronized区别?
33.Reentrantlock实际使用场景?
34.Reentrantlock的内部实现-AQS的CLH队列
35.Reentrantlock的公平锁和非公平锁谁性能高?
36.CAS问题?
37.线程池的参数问题(orePoolSize, maximumPoolSize,
keepAliveTime, milliseconds,runnableTaskQueue, threadFactory,handler)
- 38.线程池能不能提前创建并启动所有core线程?
写代码时间
39. 三个线程各自负责打印a/b/c,实现循环打印"a","b","c"100次.
40.反转链表---leetcode92
41.反问环节
面试官小哥哥还是十分nice的,耐心听我笨拙的回答。
只是没想到一面的面试官小哥哥抓着多线程相关知识不放,那一套连环提问真是打懵我了,最后反问的时候,面试官提醒我Java多线程虽然用的少,但是不能掉以轻心。
楼主作为双非本非科班自学的Java,比起各路大神我的确是差远了,但是感谢小米给了我面试的机会,虽然感觉凉凉,希望能有第二次机会吧。