『壹』 有多少人按@蕭井陌大神給出的python+Flask路線找到工作了
Flask確實適合入門,蕭大神推薦的那本書也確實是好書,把書看完,把裡面的例子讀懂,例子全部用IDLE敲一遍,基本就過關了,我們公司之前會計沒有一點編程基礎,就是通過flask入門的,從不懂到懂學了大概七個月,現在在一個創業公司也拿到了8k,那個公司用django!
『貳』 有多少人按@蕭井陌大神給出的Python+Flask路線找到工作了
Flask確實適合入門蕭神推薦本書確實書書看完面例讀懂例全部用IDLE敲遍基本關我公司前計沒點編程基礎通flask入門懂懂概七月現創業公司拿8k公司用django
『叄』 有多少人按@蕭井陌大神給出的Python+Flask路線找到工作了
今天拿到offer了,一直圍觀此問題,終於可以輪到我裝逼了233
找工作前後花了整好一個月,我是一個月前的今天飛北平。不過第一張簡歷是上周日投的,投的知乎,然後被拒了,氣得我當場卸載了知乎app。然後每天投一份,直到昨天接到面試通知,今天面了一下午通過。
先說一下背景吧。說真的樓上你們這些科班出身甚至本來就從事web前後端的號稱花了一個月成功找到相關工作的,真是太打擊我們這些轉大行的了。
本人211土木專業本科,去年畢業還去工地吃了一年的屎,今年十一月裸辭。Python是大四學的,不過主要是為NumPy去的。
沒有任何項目經歷,截止到今天為止唯一的項目還是自己的博客,還是兩周前動工的,還沒寫完,前端真的太惡心了,再讓我寫css自殺。
沒做過ACM,沒用過Linux,沒寫過Vim。
沒學過網路原理、操作系統、數據結構、資料庫。
Matlab技能點倒是豐富;我本科真的毀在數學建模上了。人在做,天在看,數學建模留禍患!
基本就是這樣。
到北平後的四周里有兩周都花在LeetCode上。不得不說LeetCode大法好啊,今天面試的演算法題全是原題,我心裡跟撕了一萬條藏獒一樣爽。
剩下的時間基本都是在Flask里來回折騰,不過真的啃不動啊,我真的不懂什麼是TCP協議,什麼的socket。今天面試的web基礎問題全部跪了,唯一一道答上來的是「說說四種請求方式」,而我只知道get, post, put,太JB感人了。
面試全靠演算法和Python基礎拿分,稍微問了問MySQL,問的很簡單,LeetCode的DB題比這些高到不知道哪裡去了;Python問的最高語法居然是生成器,我聽說有人都被問到修飾符了嚇得我趕緊買了本Python Pocket Reference通宵背了一遍;問了一個Maximum Subarray這個題,我做的時候是用的分治法做的,他們居然不滿意,非要引導我想出線性時間演算法,但是我根本理解不了面試官在說啥,硬著頭皮想出一個雙指針演算法居然得到了好評;二面的時候問的如何列表去重,空間復雜度和時間復雜度一步步做要求時的不同演算法,然後讓我實現了一遍MergeSort;問了問Vim的幾個常用命令,小case。
然後HR來談待遇,就過了。。。
說一下公司,A輪融資完成,130人規模,O2O,待遇沒超過10k,爬蟲崗,雖然我從來沒有寫過爬蟲。
列一下書單吧:
Python類
Python CookBook,我一直把這書翻譯為Python黑魔法,尤其到元編程那章,真他媽黑。
Learning Python,大四時候就是抱著這書入門的,不過坑爹的中譯本居然把裝飾器、修飾符、元類這么重要的部分給貿然截除了,我已經報警很多次了。
編寫高質量代碼——改善Python程序的91個建議,我完全用來當做查漏補缺的作用了,比如看看自己對mro的理解有沒有偏差什麼的。
Python Pocket Reference,純粹是為了應付面試,我怕他問我內置函數或者常用的標准庫。
沒有了
Web類
Flask Web開發,就是蕭大推薦的啦,雖然一遍一遍地看也還是停留在默寫出代碼的水平,但是我會努力把Flask源碼也背下來的!(大誤)
Head First HTML and CSS,我真的好想說,這本書的信息量密度好低啊,書又那麼貴又厚,害得我花了一天時間才看完,而且看完後基本忘完了。
深入理解Bootstrap,純粹是為了寫我的博客買的,買了以後才發現,媽的,不是有中文官網嗎。
圖解TCP/IP,花了一天看完,看完後覺得自我感覺良好,結果還是看不懂Python Cookbook第11章,很難過。
沒有了
其他
Learning SQL,好書啊,真的推薦,雖然概念解釋得稀爛,比如我是直到今天早上才知道應該怎麼回答「談談事務吧」,還是上網搜的。
GitHub入門,千萬別買,因為你就算看完後還是不知道該如何push你的代碼到你的repository,直接上GitHub看tutorial好了。
挑戰程序設計競賽,非常低調的書名,但是真的太棒了!我的數據結構和演算法全是從上面學到的!應付面試的話圖論之後的不用看了,但是我不得不說網路流那章非常精彩!
Vim實用技巧,非常棒,讓你逼格提升一個數量級。
沒有了
我不去繼續寫我的博客又在知乎裝逼了,今天的contribution又廢了。。
祝願所有的轉行生都一切順利!
說完了,求贊。
『肆』 有多少人按@蕭井陌大神給出的Python+Flask路線找到工作了
Flask確實適合入門,蕭大神推薦的那本書也確實是好書,把書看完,把裡面的例子讀懂,例子全部用IDLE敲一遍,基本就過關了
之前會計沒有一點編程基礎,就是通過flask入門的,從不懂到懂學了大概七個月,現在在一個創業公司也拿到了8k,那個公司用django!
『伍』 有多少人按@蕭井陌大神給出的Python+Flask路線找到工作了
已經按照 python + web 的路線找到工作。
工資不高,省吃儉用勉強收支平衡,但總算是轉職成功了。
背景
年齡:1987.10
學歷:末流大專
基礎:會用電腦
人脈:0,無相關專業朋友及網友
簡歷:套了個流行的模板,內容流水賬,無任何包裝和技巧
時間線
2015.9.3 開始自學
2016.2.18 投簡歷,共投出10份,3個面試,4個不合適
2016.2.24~25 面試
2016.2.25 拿到兩個offer,選擇了其中一個
自學過程
2015年9月: 完成coursera的python交互程序設計入門。
本來根本沒有轉職的打算的,當時無意間點進了S1外野的一個討論編程的帖子,然後看到有人說coursera上這套python教程讓他感到打開了新世界的大門,然後我就去搜了下coursera python(那天正在下載i社的新作,等待的時候,人總是容易失去理智),然後我就參加了這門課,當時只是覺得coursera是個挺高大上的東西,試一下總是一種體驗,完成了week 1的課程後,發現week 2的課程得等一個禮拜後的互評結束後才能觀看。簡單搜索一下後,找到了全部的視頻,還帶字幕的。課程的內容很簡單,就是 用簡單的條件判斷語句 + 簡單的面向對象 + 課程提供的gui庫 來寫一些小游戲,比如第二周的課程是乒乓。後面的三周時間幾乎是廢寢忘食的利用所有空閑時間完成了這套課。這是人生中頭一次體會到編程的樂趣,雖然代碼糟糕的很,毫無技巧,也不優雅,然而程序跑通的那一刻,得到的體驗仍然勝過一切,無論是苦刷三天爆了件神裝,還是萬智牌絕境下神掏逆轉,或者是圍棋比賽中殫精竭慮戰勝了比自己強的對手,都無法與之相比。
2015年10月:辭職自學,路線確定 python web,用flask寫了個人blog。
琳琅滿目的自學編程路線中無一不是羅列了一堆磚頭書,從數學基礎到編譯原理,我相信推薦人都是好意,然而一個零基礎自學的人,得有多大的熱情,才能在沒有什麼反饋的情況下,堅持到學完所有的基礎?
這時候看到了蕭井陌的答案:「flask源碼讀懂,就能找到工作」
於是開始學flask,書用的是miguel的那本《flask web開發》,另外有本《explore flask》做參考
這個月比較辛苦,因為啥都不會,照著書敲,前兩周大腦一片混沌,總之各種報錯,各種搜索,各種補基礎,miguel是個好人,長期在他的blog上回答關於他書中的問題。後面敲多了,對MVT框架也就比較清楚了,搜索的內容從清一色的「又報錯了,救命TT」,變成了「我想實現這個功能,咋整」。總之在10月31日倒騰出了一個脆弱的個人blog,順便部署到了sae。
有個插曲,不知道是不是搜了太多的技術名詞,某天google的搜索頁面變成了星戰片尾字幕的效果,然後眼前一黑,進入了一個shell環境,裡面是google的試題,可惜當時太弱。
2015年11月~2016年1月:刷題,堆技術棧
checkio刷了一百題
pythonchallenge完成前28關
leetcode每個tag都做了幾題
匯智、codecademy的互動式教程看了前端和數據相關的
讀完大部分《Problem Solving with Algorithms and Data Structures》
讀完大部分《深入 Python 3》
讀完一半以上的py3.5標准庫
讀了一部分cookbook
讀了so的一些高票答案
讀了很多關於web的技術文章
2016年2月:思考人生,看了幾天海,學django,模仿todoist寫了個簡化版,投簡歷
這個月內心有些動搖,因為搜了半天沒找到年齡大學歷低無人脈的人轉職成功的先例,更害怕的是投出簡歷連面試機會都沒有,所以用一個多禮拜學了下django然後寫了個簡單的todolist,打算投幾份簡歷試試,結果沒想到,居然成了
其他
關於拖延症:
一個人自學是很容易墮落的,在家裡,一不小心,刷刷論壇,一天就過去了。
我自己的拖延現象是非常嚴重的,雖然已經盡力控制,但還是浪費了不少時間。
我控制拖延的方法,簡單的說就是:計劃 + 啟動。
建議找一款時間管理軟體,我用的是 todoist 和 番茄土豆。
每天起床後花半個小時規劃一下一天要做的事情,寫進todolist。
寫了一堆計劃,但最後沒完成的多少的現象也是很常見的,所以關鍵是得開始。
任何事情只要開始做就不那麼難了,如果計劃列表裡的某個任務讓你拖延很久確不去做,那你可以試試將這個計劃分解成很多簡單的步驟。
比如說,你的todolist有一項是 [加入功能A],遲遲不開始是因為這功能實現起來很麻煩。那麼這時候可以考慮把 [加入功能A] 改為 [『搜索問題的答案』,『讀文章找頭緒』,'github找現成的實現','讀懂別人的代碼',『實現自己需要的功能』],如果還是不願意動手,可以繼續細分,細化到 [打開瀏覽器,輸入問題,點擊搜索] 這種程度總能開始做事了。
關於英語:
感覺沒必要刻意去學,平時多用就行,比如可以 把刷知乎、貼吧、S1的時間用來刷quora、4chan、reddit,平時追的漫畫,先看英文肉。
關於提問:
我自己是完全的閉門造車狀態,沒有在任何平台提問過任何技術問題。
首先大部分問題都能直接搜到答案。
其次搜不到答案的問題,很大可能是問題描述有問題。
如果問題描述精準且真的搜不到答案,那麼「大神」們回答問題的成本也不低,而我又不是妹子,所以實在搞不定的問題寧可遺忘,也不提問。(哪裡會有人喜歡孤獨,不過是不喜歡失望.)
關於未來:
我知道,我現在只是一個勉強入門「中小型開源Web應用二次開發者」
我很難趕上那些,十幾歲開始學,二十幾歲就成為行業頂尖的人
但我28歲的時候開始學,38歲的時候至少能成為一個比較成熟的程序員吧
『陸』 學計算機的基礎是什麼 要掌握哪些
看你學哪方面 最基礎的,計算機導論,這是必看的
你想弄軟體,就學好C,C++(或其他語言),嵌入式,離散數學,演算法設計,數據結構等等,至少掌握一種面向對象開發軟體,比如 Qt , MFC等等
你想弄硬體,就學好匯編語言,電子電工,計算方法,演算法設計,C++(或其他語言),單片機原理,編譯原理,微機介面與遠離,計算機系統結構 等等
你想弄網路,通信等。 你需要了解Html ,TCP\IP,XML等等
(計算機專業畢業人士 純手打 望採納 謝謝)
『柒』 知乎上面有哪些計算機科學與軟體工程方面值得一看的問答
導論:
編程入門指南 v1.3 - 蕭井陌的專欄 - 知乎專欄
如何系統、科學地自學編程知識? - 學習方法
IT 前輩們對計算機相關專業本科在校大學生有什麼可以傳授的經驗么? - 編程
計算機本科應屆畢業生要有怎樣的能力才算比較好的? - 程序員
書單、資源
Students - Guide to Technical Development
程序員必讀書單 1.0
resources - What is the single most influential book every programmer should read?
有哪些可以提高程序員技術檔次的書或博客? - 編程
Coursera 上有哪些課程值得推薦? - 位元組的回答
數據結構:
如何學習數據結構? - C(編程語言)
怎麼學好數據結構? - 演算法
怎樣學好數據結構和編程? - 程序員
學習數據結構有什麼用? - 編程
關於學習數據結構與演算法的一些疑惑? - 編程
演算法:
怎樣學演算法? - 學習方法
有哪些學習演算法的網站推薦? - 編程
在編程和演算法領域,有哪些經典問題? - 編程
什麼是動態規劃?動態規劃的意義是什麼? - 演算法
『捌』 對於編程零基礎,第一個語言是 Python 的人有什麼建議
比較巧的是我的情況與你相當,因此我的經驗應該對你有所幫助。
先說說我的情況。我是沒有任何編程經驗的,之前一直從事的是產品設計相關崗位,而且我英語水平實在一般,所以總的來說我比你底子還要低,另外,我27歲(年輕點應該學的更快,也更有精力)。
再說說我目前的情況。目前我已經能利用Python基於Flask框架寫一個CMS網站(內容管理系統),這肯定包括MySQL、前端的一些工作了,而且可以去把網站部署到VPS上(基本的伺服器操作、Python環境配置、Nginx相關配置)。
目前我正在利用閑暇時間編寫自己一直想做的網站,之前是那個經典笑話:我有一個想法,就差一個程序員了。
我不打算告訴你具體該看什麼,做什麼,我覺得我沒資格當你老師。但我可以把我的經歷告訴你,你可以參考,拿走對你有用的部分。無論如何,希望幫到你,希望多一個熱愛Python的人。
我的學習之路大致是這樣的,供你參考:
我是15年4月份正式開始學習Python語言的,入門讀物是一本書《父與子編程》。當中關於客戶端(GUI)的操作,淺嘗輒止。
關於第1點,我需要進一步強調:因為我目標非常明確,利用Python進行Web編程,通俗的講,我要自己寫個網站。所以凡事和寫網站不相乾的實踐我通通跳過或稍微嘗試做下。我到現在還認為這樣的學習方式是正確的,因為Python能做的事情非常多,覆蓋各種領域。在了解Python基本的語法之後,進行不同領域的實踐又要學習很多不同的東西(不同的包的用法和相關知識),所以,我非常建議你在學習Python之前明確掉你學Python的最終目的是什麼?然後集中精力去學習與目的相符的知識點。比如你學習Python和我一樣是做網站,那麼爬蟲、數據統計、數學處理、客戶端軟體編程、設計游戲等這些事情一律先跳過不深入;如果你學習Python是為了做數據分析,那麼像做網站的實踐、Web框架這些應該先跳過。其實道理很簡單,精力和時間有限,因此集中去攻克和目的相關的內容,不容易分散精力,學習也很快。我深以為那些建議新手做這做那,去Github去做那個很多小實踐的項目是錯誤的,至少對你我這樣的人不合適,我試過的。
之後,入門進階讀物還是一本書,就是《Learning Python》(俗稱「老鼠書」)。這本書很厚,而且還有一部分高級操作是電子版的。這都不重要。你只要讀好這本書「紙質版」包含的內容即可。這本書有中文版的,翻譯質量上乘,這是我之前說反對@解靈運那個觀點的原因。至少我英語這么渣的看起來不吃力,而且這本書有編程基礎的看不上的,你去亞馬遜看這本書的差評就知道了,不管人家怎麼說,這本書很棒。
在看《Learning Python》的同時,我會隨手根據書上學到的東西編寫對應的實踐看看代碼的運行效果。這時我遇到一些問題:怎麼讓電腦可以寫Python代碼?用什麼寫Python代碼好?
第一個問題我先想到Python的官網是否有安裝包,結果當然是有。雖然英語渣,但軟體下多了,還是知道跑到downloads頁面去找的,安裝包安裝很方便,和裝一般軟體沒什麼兩樣。(現在覺得這是比Ruby做得好的地方)。
第二個問題,求助了萬能的知乎(搜一下問題就好),看到多數人推薦Pycharm,自己就下載用了,開始沒感覺特別(沒用其他的所以沒對比),之後覺得難用(英語渣導致),最後覺得超-級-爽(熟悉後)。然後問搞技術的同事後,了解到其實這家出的其他語言編輯器也非常棒。
解決了上述兩個問題後,眼下就是鞏固知識多學多看的事情了。
學習完部分《Learning Python》後(見備注),我對 Python基本的基礎語法已經了解,但很容易忘,因此進階學習是看網路教程,這里尤其推薦廖雪峰的教程。網路教程包含更多的基礎實踐,沒書里那麼細,因而「溫故而知新」的效果很好。
看完廖雪峰的教程後,我基本語法已經沒問題。但類似@裝飾器這樣的高階應用我無法理解,更不知道具體用場,雖然教程講的因果我理解,而且感覺是這么用,但例子終究是個例子,沒具體用上還是不明白「究竟的用場?」。很多高階應用知識的問題在這個階段產生,我都似懂非懂。我最後的處理辦法是:將這些問題先放在了一邊。
之前講過,我目的非常明確:做網站。所以基本語法掌握後,我躍躍欲試,又是萬能的知乎,給我了下一步的方向,但也帶給了我更多的困擾。
在學習完廖雪峰的教程後,我知道我下一步是了解Python的更多周邊信息,了解如何利用Python去寫網站的,了解編程學習的進一步應該學些什麼。
在知乎關注Python和一些編程話題後,知道知乎有「三大軟狗:溫、趙、輪」,還有一個「蕭井陌」,這四個人是程序界在知乎的有名人物,這其中我感覺蕭井陌接觸Python多一些,其次是輪子哥。按照蕭井陌在某一問題下的答復(他說把他答案全看一遍再說),我就老老實實的把蕭井陌的答案全看了一個遍,之後又同樣的做法看了輪子哥的。
完成第12點後,如果說具體的收貨,我講不出很多,但是看完他們的答案後,感覺認識層次有提升,而且不小,關於這點真的「只可意會不可言傳」,你試試就知道了。
在學習第二本書的時候,我就知道Python有版本之爭,但在知乎搜索有關問題看更多後,我發現這個爭論還不小。我倒沒那麼糾結,果斷的上Python3.x,可能我是搞產品的,不喜歡陳而不新的東西。這之後我所有的實踐,包括現在編寫網站,全部基於3.x。當然這絕對不是說2.x就不應該去了解,只是3.x是主要的。
悲劇的事情來了。因為在知乎看得太多,我陷入了「Python還是Ruby」的深深糾結當中。這和我目的是WEB方向有關。如果題主學習Python不是做網站,不會遇到這個問題。
為了解決第15點的問題,我的做法是買了Ruby的經典入門書,結果看到30多頁的時候,突然充滿惡心和厭惡,直接甩書。
這之後進一步了解到WEB框架,知道Python的幾個主力WEB框架。知道Flask,了解這些框架的設計理念之後,我選擇了Flask,就跟我學習Python一樣,我認同他們的設計理念。
進一步,我進階學習還是一本書《Flask Web開發》,通過這本書,我開始嘗試編寫網站。然而我發現書上的知識是遠遠不夠的。並且,書開始涉及一些高階語法應用,比如@裝飾器,這時,在第9點放下的東西我開始重拾。
在學習《Flask Web開發》的過程中,我幾乎是邊回頭看廖雪峰的教程,邊GG(谷歌搜索)過日子。這之中幾乎每天都會被一個問題擋住,然後每天又解決一個問題。這種感覺很棒,感覺每天都有成就感的活著。
在《Flask Web開發》看到一大半的時候,我發現光有Python相關的知識已經不夠用,我不知道MySQL怎麼用,不知道ORM為何物,不知道HTTP協議的具體細節。總而言之,深感知識的荒蕪。
我暫時放下《Flask Web開發》,開始學習上面談到的這些東西的相關知識。方式以GG為主,後來知道程序員有專門的問答網站,在國內這個網站是segmentfault,通過這個網站也學習到上述的不少相關知識。關於MySQL看了一本書,這本是現在買不到了,這里我就不提了,應該有更好的,你自己搜一下(MySQL的書是我2年前買的,當時是因為要考試,看了一點點就放在那,之後全忘記了)。
在補充了相關知識後,《Flask Web開發》絕大部分都看得懂了。我開始動手編寫我想做的網站,一直到現在。
一直都會遇到問題,但都是零碎的知識點,我哪裡不懂GG哪裡,目前沒遇到GG之後還學不會的。
《Flask Web開發》看完後,開始看《Python核心編程(第2版)》,這本書有些問題(後面會談到),不過很受用,因為本身是教科書的形式,知識脈絡比較規矩和全面。
目前《Python核心編程(第2版)》看到P417,然後邊看邊寫網站。偶爾還會參考《Flask Web開發》,多數情況下看各種官方文檔了,比如Flask的。哦,忘記說了,我很早就知道各種程序總有作者編寫的文檔的,國內會有一些人熱心翻譯。我總能通過GG找到這些資料。這些資料是非常一手的好東西,但是沒前面的基礎工作一樣看不懂。
越來越喜歡Python,喜愛編程,看見程序員就想和他們交朋友,覺得他們是一群很棒的人!