資料結構演算法面試總結 序

2021-08-10 09:31:13 字數 2041 閱讀 7212

資料結構演算法面試總結 序

首先明確刷題目的:

1、  設法通過面試(中演算法部分);

2、  逐漸運用於實際工作中,形成自身it行業解決問題能力的」內功」;

第乙個是必需達到,否則找不到乙個好的工作,也難以達到第二個;而第二個事實上有更加重要的意義(注意也不會很長,用心的話就幾個月就能發現且初步達到第二個)。個人認為既不要把這個事情看的太簡單或就是應試前突擊搞搞,也沒必要看的太困難神秘。

就面試題說面試題,我個人感覺的不同類公司的演算法面試方式是:

1、  面試題難度相當於leetcode中等及以下;

此類公司往往是一些規模中小公司或小公司,或者是崗位技術要求一般/錄用人較多+流動性較大導致門檻放寬的大公司,簡單說就是招人稍顯困難或比較困難;普遍以教科書式演算法題、leetcode中等及以下的原題的形式出現;另外乙個特點是,相對於演算法,更重視常規資料結構原理的掌握的考察;總的來說其考察的目的,不是看面試者水平有多高,而是看是否達到其錄用下限;

2、  面試題直接出leetcode中等及以上原題:

此類公司可以包括兩類,但大體情況相近;一類是中型公司核心部門,一類是大公司的中等包括一定程度上的中上等部門;往往以leetcode中高難度原題出現,喜好出各式leetcode易錯題、遞迴題、及作為進而優化方式的動態規劃的leetcode原題,事實上因面試官自身視野、水準,以及崗位hc的利用效率招聘速度的原因,難以或不會問出一些更合理的考驗面試者實際的理解、運用、快速反應方面的能力的題;

2.5、面試題大致同2,但會引申出如」時空複雜度、引申出其他問題」:

此類公司往往和2相同,之所以單列出來,是因為往往這樣的面試官是乙個知識水平、工作方式乃至做人方式,比較靠譜有一定可信賴度,面試中能夠比較自然的通過乙個問題引申出相關問題,說明面試官至少這部分知識在其自身是相對比較系統的,這也能一定程度反映出其自身水準;

3、  面試題以較開放的題出現:

此類公司往往是大公司核心部門、國內外獨角獸、網際網路外企的出題方式,往往通過乙個題,主力考察面試者在面對乙個開放性問題時,是否能夠且快速的對映到用資料結構演算法找到能解決該問題辦法的思路,同時再考察**實現能力;

首先考察的就是資料結構演算法理解的深刻程度,不達到一定程度的理解,難以達到面試現場運用或者說隨時運用;同時能夠手寫**實現以考察其**編寫能力,這類題往往無論題本身還是題解只是陣列、鍊錶、二分、雜湊等非常常見的資料結構或演算法,並非很複雜的資料結構或者很複雜的演算法,也不一定只有乙個唯一的正確答案,或者有不同思路的解決方法,或者是同一解決思路下有多種實現方式;

這類面試題及其公司言必稱考察面試者」聰明程度」,實際上考察的是面試者的資料結構演算法的理解的高度以及進而的運用能力,能否針對實際問題做出快速的反應;對絕大部分人來講,這個能力的達到依然是通過反覆訓練熟練進而逐漸融會貫通,也就是說依然可以通過刷題方式不斷接近達到超越的過程;

一定程度來講,這類面試題確實能更有效的分辨出面試者在資料結構演算法方面的積累沉澱;另外這類公司應聘者排大長隊,這也是他們找到較優候選人的方式(或者說快速濾掉他們認為不優秀的);

4、  面試題以acm競賽方式出現:

尚未遇到過。這類公司應該難以存在,或即便存在也不具備選擇它的意義;不論從公司/部門的成敗發展,還是個人職場發展,至少從技術、業務上來講(職場發展也不僅是技術業務)需要的是,相對比較有前途的業務下,較為清晰正確的方向目標下的發展(的環境或所謂氛圍),及相應的合理快速的解決問題,而不是炫技、天馬行空浮想聯翩之類;

我個人認為的對策:

1、  刷題:多刷(最少200道左右,其實也不一定,理解到感覺到位了的程度即可),首先要達到基本的資料結構、演算法的原理的掌握,同時通過刷題達到乙個初步的運用的能力;

2、  總結:多回溯和歸納總結,先有意識的讓刷過的東西,逐漸形成為乙個固化的學會的東西;

3、  逐步在日常運用:也許日常解決一些問題時,主動試圖多用一用,用上了能夠獲取成倍的提公升;

4、  面試:實戰中不斷發現問題再反過來有方向的優化;包括業餘時間參與下如leetcode的比賽之類;

總結:出道甚至剛出名時並非以腳下技術著稱的德國著名前鋒克洛澤,為彌補腳下技術的不足,在家裡沒事就用球踢隨處的小物件,以練習準頭,後來他在場上的傳球射門準確率逐漸越來越高;我個人認為如果認真對待,大約需要3-6個月的業餘訓練應該總都可以達到。

資料結構和演算法總結(二) 排序

前言 複習各種排序演算法,並記錄下。正文 1.氣泡排序 冒泡可以說是最簡單的排序演算法,它的排序過程就是每次遍歷陣列將最大的那個數往前頂,就好像氣泡上浮一樣。過程可以參考如下圖 參考 void bubblesort vector num 複雜度分析冒泡的最壞情況下的時間複雜度為 o n2 平均複雜度...

資料結構與演算法基礎 序

利用一段時間複習了一下基礎資料結構與演算法,包括鍊錶 棧 佇列 樹 排序等等。畫了好多草圖,寫了好多 覺得有些還是有以後參考的價值的,所以放在這裡。全部 使用標準c實現,除標準c庫以外,沒有使用任何系統相關庫或第3方庫。一些比較難懂的演算法操作有一些草圖,便於自己理解。所有 在winxp sp3 w...

考研資料結構面試總結

day1 q1 雜湊訪問的優缺點 a1 優點 檢索,增加,刪除節點操作都很快。缺點 可能會產生衝突,解決衝突會增加時間和空間的開銷。q2 從有序表中刪除其值在給定值s與t之間的所有元素。口述 a2 先尋找值大於等於s的第乙個元素 第乙個刪除的元素 然後尋找大於t的第乙個人元素 最後乙個刪除的元素的下...