主頁 > 軟體設計 > 終極手撕之架構大全:分布式+框架+微服務+性能優化,夠不夠?

終極手撕之架構大全:分布式+框架+微服務+性能優化,夠不夠?

2020-10-09 04:50:54 軟體設計

之前有零零散散整理過一些專題給大家參考學習,這次一次性來個終極手撕之架構大全,包含開源框架、分布式、微服務、性能優化等四個大專題共17個小專題,全部一鍋端,送給大家一起學習~

注意:需要全部完整版架構大全答案的可以


免費獲取~小編會一一回復大家的~

01 開源框架(Spring +SpringMVC+Mybatis)

開源框架答案決議如下:

1.1 手撕開源框架之Spring

  1. 什么是 Spring 框架?Spring 框架有哪些主要模塊?
  2. 使用 Spring 框架能帶來哪些好處?
  3. 什么是控制反轉(IOC)
  4. 請解釋下 Spring 框架中的 IoC
  5. BeanFactory 和 和 ApplicationContext 有什么區別?
  6. Spring 有幾種配置方式?
  7. 如何用基于 XML 配置的方式配置 Spring
  8. 如何用基于 Java 配置的方式配置 Spring
  9. 怎樣用注解的方式配置 Spring
  10. 請解釋 Spring Bean 的生命周期?
  11. Spring Bean 的作用域之間有什么區別?
  12. Spring 框架中的單例 Beans 是執行緒安全的么?
  13. 請舉例說明如何在 Spring 中注入一個 Java Collection
  14. 如何向 Spring Bean 中注入一個 Java.util.Properties
  15. 請解釋 Spring Bean 的自動裝配?
  16. 請解釋自動裝配模式的區別?
  17. 如何開啟基于注解的自動裝配?
  18. 請舉例解釋@Required 注解?
  19. 請舉例解釋@Autowired 注解?
  20. 請舉例說明@Qualifier 注解?
  21. 構造方法注入和設值注入有什么區別?
  22. Spring 框架中有哪些不同型別的事件?
  23. Spring 框架中都用到了哪些設計模式?

1.2 手撕開源框架之SpringMVC

  1. 什么是 SpringMvc?
  2. Spring MVC 的優點:
  3. SpringMVC 作業原理?
  4. SpringMVC 流程?
  5. SpringMvc 的控制器是不是單例模式,如果是,有什么問題,怎么解決?
  6. 如果你也用過 struts2.簡單介紹下 springMVC 和 struts2 的區別有哪些?
  7. SpingMvc 中的控制器的注解一般用那個,有沒有別的注解可以替代?
  8. @RequestMapping 注解用在類上面有什么作用?
  9. 怎么樣把某個請求映射到特定的方法上面?
  10. 如果在攔截請求中,我想攔截 get 方式提交的方法,怎么配置?
  11. 怎么樣在方法里面得到 Request,或者 Session?
  12. 我想在攔截的方法里面得到從前臺傳入的引數,怎么得到?
  13. 如果前臺有很多個引數傳入,并且這些引數都是一個物件的,那么怎么樣快速得到這個物件?
  14. SpringMvc 中函式的回傳值是什么?
  15. SpringMVC 怎么樣設定重定向和轉發的?
  16. SpringMvc 用什么物件從后臺向前臺傳遞資料的?
  17. SpringMvc 中有個類把視圖和資料都合并的一起的,叫什么?
  18. 怎么樣把 ModelMap 里面的資料放入 Session 里面?
  19. SpringMvc 怎么和 AJAX 相互呼叫的?
  20. 講下 SpringMvc 的執行流程
  21. SpringMvc 里面攔截器是怎么寫的?
  22. 當一個方法向 AJAX 回傳特殊物件,譬如 Object,List 等,需要做什么處理?

1.3 手撕開源框架之Mybatis

  1. 什么是 MyBatis?
  2. 講下 MyBatis 的快取
  3. Mybatis 是如何進行分頁的?分頁插件的原理是什么?
  4. 簡述 Mybatis 的插件運行原理,以及如何撰寫一個插件?
  5. Mybatis 動態 sql 是做什么的?都有哪些動態 sql?能簡述一下動態 sql 的執行原理不?
  6. #{}和${}的區別是什么?
  7. 為什么說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪里?
  8. Mybatis 是否支持延遲加載?如果支持,它的實作原理是什么?
  9. MyBatis 與 Hibernate 有哪些不同?
  10. MyBatis 的好處是什么?
  11. 簡述 Mybatis 的 Xml 映射檔案和 Mybatis 內部資料結構之間的映射關系?
  12. 什么是 MyBatis 的介面系結,有什么好處?
  13. 介面系結有幾種實作方式,分別是怎么實作的?
  14. 什么情況下用注解系結,什么情況下用 xml 系結?
  15. MyBatis 實作一對一有幾種方式?具體怎么操作的?
  16. Mybatis 能執行一對一、一對多的關聯查詢嗎?都有哪些實作方式,以及它們之間的區別?
  17. MyBatis 里面的動態 Sql 是怎么設定的?用什么語法?
  18. Mybatis 是如何將 sql 執行結果封裝為目標物件并回傳的?都有哪些映射形式?
  19. Xml 映射檔案中,除了常見的 select|insert|updae|delete 標簽之外,還有哪些標簽?
  20. 當物體類中的屬性名和表中的欄位名不一樣,如果將查詢的結果封裝到指定 pojo?
  21. 模糊查詢 like 陳述句該怎么寫
  22. 通常一個 Xml 映射檔案,都會寫一個 Dao 介面與之對應, Dao 的作業原理,是否可以多載?
  23. Mybatis 映射檔案中,如果 A 標簽通過 include 參考了 B 標簽的內容,請問,B 標簽能否定義在 A 標簽的后面,還是說必須定義在 A 標簽的前面?
  24. Mybatis 的 Xml 映射檔案中,不同的 Xml 映射檔案,id 是否可以重復?
  25. Mybatis 中如何執行批處理?
  26. Mybatis 都有哪些 Executor 執行器?它們之間的區別是什么?
  27. Mybatis 中如何指定使用哪一種 Executor 執行器?
  28. Mybatis 執行批量插入,能回傳資料庫主鍵串列嗎?
  29. Mybatis 是否可以映射 Enum 列舉類?
  30. 如何獲取自動生成的(主)鍵值?
  31. 在 mapper 中如何傳遞多個引數?
  32. resultType resultMap 的區別?
  33. 使用 MyBatis 的 mapper 介面呼叫時有哪些要求?
  34. Mybatis 比 IBatis 比較大的幾個改進是什么?
  35. IBatis 和 MyBatis 在核心處理類分別叫什么?
  36. IBatis 和 MyBatis 在細節上的不同有哪些?

開源框架(Spring +SpringMVC+Mybatis)答案決議整理:

02 分布式(限流+通訊+數據庫)

分布式答案決議如下:

2.1 手撕分布式限流(Nginx+ZooKeeper)

(1) 手撕分布式限流之Nginx

  1. 請解釋一下什么是 Nginx?
  2. 請列舉 x Nginx 的一些特性,
  3. 請列舉 x Nginx 和 和 Apache 之間的不同點
  4. 請解釋 x Nginx 如何處理 P HTTP 請求,
  5. 在 x Nginx 中,如何使用未定義的服務器名稱來阻止處理請求?
  6. 使用 “ 反向代理服務器 ”
  7. 請列舉 x Nginx 服務器的最佳用途,
  8. 請解釋 x Nginx 服務器上的 r Master 和 和 r Worker 行程分別是什么?
  9. 請解釋你如何通過不同于 0 80 的埠開啟 Nginx?
  10. 請解釋是否有可能將 x Nginx 的錯誤替換為 2 502 錯誤?
  11. 在 x Nginx 中,解釋如何在 L URL 中保留雙斜線? ?
  12. 請解釋 e ngx_http_upstream_module 的作用是什么?
  13. 請解釋什么是 K C10K 問題?
  14. 請陳述 s stub_status 和 和 r sub_filter 指令的作用是什么?
  15. 解釋 x Nginx 是否支持將請求壓縮到上游?
  16. 解釋如何在 x Nginx 中獲得當前的時間?
  17. 用 x Nginx 服務器解釋s -s 的目的是什么?
  18. 解釋如何在 x Nginx 服務器上添加模塊?

