JavaRush /Java Blog /Random-TW /喝咖啡休息#49。每個開發人員都應該看到的程式碼範例。如何準備面試

喝咖啡休息#49。每個開發人員都應該看到的程式碼範例。如何準備面試

在 Random-TW 群組發布

每個開發人員都應該看到的程式碼範例

來源:Medium 有時在空閒時間我會在 GitHub 儲存庫中閒逛。當我開始學習新的程式、工具或實用程式時,我會嘗試看看它們的實際效果。為此,我研究了他們的程式碼:這有助於了解一切如何運作、有哪些模組和外部依賴項。沉浸在技術中會給您帶來難以置信的感覺,並讓您獲得新知識。喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 1在我的文章中,我想分享我在瀏覽儲存庫時遇到的最令人印象深刻的程式碼範例。

阿波羅11號控製程序

阿波羅11號是載人登陸月球的太空船。機載控制計算機(AGC)僅以 4 KB 實體記憶體來控制飛行操作。AGC軟體以組合語言編寫,儲存在特殊的唯讀記憶體(繩索記憶體)中。幾年前,該原始程式碼的掃描紙本副本被發佈在網路上。然後有人將幾個模組寫成文字檔案並上傳到GitHub儲存庫喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 2阿波羅 11 號工程團隊經過艱苦努力才取得了這令人驚嘆的成果。他們用彙編語言編寫了很多行程式碼,儘管 20 世紀 60 年代的程式設計比現在困難得多。當時,程式語言的抽象程度較低。此外,由於硬體功耗低,開發人員必須編寫高度最佳化的程式碼。

雷神之鎚 III 競技場

《雷神之鎚 III Arena》是一款由 id Software 製作的第一人稱射擊遊戲。該遊戲出現於 20 世紀 90 年代,當時 3D 遊戲產業才剛起步。其開發採用了遊戲引擎id Tech 3,與阿波羅11號登月計畫一樣,由於硬體資源的限制,對渲染圖形的程式碼進行了大量最佳化。許多遊戲程式計算需要向量歸一化的概念,這需要計算平方根的倒數。由於開發人員需要選擇最有效的電腦圖形演算法,Quake III Arena 採用了一個巧妙的方法,使用位元級計算快速計算平方根倒數。喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 3您看到的一些程式碼的優化水平,甚至是 20 世紀 90 年代用於創建遊戲的所有程式碼的優化水平,簡直令人驚嘆。如今,視訊遊戲開發人員通常不在這個層級進行計算,因為許多功能是在遊戲引擎層級執行的。

GNU 編譯器集合

C 程式語言可以稱為現代程式設計之父,因為它非常接近硬件,但同時提供了人類可以理解的良好抽象層級。GNU C 編譯器是一個引導編譯器。也就是說,它是使用編譯器展開的概念用 C 語言寫的。在 GitHub 上的 GNU Compiler Collection 程式碼中,我找到了我見過的最長的 C 原始檔(可能還有更長的文件,但這是我找到的)。喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 4

Google Chrome、Microsoft Edge 和 Opera 等熱門瀏覽器皆基於開源 Chromium 專案。這個專案有兩個主要依賴項:Blink 引擎(Webkit 團隊的 WebCore 函式庫的一個分支)和 Chromium 專案團隊開發的 V8 JavaScript 引擎。當然,Chromium 的程式碼相當廣泛,包含許多第三方模組,例如gRPCSkia。但 Chromium 開發人員成功地完美地建造了所有這些組件。程式碼庫巧妙地將內部功能邏輯與使用者介面邏輯分開。這確保了對整個專案的良好支援。喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 5此外,專案程式碼包含 Chromium Android 和 iOS 應用程式的原始程式碼。建立高度可擴展的跨平台應用程式可能具有挑戰性。然而,Chromium 在 Linux、Windows 和 Mac 上的程式碼分離確實令人印象深刻。

吉特克

