钉钉实习一面复盘

第十次面试,可以召唤某些东西了

Java

1. 常用的集合

List,Map,Set

COW,ConCurrentHashMap

保存许多ip用什么List

2. HashMap的底层数据结构

HashMap进行get的时间复杂度

O(nlogn)

多线程HashMap的操作

3. 线程不安全会出现什么问题

数据不一致,死锁

4. 用多线程的场景

漏桶算法,生产者消费者模式

5. 线程池的使用场景

也可以用来限流

6. 多线程的使用要注意什么

加锁解锁,避免死锁,线程通信

7. Spring和数据库的事物

本地事物,传播级别

8. RPC调用过程

  1. rpc client封装请求参数,接口名,方法名和类型名
  2. client通过序列化工具把参数序列化为字节流通过网络传递到rpc server
  3. rpc server接收到字节流会反序列化
  4. server对反序列化后的数据进行解析拿到相应参数

设计模式

9. 说下装饰者模式

DB

10. MyISAM和InnoDB分别适合什么场景

先说特点,日志,事物,加锁,行号,索引等等不同

MyISAM适合大量select,InnoDB适合结构化操作

11. B+Tree的特点

12. MySQL如何支持事物

ACID,通过redo,undo log,加锁,MVCC

13. 两个MySQL如何保证事物一致性

  1. 使用MySQL自己保证的一个数据同步机制
  2. 使用支持分布式事物的事物管理器

14. 如何优化一条SQL

先check是select还是结构化SQL

15. 如何建立索引

前缀索引,自定义hash,最左前缀原则,组合索引,覆盖索引

16. Mybatis为什么不能用Select *

  1. 增加查询分析器解析成本
  2. 增减字段容易与 resultMap 配置不一致
  3. 无用字段增加网络消耗,尤其是 text 类型的字段。

17. 为什么用数据库连接池

连接池保证了复用,降低了时间损耗和空间消耗

18. 了解过HBASE吗

HBase是建立在Hadoop文件系统之上的分布式面向列的数据库,横向扩展

项目

19. 秒杀系统考虑哪些方面

TPS和接口防刷

20. 如何优化

cache,mq

21. redis突然挂了怎么办

rdb+aof的持久化,redis挂了之后要及时抛出异常,通过mq的事物一致性

22. rocketMQ的事物机制

两阶段提交,producer先prepare,然后broker轮询producer是否commit,如果commit则整个事物提交

23. 为什么要限流

限流方法主要有三种,一个是计数器限流,漏桶限流和令牌桶限流

多机限流和单机限流的区别

其他

24. 阿里巴巴编码规范的启发

复盘

面试要一直有,不然我连着三天都感觉手生了。面试官跟我说的挺多的,包括如何转正啊什么的,反正面试官挺好的。

今天阿里系统开放,我发现我钉钉一面也过了哈哈

现在有三个面试官通知我,不知道选哪个,害。

你可能感兴趣的:(Java,SE,Java,EE,数据库)