• 您現在的位置是:首頁 >生活 > 2020-11-06 13:59:04 來源:

    Twitter工程師分享了有關如何加快編碼面試的5個技巧

    導讀 編碼采訪是一項艱巨的經歷。您為自己的理想工作進行面試,一個隨機的陌生人要求您用腳思考一個小時。您將被置于顯微鏡下,您所做的每個注釋

    編碼采訪是一項艱巨的經歷。您為自己的理想工作進行面試,一個隨機的陌生人要求您用腳思考一個小時。您將被置于顯微鏡下,您所做的每個注釋以及編寫的每個代碼都將受到嚴格的分析。汗珠從您的手掌上滴落,您的思想跳動無處不在。我該如何解決這個問題?我的方法會處理所有極端情況嗎?還剩多少分鐘?我的面試官的表情是什么?

    在 開始編寫代碼之前,您應該提出一個解決問題的計劃。您應該在這部分上花費大約5到20分鐘。通常,我的游戲計劃包括繪制圖表和測試示例。例如,每當我遇到圖形問題或遞歸問題時,我都喜歡畫一棵樹來標識要訪問的不同狀態以及要訪問的狀態的順序。更重要的是,繪制這些樹突出了我可能需要執行的任何邏輯,例如回溯。

    提出游戲計劃有幾個優點。首先,面試官可以告知您方向是否錯誤。如果是這樣,那么您只需編寫所有錯誤代碼即可節省30分鐘!其次,很容易確定解決問題所需的數據結構和變量。

    如果您最初的游戲計劃不是最有效的,那就可以了!難道不擔心早早就確定最有效的解決方案。這是因為擁有有效的代碼比損壞的代碼更好,甚至沒有代碼也更好。這往往是眾多面試候選人的敗筆。

    實施游戲計劃后,您可以重新完善自己的方法以使其更優化。

    2.經常溝通

    因為面試官不知道您的內心正在發生什么,所以您必須將您的思維過程傳達給面試官。這是一項重要的重要軟技能,因為面試官正在評估您的解決問題的能力以及解決該問題的過程。

    我之所以強調這種技能,是因為有效的溝通使我找到了一家頂尖公司的工作機會。在現場采訪中,一位高級工程師向我詢問了一次艱難的動態編程采訪,歷時45分鐘。我繪制了一個2D矩陣和該矩陣中的不同狀態。但是,在表達正確的遞歸關系方面,我花費了最長的時間。我將在眾多邊緣情況下測試我的遞歸關系,有時,我的方法會得出錯誤的答案。我將解釋為什么我的遞歸關系是錯誤的,并討論改進它的方法。我傳達了我思考過程的每一步。

    在會議結束時,我有一個已定義的重復關系,但是沒有編寫任何代碼。零碼。整個白板上都充滿了一堆矩陣和箭頭。當我走出面試室時,我確信自己沒有通過面試。我會賭一輩子的積蓄,如果失敗了。幾天后,我接到一個電話,要求得到這份工作。

    那么您什么時候需要溝通?

    你需要溝通

    當您提出游戲計劃時

    當您發現有幾種解決問題的方法,并且您確定哪種方法是最有效的

    當您在代碼中看到錯誤時

    當您通過測試用例逐步檢查最終代碼以驗證正確性時

    3.始終測試您的代碼

    一旦編寫了最后一行代碼,這就是一種令人愉悅的感覺。您在壓力下解決困難的問題上感到很成功。但是,您還沒有越過終點線。如果您對面試官說您已完成代碼,而未使用測試用例對其進行驗證,則可能會嚴重影響面試性能。

    如果訪問員在您的代碼中發現錯誤并將其告知您,則訪問員將在反饋評論中提及“訪問候選人未測試代碼,并且我確定了候選錯誤”。不測試代碼并不遵循軟件工程中最基本的實踐。沒有人會在第一次嘗試時編寫完美的代碼。您始終需要驗證您的代碼以獲取并保持客戶的信任。

    因此,請始終確保至少使用兩個測試用例來遍歷代碼,其中一個應該是邊緣用例。確保在測試部分進行溝通。

  • 成人app