如今,每個團隊都使用 Git 來管理程式碼版本。此版本控制系統由 Linus Torvalds(GNU/Linux 作業系統核心的創建者)所開發。Git 程式碼庫包含 Gitk 原始碼。Gitk 是一個 GUI 應用程序,透過提交提供視覺化導航。若要查看兩次提交有何不同,可以使用以下命令:
$ git diff <commit hash> <commit hash>
但由於 Gitk 是一個視覺化工具,我們可以用它更快看到差異。喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 6所有 Gitk 原始碼都適合一個. 該程式碼是使用 Tk UI 工具包(Tcl 擴充功能)以 Tcl 腳本語言編寫的。將整個 GUI 應用程式壓縮為一個檔案是一項艱鉅的任務。

開發人員如何準備面試?

來源:Hackernoon 我記得我的第一次訪談。我剛完成學位,正在申請馬德里一家金融公司的實習機會。我非常緊張,因為我不知道面試會如何進行,也不了解目前軟體開發的趨勢。那是復活節過後,我才21歲,如果能和朋友在海灘上度過時光,我會更開心。但我沒有享受樂趣,而是必須準備面試。喝咖啡休息#49。 每個開發人員都應該看到的程式碼範例。 如何準備面試 - 7每次面試前的第一步都是互相了解。他們會詢問您的姓名、地址、專業等。此後,您將接受個人面試,可以是面對面的,也可以透過視訊連結進行。無論如何,這次面試將測試您對於所申請職位的經驗、知識和技能。然後,您可能會被要求編寫程式碼,以證明您解決問題的能力。此外,您可能需要與專案經理或公司總監進行面談。這取決於您申請的職位。面試過程可能需要很長時間。因此,您需要保持耐心並保持冷靜。關於這個問題,我為您準備了一些提示和技巧。

研究該職位以確保它適合您。

有時,當我們找工作時,我們只是去參加面試,而沒有查看有關該職位的所有資訊。最好事先明確你的職責清單和工作時間表。也要檢查公司和職位是否符合您的要求

嘗試隨時了解您的職業趨勢。

一個大錯誤就是在工作中沒有遵循趨勢和新技術。您可能是一名開發人員或專案經理,您在當前角色中有自己的工作方式,並且所有專案都使用相同的技術。但請嘗試每天花一點時間學習新技術。這對我們的職業生涯非常重要。您需要隨時了解新框架、新方法等。這將對你的面試產生很大的影響。

在面對面面試或視訊通話中:盡量保持良好的形象並放鬆

您的外觀與應用程式的設計同樣重要。您可能有一個完美的後端,但如果您的應用程式的前端很差,您將很難銷售您的產品。你的外表也是如此:在面試時,你應該看起來即使不正式,至少也要得體。這將表明您願意遵守公司規則。我知道這裡有些人會想, “嘿,我是個天才,我為什麼要關心自己的外表?” 好吧,如果你是個天才並且長得好看,那麼你一定會給人留下深刻的印象!

慢慢來

面試前需要做好準備,研究主題,練習演算法和問題解決,準備演講。其中一些過程很漫長並且需要時間。所以確保你在這裡有優勢。

實踐

這取決於你的經驗,但我在這裡的建議是,如果你必須在面試中編寫程式碼,請正確編寫。為此,您需要學習如何清理和審查程式碼。這將幫助您重新組織或改進其某些功能。

透過面對面面試或程式碼展示您的經驗

嘗試展示經驗。面試是向面試官解釋公司為什麼要雇用你的最佳場所。在面試之前,請先熟悉基本的程式設計概念、方法和最佳實踐。

面試前一天保證充足的睡眠。

盡量確保充足的睡眠。這將有助於您在第二天保持專注。如果您不知道任何面試問題的答案,請不要撒謊——誠實地說,這將有助於避免將來出現許多複雜情況。這將幫助您看到自己需要改進的弱點。

相信你的答案

不要懷疑自己。絕不。

在面試過程中,您必須向每個人展示安全和信心。

如果您不具備這項技能,您可能需要努力學習。自信就是當你回答「我不知道答案,但我可以查一下並稍後回答」。這個答案選項顯示了安全性和信心。

分析訪談

每次訪談都是不同的,但都有一些相似的特徵。因此,面試結束後,你應該反思一下,哪些方面對你來說是好的,哪些是差的。面試是從外部審視自己、了解自己的優點和缺點的好時機。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION