首頁>Club>
最近想學習後端開發,有哪個大神分享一下經驗
1
回覆列表
  • 1 # 聚雲網

    1.後端語言基礎,比如java,PHP,.net等

    2.開發工具使用。比如:Eclipse,VS等。

    3.實際的應用,比如開發APIs等

    4.除錯,排錯。掌握常用的除錯方法,比如debug跟蹤,日誌分析等。

    積累實際的專案經驗,由淺入深。

  • 2 # 路過看看你是誰

    現在企業招人一般就是.net 和java二種,.net不用多說外加資料庫知識mssql,oracle,Postgres,mysql。

    java路線,java python 工具eclipse,資料庫同上,NOSQL選一個比如mongodb。不建議二種同時學,精一門後再圖其他。招聘塊,臺資德資.net居多,美資java居多。

  • 3 # 牛客網

    一、計算機網路

    基礎部分

    TCP報頭格式UDP報頭格式TCP/UDP區別(不僅是宏觀上的,最好能根據各自的機制講解清楚)HTTP狀態碼(最好結合使用場景,比如在快取命中時使用哪個)HTTP協議(一些報頭欄位的作用,如cace-control、keep-alive)OSI協議、TCP/IP協議以及每層對應的協議。SESSION機制、cookie機制TCP三次握手、四次揮手(這個問題真的要回答吐了,不過真的是面試官最喜歡問的,建議每天手擼一遍,而且不只是每次請求的過程,各種FIN_WAIT、TIME_WAIT狀態也要掌握)。開啟網頁到頁面顯示之間的過程(涵蓋了各個方面,DNS解析過程,Nginx請求轉發、連線建立和保持過程、瀏覽器內容渲染過程,考慮的越詳細越好)。http和https區別,https在請求時額外的過程,https是如何保證資料安全的IP地址子網劃分POST和GET區別DNS解析過程

    深入部分

    TCP如何保證資料的可靠傳輸的(這個問題可以引申出很多子問題,擁塞控制慢開始、擁塞避免快重傳、滑動視窗協議、停止等待協議、超時重傳機制,最好都能掌握)地址解析協議ARP交換機和路由器的區別

    二、資料庫

    基礎部分

    事務四大特性(ACID)資料庫隔離級別,每個級別會引發什麼問題,mysql預設是哪個級別MYSQL的兩種儲存引擎區別(事務、鎖級別等等),各自的適用場景資料庫的最佳化(從sql語句最佳化和索引兩個部分回答)索引有B+索引和hash索引,各自的區別B+索引資料結構,和B樹的區別索引的分類(主鍵索引、唯一索引),最左字首原則,哪些情況索引會失效聚集索引和非聚集索引區別。有哪些鎖(樂觀鎖悲觀鎖),select時怎麼加排它鎖關係型資料庫和非關係型資料庫區別瞭解nosql資料庫三正規化,根據某個場景設計資料表(可以透過手繪ER圖)資料庫的主從複製使用explain最佳化sql和索引long_query怎麼解決內連線、外連線、交叉連線、笛卡兒積等

    深入

    MVCC機制根據具體場景,說明版本控制機制死鎖怎麼解決varchar和char的使用場景。mysql併發情況下怎麼解決(透過事務、隔離級別、鎖)

    Redis

    redis資料結構有哪些redis佇列應用場景redis和Memcached(支援資料持久化)分散式使用場景(儲存session等)釋出/訂閱使用場景

    三、作業系統

    記憶體的頁面置換演算法程序排程演算法程序間通訊方式程序執行緒區別程序之間的通訊父子程序、孤兒程序fork程序時的操作

    這個部分我回答的都不好,只能是死記硬背,建議基礎好的同學多看看作業系統這部分,能大大加分。

    四、演算法

    基礎

    劍指OFFER的各個題目是最常見的,即使不是原題也是題目的變體,因為面試不像筆試,一般不會出特別困難的題目,所以劍指OFFER上小而精的題目就非常適合。建議手刷一遍。PHP的同學可以參考專欄劍指OFFER二叉樹相關(層次遍歷、求深度、求兩個節點距離、翻轉二叉樹、前中後序遍歷)連結串列相關(插入節點、連結串列逆置、使用連結串列進行大數字的加減,雙向連結串列實現佇列、尋找連結串列中的環)堆(大量資料中尋找最大N個數字幾乎每次都會問,還有堆在插入時進行的調整)排序(八大排序,各自的時間複雜度、排序演算法的穩定性。快排幾乎每次都問)二分查詢(一般會深入,如尋找陣列總和為K的兩個數字)兩個棧實現佇列。圖(深度廣度優先遍歷、單源最短路徑、最小生成樹)動態規劃問題。

    深入

    紅黑樹性質分治法和動態規劃的區別計算時間複雜度二叉樹和雜湊表查詢的時間複雜度

    棧和連結串列是面試演算法的時候經常用到的工具,多考慮怎麼用資料結構的性質解決,因為面試不像筆試,對基礎資料結構關注的比較多一些,一般問題也比較簡單。然後取模也是常用的工具(比如有一次問怎麼讓100個程序按規定的權重被呼叫,就可以用取模的方式)。

    面試官一般會先出簡單的問題,然後深入地問下去,最好是根據他的思路走,因為能聽懂他的提示也是需要考察的能力。

    LINUX

    硬連結和軟連線區別kill用法,某個程序殺不掉的原因(進入核心態,忽略kill訊號)linux用過的命令系統管理命令(如檢視記憶體使用、網路情況)管道的使用 |grep的使用,一定要掌握,每次都會問在檔案中查詢shell指令碼find命令awk使用

    語言部分(PHP)

    陣列操作函式字串操作函式(陣列和字串的函式是最常問的,非常多,一定不要記混了)指標和引用區別堆和棧的區別== ===區別PHP的垃圾回收機制zval結構防sql注入跨域問題長連結和長輪詢

    面向物件、設計模式

    介面和抽象類區別單繼承construct的呼叫順序(子類父類之間)設計模式(工廠模式、策略模式、單例模式、裝飾模式比較常見)OOP特性,透過哪些機制實現的重寫和過載區別靜態類靜態方法根據某個需求設計一個類(主要考慮類之間的繼承關係和屬性的許可權設定)

    專案

    專案中遇到的困難(提前想好,並且把實現或者最佳化方法說清楚)系統的量級、pv、uv等應對高併發的解決辦法(分散式)在專案中主要負責了哪些工作。nginx的負載均衡分散式快取的一致性,伺服器如何擴容(雜湊環)

    ——————————

    - 專業IT筆試面試備考平臺

    - 最全C++JAVA前端等網際網路技術求職題庫

    - 全面提升IT程式設計能力

    - 程式設計師交友聖地

  • 4 # 趙ip

    入門後端,就是先選擇C++,java.c#.php等

    首先java現來說就是好找工作,崗位多,庫多學會了不愁找工作,一點就是競爭壓力會大點,c#是方向多,後端,u3d..net都行。做桌面應用有這宇宙第一的vs更是如虎添翼,php呢就是和前端搭配起來容易入門。。。。

    各個語言都一樣,聯絡走t型路線,現追求深度在追求廣度。 一法通萬發通。畢竟最重要的是思想和思維。解決問題的方法。

    再一個誰說只能選一門來著,都學了。到時候看專案需要,哪個省時省力有效率用哪個,豈不美哉。。。。

  • 中秋節和大豐收的關聯?
  • 種種跡象表明,地球不止有過一次文明。那麼以前的人類去了哪裡了呢?