初級程式設計師規劃

2021-09-17 21:08:46 字數 1166 閱讀 8885

在程式設計世界有些概念是基礎。大多數技術面試的目的都是為了發現你的問題解決技能以及看看你是否了解那些概念,所以除了掌握一門程式語言之外,你應該熟悉一些在程式設計師軍火庫中必須的一些概念。

要想為編碼面試做好成功準備,你應該對以下領域有自信:

演算法與資料結構

計算機組織&作業系統

編碼系統設計

這是程式眼最迫切需要的技能集。以下是每一位程式設計師都應該熟悉的主題:

演算法複雜性:大o的概念以及如何計算演算法複雜性;基於複雜性知道哪一種演算法更好,比方說o(n) vs o(logn)。

基本資料結構&介面卡:陣列、鏈結表、堆疊、佇列。

排序&搜尋:知道各種排序演算法可幫助你識別專案的最佳的實現。作為練習,不妨試著實現以下插入排序選擇排序或者合併排序,然後識別線性搜尋與折半搜尋的不同。

數&圖:樹和圖無所不在,可以從facebook的「朋友圖譜」和google search的「知識圖譜」開始。

雜湊表:作為世界上最有效的資料結構之一,雜湊表一直都是乙個好選擇。你應該能夠實現乙個雜湊表並且熟悉解決衝突的技巧。

強烈建議你要熟悉的主題包括:

逐位運算

cpu是如何執行機器**的

ram與動態ram之間的區別時什麼

有哪些型別的os核心

「互斥」與「訊號量」之間的區別是什麼

什麼是死鎖,什麼是活鎖

你應該至少對一門語言有著非常好的了解。要知道你喜歡的語言所有的優缺點,最佳實踐,這有助於你寫出優雅高效可讀性強的**。

知道物件導向程式設計對現代程式設計師來說是必須的。

系統設計意味著要考慮整個系統,能夠設計其架構、對其按類進行詳細分析,定義物件的互動。

要準備好回答下述問題:

——讓你設計google search的話你會怎麼設計?如果每秒鐘有數百萬的併發請求該怎麼辦?

——你會如何去實現facebook的朋友查詢?

——為什麼你需要使用關係式資料庫管理系統?

——為什麼你要使用nosql db?

高度建議你了解和使用正確的設計模式。比方說,你應該知道composite(組成)與decorator(裝飾)這兩種結構型模式的不同。

儘管初級開發者基本上需要的是有好的問題解決技能,而且你的第乙份工作不會要求你上述所有的東西都懂,但是這個列表對於你的職業生涯規劃還是會起到很好的幫助作用。

初級程式設計師的迷茫

剛接觸程式設計沒多久 感覺挺好的 以前家裡管的嚴 不怎麼會上網 也不接觸什麼軟體 現在學習軟體 已經半年了 在培訓機構 現在學的很多 都很基礎 我覺得有點上當了 我知道要想成為真正的程式設計師 很難 要博覽群書 而我只有 初中文化,現在我又不想放棄,但程式設計的時候 總會遇到演算法問題,由於底子薄 ...

uC OS II 初級程式設計師指南

uc os ii 初級程式設計師指南 一 uc os ii 簡介 uc os ii是一種基於優先順序的可搶先的硬實時核心。自從 年發布以來,在世界各地都獲得了廣泛的應用,它是一種專門為嵌入式裝置設計的核心,目前已經被移植到 多種不同結構的cpu上,執行在從 位到 位的各種系統之上。尤其值得一提的是,...

ucos 初級程式設計師指南

本文面向首次接觸uc os ii 的程式設計師,為他們介紹一下這個系統的一些基本特徵和程式設計上的注意事項,並介紹幾個值得了解的api。本文作者已經成功的將uc os ii移植到幾種不同cpu之上。包括epson s1c33和sunplus unsp?等,積累了豐富的經驗,現在願意和朋友們分享這些經...