原创 字節跳動-面試記錄

    2020年進入互聯網後,一直想進到一線大廠,倒也不是因爲別的,總覺得沒去過有些遺憾。終於藉着上海疫情隔離,在家有比較充足的時間準備面試,拿到了字節offer。簡單記錄一下面試中遇到的問題吧。 一面 簡單地自我介紹 項目經歷描述,選

原创 k8s隨筆--descheduler源碼簡讀

啓動:  摺疊源碼    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

原创 k8s筆記--驅逐與重調度,以及deschueduler的一次實驗

    在Kubernetes中,調度是指將Pod放置到合適的Node上,然後對應的Node上的Kubelet才能夠運行這些pod。調度器通過Kubernetes的監測機制來發現集羣中新創建且尚未被調度的Node上的Pod。K8s中默認的調

原创 Go 記錄一次groutine通信與context控制

需求背景:     項目中需要定期執行任務A來做一些輔助的工作,A的執行需要在超時時間內完成,如果本次執行超時了,那就不對本次的執行結果進行處理(即放棄這次執行)。同時A又依賴B,C兩個子任務的執行結果。B, C之間相互獨立,可以並行的執行

原创 記一次 RR 與 RC 死鎖問題排查

記錄一下開發過程中遇到的死鎖問題和解決方案 首先是隔離級別,mysql有四個隔離級別,從寬鬆到嚴格依次是 讀未提交       Read Uncommitted 讀提交           Read Committed   (線上環境使用

原创 20201024 --各位碼農,節日快樂

  現在是2020年10月24日1點57分,我決定開始寫點什麼東西,記錄一下這段時間的生活,送給未來的自己。   子夜時分沒睡覺,跑來寫什麼博客啊?一來23日下午和領導喝完咖啡就持續的胃脹,二來老婆大人睡覺太香,捲走了全部的被子並且對我睡覺

原创 Go -- 併發編程

  主語言轉成Go了,記錄一些Go的學習筆記與心得,可能有點凌亂。內容來自於《Go程序設計語言》,這本書強烈推薦。       (Go中併發編程是使用的Go獨有的goroutine,不能完全等同於線程,但這不是這篇的重點,下面不做區分了)

原创 Go 其六 重載,重寫,覆蓋 && DuckType 補充

關於重載,重寫,覆蓋的基本概念要分清楚,   Go中確實是不支持重載的, 官方給出的解釋是 其他語言的經驗告訴我們,有各種同名但簽名不同的方法有時是有用的,但在實踐中也可能令人困惑。關於重載運算符,似乎更方便,但是同樣

原创 Go 其七 空接口與斷言

空接口與斷言 空接口可以表示任何類型 通過斷言來將空接口轉換爲定製類型   v, ok := p.(int) //ok=true時轉換成功    Go接口最佳實踐傾向於使用更小的接口,很多接口只包含一個方法,目的是讓實現者負擔更小

原创 LeetCode刷題 -- 部分周賽題

哈哈,今天整活上癮了. 複習了一下最近兩場周賽感覺能做出來但是實際沒有做出來的題目 感覺有幾點不足,希望以後可以逐漸改過來: 1. 基礎知識不紮實,有時候會在細節上栽跟頭 2. 有時候容易腦子一熱,想到一部分就開始寫,簡單題還能處理,中等或

原创 Go 其八 錯誤機制

Go的錯誤機制 與其他主要編程語言的差異 沒有異常機制 error類型實現了error接口 可以通過errors.New來快速創建錯誤實例 //error類型實現了error接口 type error interface {

原创 LeetCode刷題 -- 97. 交錯字符串

  今天這道題是困難難度的,二狗很努力的嘗試,還是失敗了。但是感覺雖然沒通過全部的測試用例,思考的過程還是有很多地方挺有趣的,記錄一下。   97. 交錯字符串 給定三個字符串 s1, s2, s3, 驗證 s3 是否是由 s1 和 s2

原创 Go 其五 到底是不是面嚮對象語言 -- 封裝數據和行爲, 接口, 自定義類型

  關於Go是不是面嚮對象語言其實有很多爭論,關於給出的解釋是:Yes and no.   封裝數據和行爲   結構體定義 type Employee struct { Id string Name string

原创 LeetCode刷題 --股票篇

  好久沒得寫刷題的博客了,正好最近牛市,記錄幾個股票相關的題,其實leetcode上相關內容不少,後面幾道困難的有空再整理進來吧。   121. 買股票的最佳時機 I 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果

原创 Go 其四 函數

  藝多不壓身,學習一下最近蠻火的Go語言,整理一下筆記。相關Code和筆記也放到了Git上,傳送門。 函數 -- 一等公民 與其他主要編程語言的差異 可以有多個返回值 所有參數都是值傳遞: slice, map, channel