Java服務端開發實習總結

Java服務端開發實習總結

實習期內的業績

  1. 負責管理後臺賬務綜合查詢模塊的設計與開發,將用戶賬務相關操作日誌落庫,並提供脫敏數據查詢頁面,解放技術排查壓力,提高賬務相關客訴問題解決效率。
  2. 業務聚合層服務透傳。
  3. 信審結果推送接口冪等性設計。
  4. Controller 切面 API埋點數據增加擴展字段applyID。
  5. 多次版本迭代需求服務端開發,包括溫行聯名卡現金分期功能、賬單刷新流程改造、運營商校驗功能修復、單位電話格式兼容等。
  6. 升級base,中間件版本(base, mysql, redis, tmc等,關注對task中平滑發佈rabbit的解決)。
  7. 聯名卡統一殼內代碼邏輯判斷,職業類別修改。
  8. 跳過運營商&通訊錄用戶判斷接口變更。
  9. 面籤開機啓動屏後臺管理系統開發。

實習期內的充電

  1. 學習了聯名卡業務的相關知識,包括系統架構、申卡流程、賬單相關管理流程等。
  2. 編碼規範的學與遵守。
  3. 學習了編寫單元測試的方式手段。
  4. 學習了合理處理各類異常的方法。
  5. TMC事務消息中心使用與設計理念學習。
  6. 學習了前端框架Vue,並使用Titan搭建了後臺查賬模塊UI。
  7. 進一步加強了微服務和分佈式等相關知識的理解,更加深入的學習了其原理。
  8. 學習了內部開發相關各類系統的聯合使用,包括Ares、Jira、Wiki、Apollo、Kibana、Hades等。

未來業務 + 學習目標

  1. 未來業務:
    • 進一步增強相關業務能力,不斷學習與覆盤,提高開發效率、降低失誤率。
    • 跟進聯名卡、虛擬卡等相關業務的瞭解。
  2. 學習目標
    • 進一步學習與深入理解分佈式服務治理相關知識,提高技術認知層次。
    • 熟練掌握消息中間件、緩存、數據庫等組件的使用,從本質上深入理解其原理與思想。
    • 瞭解與學習其他相關知識體系,Zuul/Janus(統一網關)、Kibana(ELK)、Jenkins(持續集成)、Sonar(代碼質量管理)、Pinpoint(全鏈路跟蹤)、KMS(加解密服務)等。

實習階段成長

學習到的知識點

  • 全局唯一ID: 交易碼、短鏈發號機等
  • 分佈式鎖: Redis setnx命令實現
  • 冪等性校驗: 多維度校驗訂單狀態等
  • TMC: 事務消息中心,發消息–>扣錢–>提交–>加錢的場景,ack機制
  • RateLimter: guava包令牌桶限流
  • ThreadPoolExecutor:線程池工具類
  • LinkedBlockingQueue:接收到任務時,如果當前線程數小於核心線程數,則新建核心線程處理任務;如果當前線程數等於核心線程數,則進入隊列等待
  • TimeUnit: 線程睡眠包裝類,增加可讀性
  • Semaphore: 信號量,控制併發數
  • AOP: @Around在方法執行前後做一些工作,如埋點操作、權限校驗等。 @Beore中對前端傳輸的數據解密
  • Consul:內置了服務註冊與發現框架、健康檢查、Key/Value存儲,不再需要依賴其他工具(比如ZooKeeper等)
  • innodb 聚簇索引

遇到過的問題,如何解決的

  • BigDecimal問題: 構造參數最好用String類型,之間的比較嚴禁使用equals,要用compareTo
  • BeanUtils.copyProperties: 基於反射實現的一種淺拷貝,並不會檢查原對象的屬性是否爲null
  • Integer、Long等,不能用==,要用equals
  • Date、Time這種,公司內部都會封裝工具類
  • 常量放在equals左邊可避免NPE

實習總結

  1. 經過推送信審結果至銀行需求的開發, 具備了處理高併發場景的業務代碼的經驗, 且對事務消息機制能夠進行合理的應用。
  2. 經過賬單後臺管理系統的研發, 具備了一定設計數據庫和業務流程的實戰能力, 並且對前端框架 Vue 也有熟悉和使用。
  3. 實習期近四個月的高壓需求迭代研發, 使得本人編程風格得到進一步打磨和精進, 並具備一定排查定位並解決線上問題的能力。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章