【Shopee】Java岗-社招面试经历

1、MySQL中常用存储引擎有哪些?它们相互之间有什么区别?

2、MySQL 索引在什么情况下会失效?

(1)当使用like关键字时,如果查询条件以%开头,索引无效;当like前缀没有%,后缀有%时,索引依然有效。

(2)当使用or关键字时,or语句前后没有同时使用索引或当or关键字左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效。

(3)使用组合索引时,如果查询条件不包括该组合索引全部字段或查询条件不是该组合索引左边第一个字段时,索引失效。

(4)数据类型出现隐式转化。如某个索引字段的数据类型为varchar,查询内容为123,如不加引号的话可能会自动转换为int型,使索引无效,产生全表扫描。

(5)在索引字段上使用not及运算符

(6)对索引字段进行计算操作、字段上使用函数,索引失效。

3、innodb 与myisam 的区别?

4、MySQL 的索引模型;

5、MySQL 主从同步怎么搞的?分哪几个过程?如果有一台新机器要加到从机里,怎么个过程。

6、乐观锁与悲观锁的区别?

7、binlog 日志是 master 推的还是 salve 来拉的?

8、redis 持久化有哪几种方式,怎么选?

9、redis 主从同步是怎样的过程?

10、redis 的 zset 怎么实现的?

11、redis key 的过期策略

12、hashmap 是怎样实现的?

13、tcp 的握手与挥手;

14、select 和 epoll的区别;

15、http与https的区别?

(1)HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的ssl加密传输协议

(2)HTTP 和 HTTPS 使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

(3)HTTP 的连接很简单,是无状态的

(4)HTTPS 协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比 HTTP 协议安全

(5)HTTPS 内容传输经过完整性校验

(6)HTTPS 内容经过对称加密,每个连接生成一个唯一的加密密钥

(7)HTTPS 第三方无法伪造服务端(客户端)身份

16、raft算法和zk选主算法;

17、Kafka 选主怎么做的?

18、kafka 与 rabbitmq区别;

19、kafka 分区怎么同步的?

20、kafka 怎么保证不丢消息的?

21、kafka 为什么可以扛住这么高的qps?

22、http各种返回码,401和406啥区别?

23、redis哨兵和集群;

24、kafka partition broker consumer consumer group topic 等都是啥关系?

26、手撕代码。牛客题霸上的原题,可以去看看:NC58 找到搜索二叉树中两个错误的节点。

27、两个单向链表,返回求和后的链表结构,例如2->3->1->5,和3->6,结果返回2->3->5->1