原创 學習筆記 | 分析連續數據的數學

01 對於無限的理解 02 極限 “若x無限放大,則函數f(x)無限接近於定數p”可以表示爲: 在這種情況下,p被稱作f(x)的極限值。 03 歐拉常數e 用以下極限來定義的定數e被稱作歐拉常數或自然對數的底。 04 積

原创 學習筆記 | 操作系統中的缺頁中斷

操作系統中的缺頁中斷 malloc()和mmap()等內存分配函數,在分配時只是建立了進程虛擬地址空間,並沒有分配虛擬內存對應的物理內存。當進程訪問這些沒有建立映射關係的虛擬內存時,處理器自動觸發一個缺頁異常。 缺頁中斷:在請求

原创 學習筆記 | 靜態鏈接庫、動態鏈接庫

01 DLL文件是什麼?它有幾種調用方式? DLL文件(Dynamic Linkable Library即動態鏈接庫文件),是一種不能單獨運行的文件,它允許程序共享執行特殊任務所必需的代碼和其他資源。 比較大的應用程序都由很多模

原创 學習筆記 | 內存溢出和內存泄漏

內存溢出和內存泄漏 1、內存溢出 指程序申請內存時,沒有足夠的內存供申請者使用。內存溢出就是你要的內存空間超過了系統實際分配給你的空間,此時系統相當於沒法滿足你的需求,就會報內存溢出的錯誤 內存溢出原因: 內存中加載的數據量

原创 學習筆記 | 用戶態到內核態的轉化原理

01 請你說一說用戶態和內核態區別 爲了區分不同的程序的不同權限,人們發明了內核態和用戶態的概念。 用戶態和內核態是操作系統的兩種運行級別,兩者最大的區別就是特權級不同。用戶態擁有最低的特權級,內核態擁有較高的特權級。 運行在用

原创 筆記總結 | 線程、進程的概念和區別、進程間通信、線程間通信

請你說一下進程與線程的概念,以及爲什麼要有進程線程,其中有什麼區別,他們各自又是怎麼同步的。 01 基本概念: 進程是對運行時程序的封裝,是系統進行資源分配和獨立運行的的基本單位,實現了操作系統的併發; 一個程序加載到內存後

原创 學習筆記 | MySQL 的優化方案有哪些?

性能優化(Optimize) 指的是在保證系統正確性的前提下,能夠更快速響應請求的一種手段。而且有些性能問題,比如慢查詢等,如果積累到一定的程度或者是遇到急速上升的併發請求之後,會導致嚴重的後果,輕則造成服務繁忙,重則導致應用不

原创 學習筆記 | redis 學習

● 請你回答一下mongodb和redis的區別 內存管理機制上:Redis 數據全部存在內存,定期寫入磁盤,當內存不夠時,可以選擇指定的 LRU 算法刪除數據。MongoDB 數據存在內存,由 linux系統 mmap 實現,

原创 學習筆記 | SMART原則:制定目標

SMART原則: S 代表具體 (Specific):目標要清晰、明確,讓考覈者與被考覈者能夠準確的理解目標; M 代表可度量 (Measurable) :目標要量化,考覈時可以採用相同的標準準確衡量; A 代表可實現 (Att

原创 學習筆記 | 併發(concurrency)和並行(parallelism)

併發(concurrency)和並行(parallelism) 併發(concurrency):指宏觀上看起來兩個程序在同時運行,比如說在單核cpu上的多任務。但是從微觀上看兩個程序的指令是交織着運行的,你的指令之間穿插着我的指

原创 學習筆記 | 設計模式 六大設計原則

01 六大設計原則 1. 單一職責原則 單一職責是指一個類只負責一個職責。 一個類應該僅有一個引起它變化的原因。 比如現在比較流行的微服務,就是將之前很複雜耦合性很高的業務,分成多個獨立的功能單一的簡單接口,然後通過服務編排組

原创 學習筆記 | 貪心算法(貪婪算法)

貪心算法,是從問題的初始解開始,一步一步地做出當前最好的選擇,逐步逼近問題的目標,儘可能地得到最優解,即使達不到最優解,也可以得到最優解的近似解。 也就是說,它期望通過局部最優選擇從而得到全劇最優的解決方案。 在貪心算法中,我

原创 學習筆記 | 無重複字符最長子串

01 無重複字符最長子串 快慢指針 class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s

原创 學習筆記 | 協程 概念理解

協程 1、概念: 協程,又稱微線程,纖程,英文名Coroutine。 協程看上去也是子程序,但執行過程中,在子程序內部可中斷,然後轉而執行別的子程序,在適當的時候再返回來接着執行。 例如: def A() : print '