看了慕課網bobo老師的玩轉演算法面試課程,做了一些筆記。
演算法面試是什麼?
演算法面試需要有乙個合理的思考路徑;演算法只是技術的一部分。
不代表能夠「正確」回答每乙個演算法問題,但是合理的思考方向其實更重要,也是正確完成演算法面試問題的前提
演算法面試優秀不意味著技術面試優秀
技術面試優秀不意味著能夠拿到offer
演算法面試的目的不是給出乙個「正確」答案,而是展示給面試官你思考問題的方式。
演算法面試不是考試,把這個過程看作是和面試官一起**乙個問題的解決方案。
對於問題的細節和應用環境,可以和面試官溝通。這種溝通暗示著你思考問題的方式
思考問題方式
對一組資料進行排序
和面試官溝通,這組資料有什麼樣的特徵?
有沒有肯包含有大量重複的元素? 採用三路快排。
是否大部分資料距離它正確的位置很近?是否近似有序?插入排序是否資料的取值範圍非常有限?學生考試成績。計數排序是否需要穩定排序? 需要穩定排序時歸併排序資料的儲存情況?是否是使用鍊錶儲存? 如果是鍊錶儲存,使用歸併排序(快速排序依賴陣列的隨機儲存)
資料的大小是否可以裝載在記憶體中? 資料量很大,或者記憶體很小,不足以裝載在記憶體裡,需要使用外部排序演算法。(海量資料問題)
對問題的獨到見解,優化,**規範,容錯性
表達出解決問題的思路。
演算法面試優秀不意味著技術面試優秀
技術面試包含
技術面試優秀不意味著能拿到offer
技術面試只是面試的一部分,面試還考察你的過去以及形成的思考行為方式。
過去參與的技術專案很重要
如何找專案?
實習參加實戰課程學習
建立自己的專案
自己解決小問題:爬蟲,資料分析,詞頻統計等
一本優秀技術書籍的**整理等
自己的技術部落格,github等
通過過去了解你的思考行為方式(hr面):
結合具體的實際專案闡述,而非泛泛而談。
反問環節
準備好合適的問題問面試官。
bobo老師機器學習筆記 第四課 KNN演算法
主要分為四個檔案 knn.py中實現knn演算法 model selection.py封裝了樣本資料的一些工具方法,比如切分為訓練集和測試集 metrics用來對模型進行評估 client用來呼叫演算法進行執行 encoding utf 8 實現knn的分類演算法 import numpy as n...
玩轉演算法面試(九) 貪心演算法
假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。對每個孩子 i 都有乙個胃口值 gi 這是能讓孩子們滿足胃口的餅乾的最小尺寸 並且每塊餅乾 j 都有乙個尺寸 sj 如果 sj gi 我們可以將這個餅乾 j 分配給孩子 i 這個孩子會得到滿足。你的目標是盡可能滿足...
玩轉演算法面試 (三)LeetCode陣列類問題
陣列中的問題其實最常見。排序 選擇排序 插入排序 歸併排序 快速排序 查詢 二分查詢法 資料結構 棧 佇列 堆 templateint binarysearch t arr,int n,t target return 1 改變變數的定義,依然可以寫出正確的演算法templateint binarys...