(2)手撕分布式限流之ZooKeeper

  1. ZooKeeper 是什么?
  2. ZooKeeper 提供了什么?
  3. Zookeeper 檔案系統
  4. 四種型別的 znode
  5. Zookeeper 通知機制
  6. Zookeeper 做了什么?
  7. zk 的命名服務(檔案系統)
  8. zk 的配置管理(檔案系統、通知機制)
  9. Zookeeper 集群管理(檔案系統、通知機制)
  10. Zookeeper 分布式鎖(檔案系統、通知機制)
  11. 獲取分布式鎖的流程
  12. Zookeeper 佇列管理(檔案系統、通知機制)
  13. Zookeeper 資料復制
  14. Zookeeper 作業原理
  15. zookeeper 是如何保證事務的順序一致性的?
  16. Zookeeper 下 Server 作業狀態
  17. zookeeper 是如何選取主 leader 的?
  18. 分布式通知和協調
  19. 機器中為什么會有 leader?
  20. zk 節點宕機如何處理?
  21. Zookeeper 同步流程
  22. zookeeper 負載均衡和 nginx 負載均衡區別
  23. zookeeper watch 機制

2.2 手撕分布式通訊(Kafka+ActiveMQ+RabbitMQ)

(1)手撕分布式通訊之kafka

  1. Kafka 的設計時什么樣的呢?
  2. 資料傳輸的事物定義有哪三種?
  3. Kafka 判斷一個節點是否還活著有那兩個條件?
  4. producer 是否直接將資料發送到 broker 的 leader(主節點)?
  5. Kafa consumer 是否可以消費指定磁區訊息?
  6. Kafka 訊息是采用 Pull 模式,還是 Push 模式?
  7. Kafka 存盤在硬碟上的訊息格式是什么?
  8. Kafka 高效檔案存盤設計特點:
  9. Kafka 與傳統訊息系統之間有三個關鍵區別
  10. Kafka 創建 Topic 時如何將磁區放置到不同的 Broker 中
  11. Kafka 新建的磁區會在哪個目錄下創建
  12. partition 的資料如何保存到硬碟
  13. kafka 的 ack 機制
  14. Kafka 的消費者如何消費資料
  15. 消費者負載均衡策略
  16. 資料有序
  17. kafaka 生產資料時資料的分組策略

(2)手撕分布式通訊之ActiveMQ

  1. 什么是 ActiveMQ?
  2. ActiveMQ 服務器宕機怎么辦?
  3. 丟訊息怎么辦?
  4. 持久化訊息非常慢
  5. 訊息的不均勻消費,
  6. 死信佇列,
  7. ActiveMQ 中的訊息重發時間間隔和重發次數嗎?

(3)手撕分布式通訊之RabbitMQ

  1. RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
  2. 什么是元資料?元資料分為哪些型別?包括哪些內容?與 cluster 相關的元資料有哪些?元資料是如何保存的?元資料在 cluster 中是如何分布的?
  3. RAM node 和 disk node 的區別?
  4. RabbitMQ 上的一個 queue 中存放的 message 是否有數量限制?
  5. RabbitMQ 概念里的 channel、exchange 和 queue 這些東東是邏輯概念,還是對應著行程物體?這些東東分別起什么作用?
  6. vhost 是什么?起什么作用?
  7. 在單 node 系統和多 node 構成的 cluster 系統中宣告 queue、exchange ,以及進行 binding 會有什么不同?
  8. 客戶端連接到 cluster 中的任意 node 上是否都能正常作業?
  9. cluster 中 node 的失效會對 consumer 產生什么影響?若是在 cluster 中創建了mirrored queue ,這時 node 失效會對 consumer 產生什么影響?
  10. 能夠在地理上分開的不同資料中心使用 RabbitMQ cluster 么?
  11. 為什么 heavy RPC 的使用場景下不建議采用 disk node ?
  12. 向不存在的 exchange 發 publish 訊息會發生什么?向不存在的 queue 執行consume 動作會發生什么?
  13. routing_key 和 binding_key 的最大長度是多少?
  14. RabbitMQ 允許發送的 message 最大可達多大?
  15. 什么情況下 producer 不主動創建 queue 是安全的?
  16. “dead letter”queue 的用途?
  17. 為什么說保證 message 被可靠持久化的條件是 queue 和 exchange 具有durable 屬性,同時 message 具有 persistent 屬性才行?
  18. 什么情況下會出現 blackholed 問題?
  19. 如何防止出現 blackholed 問題?
  20. Consumer Cancellation Notification 機制用于什么場景?
  21. Basic.Reject 的用法是什么?
  22. 為什么不應該對所有的 message 都使用持久化機制?
  23. RabbitMQ 中的 cluster、mirrored queue,以及 warrens 機制分別用于解決什么問題?存在哪些問題?

2.3 手撕分布式之快取(Redis+memcached+MongoDB)

(1)手撕分布式快取之Redis

  1. redis 簡介
  2. 為什么要用 redis /為什么要用快取(高性能、高并發)
  3. 為什么要用 redis 而不用 map/guava 做快取?
  4. redis 和 memcached 的區別
  5. redis 常見資料結構以及使用場景分析(String、Hash、List、Set、Sorted Set
  6. redis 設定過期時間
  7. redis 記憶體淘汰機制(MySQL里有2000w資料,Redis中只存20w的資料,如何保證Redis中的資料都是熱點資料?
  8. redis 持久化機制(怎么保證 redis 掛掉之后再重啟資料可以進行恢復
  9. redis 事務
  10. Redis 常見例外及解決方案(快取穿透、快取雪崩、快取預熱、快取降級
  11. 分布式環境下常見的應用場景(分布式鎖、分布式自增 ID
  12. Redis 集群模式(主從模式、哨兵模式、Cluster 集群模式
  13. 如何解決 Redis 的并發競爭 Key 問題
  14. 如何保證快取與資料庫雙寫時的資料一致性?

(2)分布式快取之memcached

  1. memcached 是怎么作業的?
  2. memcached 最大的優勢是什么?
  3. memcached 和服務器的 local cache (比如 PHP 的 的 APC 、mmap 檔案等)相比,有什么優缺點?
  4. memcached 和 和 MySQL 的 的 query cache 相比,有什么優缺點?
  5. memcached 的 的 cache 機制是怎樣的?
  6. memcached 如何實作冗余機制?
  7. 我需要把 memcached 中的 item 批量匯出匯入,怎么辦?
  8. memcached 如何處理容錯的?
  9. 如何將 memcached 中 中 item 批量匯入匯出?
  10. memcached 是如何做身份驗證的?
  11. memcached 的多執行緒是什么?如何使用它們?
  12. memcached 能接受的 key 的最大長度是多少?
  13. memcached 對 對 item 的過期時間有什么限制?
  14. memcached 最大能存盤多大的單個 item ?
  15. 為什么單個 item 的大小被限制在 1M byte 之內?

(3)手撕分布式快取之MongoDB

  1. 你說的 NoSQL 資料庫是什么意思?NoSQL 與 RDBMS 直接有什么區別?為什么要使用和不使用NoSQL 資料庫?說一說 NoSQL 資料庫的幾個優點?
  2. NoSQL 資料庫有哪些型別?
  3. MySQL 與 MongoDB 之間最基本的差別是什么?
  4. 你怎么比較 MongoDB、CouchDB 及 CouchBase?
  5. MongoDB 成為最好 NoSQL 資料庫的原因是什么?
  6. 32 位系統上有什么細微差別?
  7. journal 回放在條目(entry)不完整時(比如恰巧有一個中途故障了)會遇到問題嗎?
  8. 分析器在 MongoDB 中的作用是什么?
  9. 名字空間(namespace)是什么?
  10. 如果用戶移除物件的屬性,該屬性是否從存盤層中洗掉?
  11. 能否使用日志特征進行安全備份?
  12. 允許空值 null 嗎?
  13. 更新操作立刻 fsync 到磁盤?
  14. 如何執行事務/加鎖?
  15. 為什么我的資料檔案如此龐大?
  16. 啟用備份故障恢復需要多久?
  17. 什么是 master 或 primary?
  18. 什么是 secondary 或 slave?
  19. 我必須呼叫 getLastError 來確保寫操作生效了么?
  20. 我應該啟動一個集群分片(sharded)還是一個非集群分片的 MongoDB 環境?
  21. 分片(sharding)和復制(replication)是怎樣作業的?
  22. 資料在什么時候才會擴展到多個分片(shard)里?
  23. 當我試圖更新一個正在被遷移的塊(chunk)上的檔案時會發生什么?
  24. 如果在一個分片(shard)停止或者很慢的時候,我發起一個查詢會怎樣?
  25. 我可以把 moveChunk 目錄里的舊檔案洗掉嗎?
  26. 我怎么查看 Mongo 正在使用的鏈接?
  27. 如果塊移動操作(moveChunk)失敗了,我需要手動清除部分轉移的檔案嗎?
  28. 如果我在使用復制技術(replication),可以一部分使用日志(journaling)而其他部分則不使用嗎?
  29. 當更新一個正在被遷移的塊(Chunk)上的檔案時會發生什么?
  30. MongoDB 在 A:{B,C}上建立索引,查詢 A:{B,C}和 A:{C,B}都會使用索引嗎?
  31. 如果一個分片(Shard)停止或很慢的時候,發起一個查詢會怎樣?
  32. MongoDB 支持存盤程序嗎?如果支持的話,怎么用?
  33. 如何理解 MongoDB 中的 GridFS 機制,MongoDB 為何使用 GridFS 來存盤檔案?

分布式(限流+快取+通訊)答案決議整理:

03 微服務(Dubbo+Spring Boot+Spring Cloud

微服務答案決議如下:

3.1 手撕微服務之Dubbo

  1. Dubbo 支持哪些協議,每種協議的應用場景,優缺點?
  2. Dubbo 超時時間怎樣設定?
  3. Dubbo 有些哪些注冊中心?
  4. Dubbo 集群的負載均衡有哪些策略
  5. Dubbo 的核心功能?
  6. Dubbo 服務注冊與發現的流程?
  7. Dubbo 的架構設計?
  8. Dubbo 框架設計一共劃分了 10 個層:
  9. Dubbo 支持哪些協議,每種協議的應用場景,優缺點?
  10. dubbo 推薦用什么協議?
  11. Dubbo 默認采用注冊中心?
  12. Dubbo 與 Spring 的關系?
  13. Dubbo 的集群容錯方案有哪些?
  14. Dubbo 的默認集群容錯方案?
  15. Dubbo 在安全機制方面是如何解決?
  16. Dubbo 和 Spring Cloud 的關系?
  17. Dubbo 超時時間怎樣設定?
  18. Dubbo 和 Spring Cloud 的區別?

3.2 手撕微服務之Spring Boot

  1. 什么是 Spring Boot?
  2. Spring Boot 有哪些優點?
  3. 什么是 JavaConfig?
  4. 如何重新加載 Spring Boot 上的更改,而無需重新啟動服務器?
  5. Spring Boot 中的監視器是什么?
  6. 如何在 Spring Boot 中禁用 Actuator 端點安全性?
  7. 如何在自定義埠上運行 Spring Boot 應用程式?
  8. 什么是 YAML?
  9. 什么是 Spring Profiles?
  10. 什么是 Spring Batch?
  11. 如何集成 Spring Boot 和 ActiveMQ?
  12. 如何使用 Spring Boot 實作分頁和排序?
  13. 什么是 Swagger?你用 Spring Boot 實作了它嗎?
  14. 什么是 FreeMarker 模板?
  15. 如何使用 Spring Boot 實作例外處理?
  16. 您使用了哪些 starter maven 依賴項?
  17. 什么是 CSRF 攻擊?
  18. 什么是 WebSockets?
  19. 什么是 AOP?
  20. 什么是 Apache Kafka?
  21. 我們如何監視所有 Spring Boot 微服務?

3.3 手撕微服務之Spring Cloud

  1. 什么是 Spring Cloud?
  2. 使用 Spring Cloud 有什么優勢?
  3. 服務注冊和發現是什么意思?Spring Cloud 如何實作?
  4. 負載平衡的意義什么?
  5. 什么是 Hystrix?它如何實作容錯?
  6. 什么是 Hystrix 斷路器?我們需要它嗎?
  7. 什么是 Spring Cloud Bus?我們需要它嗎?
  8. 什么是 Netflix Feign?它的優點是什么?

微服務(Dubbo+Spring Boot+Spring Cloud)答案決議整理:

04 性能優化(JVM+Tomcat+MySQL

性能優化答案決議如下:

4.1 手撕性能優化之JVM

  1. Java 類加載程序?
  2. 描述一下 JVM 加載 Class 檔案的原理機制?
  3. Java 記憶體分配,
  4. GC 是什么? 為什么要有 GC?
  5. 簡述 Java 垃圾回識訓制,
  6. 如何判斷一個物件是否存活?(或者 GC 物件的判定方法)
  7. 垃圾回收的優點和原理,并考慮 2 種回識訓制
  8. 垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收記憶體嗎?有什么辦法主動通知虛擬機進行垃圾回收?
  9. Java 中會存在記憶體泄漏嗎,請簡單描述,
  10. 深拷貝和淺拷貝,
  11. System.gc() 和 Runtime.gc() 會做什么事情?
  12. finalize() 方法什么時候被呼叫?解構式 (finalization) 的目的是什么?
  13. 如果物件的參考被置為 null,垃圾收集器是否會立即釋放物件占用的記憶體?
  14. 什么是分布式垃圾回收(DGC)?它是如何作業的?
  15. 串行(serial)收集器和吞吐量(throughput)收集器的區別是什么?
  16. 在 Java 中,物件什么時候可以被垃圾回收?
  17. 簡述 Java 記憶體分配與回收策率以及 Minor GC 和 MajorGC
  18. JVM 的永久代中會發生垃圾回收么?
  19. Java 中垃圾收集的方法有哪些?
  20. 什么是類加載器,類加載器有哪些?
  21. 類加載器雙親委派模型機制?

4.2 手撕性能優化之Tomcat

  1. 你怎樣給 tomcat 去調優?
  2. 如何加大 tomcat 連接數
  3. tomcat 中如何禁止列目錄下的檔案
  4. 怎樣加大 tomcat 的記憶體
  5. Tomcat 有幾種部署方式
  6. Tomcat 的優化經驗

4.3 手撕性能優化之MySQL

  1. 為查詢快取優化你的查詢
  2. EXPLAIN你的SELECT查詢
  3. 當只要一行資料時使用LIMIT 1
  4. 為搜索欄位建索引
  5. 在Join表的時候使用相當型別的例,并將其索引
  6. 千萬不要 ORDER BY RAND()
  7. 避免 SELECT *
  8. 永遠為每張表設定一個 ID
  9. 使用 ENUM 而不是 VARCHAR
  10. 從 PROCEDURE ANALYSE() 取得建議
  11. 盡可能的使用 NOT NULL
  12. Prepared Statements
  13. 無緩沖的查詢
  14. 把 IP 地址存成 UNSIGNED INT
  15. 固定長度的表會更快
  16. 垂直分割
  17. 拆分大的 DELETE 或 INSERT 陳述句
  18. 越小的列會越快
  19. 選擇正確的存盤引擎
  20. 使用一個物件關系映射器(Object Relational Mapper)
  21. 小心“永久鏈接”

性能優化(JVM+Tomcat+MySQL)答案決議整理:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/163994.html

標籤:其他

上一篇:四面阿里成功定級P6,月薪36K,分享面經(含面試題答案)

下一篇:PHP之探索MySQL 長連接、連接池

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more