如何在面試中應對編程與算法面試?

求職面試的過程中,編程能力也是面試官非常看重的一項能力。而對於編程這項能力主要的考察點也有三個維度:

初級:編程的基本功

編程的基本功主要考察的編程語言的基本語法,原理知識,以及一些在編程過程中的常見問題與解決方案。比如,如果面試官考察:九九乘法表,那麼就是考察你的編程的基本功。主要看你拿到一個簡單的需求後,能否實現出來。如果面試官考察垃圾回收機制這些知識,那麼考察的就是你對於編程語言特性的理解。如果要是涉及到高級一點的元編程技巧,如果不理解這些知識,是無法完成的。如果面試官考察:深拷貝淺拷貝,這個場景其實在讀寫,修改一些嵌套結構的數據是非常常見的問題,那這個場景其實就是在考察你是否在編程過程中有發現一些問題,以及有掌握到對應的解決方案,包括多線程編程,都屬於這類型問題。

高級:數據結構與算法

在具備比較紮實的編程基本功之後,就需要掌握數據結構與算法的知識。其實這門課是所有計算機相關專業同學的必修課,雖然對於測試工程師來說,我們常常吐槽它“面試造火箭,進去擰螺絲”。但是數據結構決定了你是否有一個更爲紮實的編程基本功。以及我們不得不面對的現實問題,爲了面試,也得衝! 自然在數據結構與算法中,我們也無需盲目學習,它也是有它自己的明確的學習路線和學習範圍的。如果你的目標是中小廠,那麼也要掌握一些較爲基礎的算法,比如冒泡排序,二分查找,快速排序等。如果你的目標是大廠,那麼就要掌握更爲深入的數據結構,比如線性表:鏈表、堆棧,非線性表:樹、圖等。

資深專家:設計模式

而如果能熟練掌握設計模式的用法,已經可以算作是一個測開的專家了。而設計模式的學習,通常是通過在開發各種工具或者平臺過程中,是要時刻想着怎麼讓代碼保持一個好的擴展性,可讀性,可維護性。常用的設計模式通常有:工廠模式、單例模式、策略模式、裝飾器模式等。

如何提升編程的基本功

對於大部分同學來說,我們首要完成的就是編程基本功的提升。如果沒有一個好的編程基本功,代表在實際開發過程中,可能連一些簡單的需求也無法完成。有一種極爲科學的學習方法叫做 PDCA 循環學習法,以下爲通過 PDCA 循環法學習 Python 的方式

**階段 ** **描述 ** **對應學習方法 **
計劃 (Plan) 設定目標和規劃行動方案 制定 Python 一週的學習內容
執行 (Do) 實施計劃,收集數據 通過教程或視頻學習
檢查 (Check) 分析數據,評估結果 通過練習驗收學習結果
行動 (Act) 調整和改進行動,制定下一步計劃 查漏補缺,並開啓下個階段的學習

在熟悉Python的基本語法之後,則需要完成一些比較大型的需求去驗證自己的學習效果:

  • 開發一個簡單的後端系統。
  • 開發自動化測試腳本的框架。

如果能在此過程中,不停的去補充自己的技能以及在項目中歷練,在一年半載之後,就會發現自己的編程能力就能有質的飛躍和提升。再具備一些基本的開發經驗後,就可以進一步挑戰算法與設計模式的學習:

  • 開發像HttpRunner一樣的測試框架。
  • 開發一個好用的測試平臺。

在這個過程中,你會發現如果不用設計模式與算法,那麼很多需求的實現會變的非常難以實現。不停的重構,是每個開發者的宿命。自然在千錘百煉之後,你也會朝着一個技術專家之路邁進。自然,千里之行始於足下,同時萬事也是開頭難。最後送大家馬斯克的一段話,共勉!

社會的競爭其實並不需要你比所有人都強,絕大部分人都是非常懶的,幾年都不會去學習,不會進步。所以你只要稍微努力一些,確保超過全社會60%的人;如果你幹什麼事都專注一點,就可以超過社會上80%的人;如果你願意在一件事上高強度的深耕個3-5年,進全社會前10%並不難,甚至5%也沒有多大難度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章