釘釘實習一面覆盤

第十次面試,可以召喚某些東西了

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. 阿里巴巴編碼規範的啓發

覆盤

面試要一直有,不然我連着三天都感覺手生了。面試官跟我說的挺多的,包括如何轉正啊什麼的,反正面試官挺好的。

今天阿里系統開放,我發現我釘釘一面也過了哈哈

現在有三個面試官通知我,不知道選哪個,害。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章