1 回答

TA貢獻(xiàn)1824條經(jīng)驗 獲得超6個贊
秋招的時候 Python 的崗位確實不多,尤其是像 BAT 這樣的一線公司,基本上 Python 崗位都是運維開發(fā)和測試開發(fā)。二三線互聯(lián)網(wǎng)還是有不少 Python 崗位的,例如餓了么、愛奇藝、頭條等,而且因為投的人不多,所以競爭力比較小。
但是只會 Python 肯定是不行的,面試的過程中基本上沒有問過 Python 語言的相關(guān)東西,如果是面的后端開發(fā),可能會問一下用的后端框架的源碼,然后就是各種 CS 的基礎(chǔ)知識:算法與數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫,這些問得比較多,然后就是簡歷中的項目了。
除了 Python 外,最好還要懂一門靜態(tài)語言(Java/C++),一門函數(shù)式語言(Haskell/Lisp/Scala),大廠的面試其實對語言的要求不是很高,比如面過某 C++ 崗位,全程算法都是用 Python 寫的,還和面試官討論了一下 range() 為什么設(shè)計成左閉右開的形式。
想要用 Python 找到一份好工作(后端方向)
可以給一點小小的建議:
科班出身的話,各種基本知識應(yīng)該是沒問題的,不是科班的話可能這一塊需要補一補(* 為備選);
算法&數(shù)據(jù)結(jié)構(gòu):《算法》、*《算法導(dǎo)論》(搭配 MIT 6.006 食用更加)
操作系統(tǒng)&計算機組成原理:《深入理解計算機系統(tǒng)》
計算機網(wǎng)絡(luò):《自頂向下方法》、*《TCP/IP 協(xié)議(卷一)》、《UNIX 網(wǎng)絡(luò)編程(卷一)》(強烈推薦,基本上和網(wǎng)絡(luò)相關(guān)的比較難的一些問題這本書都有講,可以挑一部分看)
編譯原理:這個我沒具體看書,直接寫了幾個解釋器然后了解了個大概,書的話好像有《30天自制編譯器》比較淺顯易懂
數(shù)據(jù)庫:《MySQL 必知必會》、《高性能 MySQL》(從此各種數(shù)據(jù)庫優(yōu)化面試題手到擒來)
Linux:《鳥哥的私房菜》、*《Linux 命令行與 Shell 腳本編程大全》
和面試官扯淡:《程序員修煉之道——從小工到專家》
Python 語法雖然很簡單,但是要看的東西其實很多
基本的語法看官方的 Tutorials 就可以了,Python 2 和 Python 3 都要會,之間的一些主要的區(qū)別要知道
學(xué)會了語法可以看《Python Cookbook》、《Fluent Python》,這兩本書相當(dāng)于進階的書,學(xué)完功力 double,當(dāng)然可能看一遍是不能完全吸收的,以后可以用到的時候再回去刷一下
看完上面兩本書并刷過一些代碼之后應(yīng)該對 Python 的一些常用標(biāo)準(zhǔn)庫比較熟悉了,然后可以開始系統(tǒng)看一下標(biāo)準(zhǔn)庫(慢慢刷吧,這是個大工程)
熟悉某一個后端框架,我選的是 Flask,因為比較簡單,代碼也不多,花一點時間把源代碼看懂,知道一個 Flask app 從頭到尾的運行過程,有時間可以自己寫一個 web framework,實現(xiàn)基本的路由和 context 功能,當(dāng)然還有 bottle 更簡單,原理大同小異,讀一下 PEP 3333 -- Python Web Server Gateway Interface v1.0.1
一般科班出身的在學(xué) Python 前肯定會 Java/C++,這一部分也有很多的推薦,就不說了
其實面試過程中會問很多項目和設(shè)計類的問題,這種東西只能慢慢學(xué)習(xí)了,平時可以刷一刷 PyCon、各種博客、演講之類的來提高姿勢。
可以看到,要真的把上面所有的東西都學(xué)完不是一兩個月能搞定的,這還不包括準(zhǔn)備項目的時間。如果真的能學(xué)得不錯了(70%)的樣子,應(yīng)該拿個一線二線大廠的 offer 還是沒問題的。
添加回答
舉報