1. 程式人生 > >這是我最想推薦給程式設計師們看的基於Python3實現的資料科學書

這是我最想推薦給程式設計師們看的基於Python3實現的資料科學書

​點選關注非同步圖書,置頂公眾號

每天與你分享IT好書 技術乾貨 職場知識

參與文末話題討論,每日贈送非同步圖書。

——非同步小編

​​和武俠世界裡有少林和武當兩大門派一樣,資料科學領域也有兩個不同的學派:以統計分析為基礎的統計學派,以及以機器學習為基礎的人工智慧派。雖然這兩個學派的目的都是從資料中挖掘價值,但彼此“都不服氣”。注重模型預測效果的人工智慧派認為統計學派“固步自封”,研究和使用的模型都只是一些線性模型,太過簡單,根本無法處理複雜的現實資料。而注重假設和模型解釋的統計學派則認為人工智慧派搭建的模型缺乏理論依據、無法解釋,很難幫助我們通過模型去理解資料

隨著雲端計算和人工智慧的發展,資料科學這門新的綜合學科被越來越多的人所熟知,業界也普遍看好其在未來的發展前景。體現在就業市場上,與這個行業相關的資料科學家和資料工程師成為了“21世紀最吸引人的職業”。


就像“一千個人眼裡有一千個哈姆雷特”一樣,對於什麼是資料科學也有很多種不同的解讀,並由此衍生出很多相關概念,比如資料驅動(data driven)、大資料(big data)、分散式計算(parallel computing)等。這些概念雖然各有側重點,但它們都毫無爭議地圍繞著同一個主題:如何從實際的生活中提取出資料,然後利用計算機的運算能力和模型演算法從這些資料中找出一些有價值的內容,為商業決策提供支援。這正是資料科學的核心內涵。

傳統的資料分析手段是所謂的商業智慧(business intelligence)。這種方法通常將資料按不同的維度交叉分組,並在此基礎上,利用統計方法分析每個組別裡的資訊。比如商業智慧中最常見的問題是:“過去3個月,通過搜尋引擎進入網站併成功完成註冊的新使用者裡,年齡分佈情況如何?若將上面的使用者群按年齡段分組,各組中有多大比例的使用者在完成註冊後,完成了至少一次消費?”

這樣的分析是非常有用的,能揭示一些資料的直觀資訊。但這樣的方法如同盲人摸象,只能告訴我們資料在某個區域性的情況,而不能給出資料的全貌。而且對於某些問題,這樣的結果顯得有些不夠用。比如使用者註冊之後完成消費的比例與哪些因素相關?又比如對於某個客戶,應該向他推薦什麼樣的商品?在這些場景下,我們就需要更加精細的資料分析工具—機器學習和統計模型。在我看來,這些內容是資料科學的核心內容,也是我推薦《精通資料科學:從線性迴歸到深度學習》一書的重點。

​ 1.1挑戰

在資料科學實踐中,我們將使用較為複雜的機器學習或統計模型對資料做精細化的分析和預測。這在工程實現和模型搭建兩方面都提出了挑戰,如圖1-1所示。

工程實現的挑戰

資料科學在工程上的挑戰可以大致分為3類:特徵提取、矩陣運算和分散式機器學習。

(1)一個建模專案的成功在很大程度上依賴於建模前期的特徵提取。它包含資料清洗、資料整合、變數歸一化等。經過處理後,原本攪作一團的原始資料將被轉換為能被模型使用的特徵。這些工作需要大量的自動化程式來處理,特別是面對大資料時,因為這些大資料無法靠“人眼”來檢查。在一個典型的建模專案中,這部分花費的時間遠遠大於選擇和編寫模型演算法的時間。

(2)對於一個複雜的數學模型,計算機通常需要使用類似隨機梯度下降法的最優化演算法來估算它的模型引數。這個過程需要大量的迴圈,才能使引數到達收斂值附近。因此即使面對的是很小的資料集,複雜的模型也需要很長時間才能得到正確的引數估計。而且模型在結構上越複雜,需要估計的引數也就越多。對這些大量的模型引數同時做更新,在數學上對應著矩陣運算。但傳統的CPU架構並不擅長做這樣的運算,這導致模型訓練需要耗費大量的時間。為了提高模型的訓練速度,需要將相應的矩陣運算(模型引數的估算過程)移植到GPU或者特製的計算晶片上,比如TPU。

(3)近年來,隨著分散式系統的流行和普及,儲存海量資料成為了業界的標配。為了能在這海量的資料上使用複雜模型,需要將原本在一臺機器上執行的模型演算法改寫成能在多臺機器上並行執行,這也是分散式機器學習的核心內容。

​圖1-1

模型搭建的挑戰

資料科學對模型搭建的要求也可以總結為3點:模型預測效果好、模型引數是穩定且“正確”的、模型結果容易解釋。

(1)模型的預測效果好,這是資料科學成功的關鍵。而一個模型的預測效果取決於它的假設是否被滿足。從數學上來看,任何一個模型除去假設部分,它的其他推導都是嚴謹的數學演算,是無懈可擊的。因此模型假設就像模型的阿喀琉斯之踵,是它唯一的薄弱環節。當問題場景或資料滿足模型假設時,模型的效果一定不會差,反之,則預測效果就無法保證了。但在實際生產中,針對一個具體的問題,幾乎不可能找到一個模型,它的假設被百分之百地滿足。這時就需要避重就輕,通過特徵提取等手段,儘量避免違反那些對結果影響很大的假設。這就是為什麼說“所有模型都是錯的,但是,其中有一些是有用的”。

(2)除了被用來對未知資料做預測外,模型另一個重要的功能就是對已有資料做分析,比如哪個變數對結果的影響最大或者某個變數對結果到底是正向影響還是負向影響等。這些分析結果在很大程度上依賴於模型引數的估計值,後者的準確與否直接決定分析結果的質量。但問題是,模型引數的估計值是不太“可靠”的。例如從訓練資料中隨機抽取兩個不完全一樣的資料子集A和B,然後用這兩個資料集分別訓練同一個模型。得到的引數估計值幾乎不可能完全一樣。從數學的角度來看,這說明模型引數的估計值其實是一個隨機變數,具體的值取決於訓練模型時使用的資料。於是我們要求這些估計值是“正確”的:圍繞引數真實值上下波動(也就是說它們的期望等於引數真實值)。我們還要求這些估計值是穩定的:波動的幅度不能太大(也就是說它們的方法比較小)。這樣就可以把引數估計值的“不可靠性”控制在可接受的範圍內。

(3)資料科學家將模型搭建好,並不是一個數據科學專案的終點。為了充分發揮資料的價值,需要將模型結果應用到實際的生產中,比如為手機銀行APP架設實時反欺詐系統,或者將利用新搭建的車禍風險模型為汽車保險定價等。參與這個過程的不僅有懂模型的資料科學家,還有更多非技術的業務人員。而後者往往是使用模型的主力,比如根據反欺詐系統的結果,對可疑使用者進行人工稽核,又或者向客戶解釋為什麼他的車險比別人貴。為了幫助他們更好地理解模型結果,需要將複雜深奧的模型翻譯成直觀的普通語言。這要求模型是能被解釋的,而且是容易被解釋的。

在對資料搭建模型時,有兩種截然不同的思路,如圖1-2所示。

一種是所謂的資料模型(data model),也就是傳統的統計模型。這種思路假設資料的產生過程是已知的(或者是可以假設的),可以通過模型去理解整個過程。因此,這類模型通常具有很好的可解釋性,分析其穩定性的數學工具也很多,能很好地滿足上面提到的後兩點。但是在實際生產中,這些模型的預測效果並不好,或者更準確地說,單獨使用時,預測效果並不理想。

​圖1-2

另一種是所謂的演算法模型(algorithm model),也就是機器學習。這類模型是人工智慧的核心內容,它們假設資料的產生過程是複雜且未知的。建模的目的是儘可能地從結構上“模仿”資料的產生過程,從而達到較好的預測效果。但代價是模型的可解釋性很差,而且模型穩定性的分析方法也不多。

正如上面的分析,統計學和機器學習在某些方面具有極好的互補性。因此在實際的生產中,為了將一個數據科學專案做得儘可能完美,我們需要將這兩種思路結合起來使用。比如使用機器學習的模型對資料建模,然後借鑑資料模型的分析工具,分析模型的穩定性和給出模型結果的直觀解釋。

1.2 機器學習

在討論機器學習之前,我們先來總結一下人是怎麼學習的:在面對一個具體的問題時,人首先會根據已有的經驗和當前的資訊做出反應行動,然後按照行動獲得的反饋去修正自己的經驗,並不斷重複這個過程。

機器學習就是通過程式讓計算機“學會”人的學習過程。換句話說,機器學習是一個計算機程式,這個程式能夠根據“經驗”自我完善。那麼問題來了,既然都是程式,機器學習和傳統程式設計有什麼不同呢?

機器學習與傳統程式設計

首先,通過一個假想的例子來體會這兩者之間的差異。假設我們需要構建一個能區分老虎和斑馬圖片的系統,而這個任務被交給了程式設計師小李和資料科學家小胡。

程式設計師小李拿到這個任務之後,他首先總結了兩條分辨這兩種動物的經驗:

•  斑馬的毛髮是黑白相間的,而老虎的毛髮有3種顏色:黑色、白色和黃色。

•  斑馬的耳朵比較大,而老虎的耳朵比較小。

然後,小李將上面的兩條經驗總結成規則:如果圖中的動物有黃色毛髮或者耳朵比較小,那麼圖中的動物是老虎,反之則為斑馬。

最後,他將規則翻譯成程式程式碼交給計算機去執行。

資料科學家小胡的做法則完全不同。他並不去總結區別這兩種動物的規則,而是假設毛髮顏色和耳朵大小能區別這兩者。於是小胡將這個邏輯翻譯成學習程式執行在計算機上。與此同時,他還從網路上收集了一大堆老虎和斑馬的圖片,並將這些圖片做好標記,即每張圖片對應的動物是什麼。然後小胡將資料(圖片+標記)輸入給之前編寫好的學習程式,而後者就可以根據資料不斷累積經驗和總結規則,這個過程被稱為模型訓練。經過一段時間的訓練後,學習程式最後得到了一個模型(以程式碼的形式存在)。這個得到的模型和小李自己編寫的程式一樣,可以用來區分老虎和斑馬的圖片。

小李和小胡各自的工作流程如圖1-3所示。從程式設計的角度來看,機器學習是一種能自動生成程式的特殊程式。

​圖1-3

也許上面的例子有點過於抽象了,下面再來看一個簡單而具體的例子。假設我們想通過一個成年人的身高(用變數x表示)來預測他的體重(用變數y表示)。這項工作同樣被交給了小李和小胡。

小李拿到問題之後,首先上網查閱了成年人身高與體重的相關研究資料。他發現這兩者的關係可以用如下的公式表示。

y = 0.9x – 90                         (1-1)

接著他將公式(1-1)轉換為程式裡面的函式,這個函式的輸入引數是身高,輸出是預測的體重。

小胡接到任務後,首先假設身高和體重的關係可以用線性迴歸模型來表示,也就是公式(1-2),其中a和b為未知的模型引數

y = ax + b                           (1-2)

同圖片識別中的做法類似,小胡接下來收集了大量的人體身高和體重的資料。他將這些資料輸入給模型,而模型將根據得到的資料估計未知引數a,b。估計的原則是使得模型預測值與實際值的差距達到最小。經過計算之後,得到引數的估計值為a ̂  = 0.8,b ̂  = -100。也就是說經過模型訓練後,小胡得到了如公式(1-3)所示的程式

y = 0.8x – 100                         (1-3)

圖1-4所示是小李和小胡各自提供的解決方案。

​圖1-4

總結一下,傳統的程式設計方式是人類自己積累經驗,並將這些經驗轉換為規則或數學公式,然後就是用程式語言去表示這些規則和公式而機器學習可以被看作一種全新的程式設計方式。在進行機器學習時,人類不需要總結具體的規則或公式,只需制訂學習的步驟,然後將大量的資料輸入給計算機後者可以根據資料和人類提供的學習步驟自己總結經驗,自動升級。計算機“學習”完成之後會得到一個模型程式,而這個由程式生成的程式可以達到甚至超過人類自身的水平。

監督式學習和非監督式學習

機器學習根據所用的訓練資料可以分為兩類。一類是監督式學習,這類模型的特點是訓練資料裡有標註,也就是常說的被預測量y。1.2.1節裡討論的兩個例子都是監督式學習。監督式學習按標註的型別又可以細分為兩類:分類和迴歸。如果資料裡的標註表示事物的類別,也就是說標註是離散的,那麼相應的模型就屬於分類,比如1.2.1節裡動物圖片識別的例子。如果標註表示具體的數量,也就是說標註的是連續的,那麼相應的模型就屬於迴歸,比如1.2.1節裡通過身高預測體重的例子。

另一類是非監督式學習,這類模型所用的訓練資料裡並沒有標註,只有自變數x。非監督式學習根據用途又可以分為兩類:聚類和降維。把“距離”相近的點歸於一類叫作聚類,而將高維空間裡的資料對映到低維度空間叫作降維,具體內容見圖1-5。

​圖1-5

1.3 統計模型

從上面的例子中可以看到,機器學習非常依賴所用的訓練資料。但是資料就百分之百可靠嗎?下面就來看兩個資料“說謊”的例子。

如圖1-6所示,我們將某APP每月的使用者註冊數表示在圖中。圖1-6a給人的直觀印象是每月的安裝數是大致差不多的,沒有明顯的增長。而圖1-6b給人不同的印象,從3月份開始,使用者註冊數大幅度增長。但其實兩幅圖的資料是一模一樣的,給人不同的感覺是因為圖1-6a中縱軸的起點是0,而且使用了對數尺度;而圖1-6b的縱軸是從17 000開始的,而且使用的是線性尺度。​

​                                             (a)                                                (b)

圖1-6

讀者可能會覺得上面這個例子太過簡單了,只需要使用一些簡單的統計指標,比如平均值或每個月的增長率,就可以避免錯誤的結論。那麼下面來看一個複雜一點的例子。

當得到如圖1-7所示的兩組資料時,我們應該如何用模型去描述資料的變化規律呢?

•  對於圖1-7a,資料的圖形有點像拋物線,因此選擇二次多項式擬合是一個比較合理的選擇。於是假設模型的形式為y = (x - a)(x - b)。然後使用資料去估計模型中的未知引數a,b。得到的結果還不錯,模型的預測值與真實值的差異並不大。

​                                                 (a)                                             (b)

圖1-7

•  對於圖1-7b,資料之間有明顯的線性關係,所以使用線性迴歸對其建模,即y = ax + b。與上面類似,得到的模型結果也不錯。

根據上面的分析結果,可以得出如下的結論,圖1-7a中的x與y之間是二次函式關係,而圖1-7b的x與y之間是線性關係。但其實兩幅圖中的變數y都是與x無關的隨機變數,只是因為觀察視窗較小,收集的資料樣本太少,讓我們誤以為它們之間存在某種關係。如果增大觀察視窗,收集更多的資料,則可以得到完全不同的結論。如圖1-8所示,如果將收集的樣本數從20增加到200,會發現圖1-8a中的資料圖形更像是一個向下開口的拋物線,這與圖1-7a中的結論完全相反。而圖1-8b中也不再是向下的直線,而與開口向上的拋物線更加相似。

​                                           (a)                                           (b)

圖1-8

上面的例子就是所謂的模型幻覺:表面上找到了資料變動的規律,但其實只是由隨機擾動引起的數字巧合。因此在對搭建模型時,必須時刻保持警惕,不然很容易掉進資料的“陷阱”裡,被資料給騙了,而這正是統計學的研究重點。這門學科會“小心翼翼”地處理它的各種模型,以確保模型能擺脫資料中隨機因素的干擾,得到穩定且正確的結論,正好彌補機器學習在這方面的不足。

1.4 關於《精通資料科學:從線性迴歸到深度學習》

資料科學涉及計算機程式設計和數學建模這兩個方面。它們之間的交集並不多,所強調的技能也有很大區別。這體現在實際生產中就是懂模型的人不懂程式設計,懂程式設計的人不懂模型,兩者兼備的人才非常稀缺。本書的第一個目的就是將這兩者的鴻溝彌補起來,注重模型假設和數學推導的同時,強調如何用程式碼實現模型。

  從模型之間的聯絡和區別出發,分析各個模型的優缺點。幫助非數學專業的讀者更加深入地理解模型的假設和適用範圍,而不只是停留在會使用開源模型庫的API。

•  通過大量實際案例和程式碼展示,幫助非計算機專業的讀者能獨立上機實踐模型演算法,而不只停留在模型的理論研究。

對於資料科學中的模型搭建,統計學和機器學習是其最重要的組成部分。這兩門學科的側重點並不相同,在很多方面它們是彼此很好的補充。在面對一個實際問題時,若能將兩者的方法相結合,能更好地挖掘資料的內在規律,從而更大程度地發揮資料的價值。這是本書的第二個目的。

•  將機器學習和統計結合起來,並借鑑統計學在經濟領域的應用,為機器學習的演算法提供一個生動而又不失精確的解釋。同時用豐富的圖片將這些解釋直觀地表現出來,幫助專業人員將模型和演算法解釋給非專業的業務人員,推動模型的落地和應用。

•  借鑑計量經濟學的方法,深入探討模型應用中常常被人們(特別是機器學習專業人員)忽略的問題,如模型是否穩定、模型結果是否可靠等,幫助讀者反思建模過程中是否有考慮不周到的地方,以至於模型得到錯誤的結論。

當前,資料科學有兩個最熱門的前沿領域:分散式機器學習和深度學習。本書有專門的章節討論它們,展示這兩個領域想要解決的問題和目前最好(或最流行)的解決方案。這是本書的第三個目的:從巨集觀的角度向讀者展示什麼是資料科學,想要解決的問題、主要的方法以及未來的發展方向。

本書並不試圖成為機器學習或統計學的參考文。在之後的章節裡,有關模型的數學推導都只是簡略講解,並不做詳細證明(本文也不會為了迎合行文簡便,一味地迴避這些難點)。本書討論的重點是資料科學的整個工作流程(Pipeline):不止是搭建模型、用資料去訓練模型,而是如何對資料進行預處理,初步分析資料、搭建並評估模型以及根據結果分析模型的缺點進而改進模型。

​本文摘自《精通資料科學:從線性迴歸到深度學習》

唐亙  著

點選封面購買紙書

京東購書     噹噹購書    天貓購書

資料科學入門到實戰,介紹資料科學常用的工具——Python、數學基礎及模型,討論資料科學的前沿領域——大資料和人工智慧包括機器學習領域經典的模型、分散式機器學習、神經網路和深度學習等。 

  • 在資料學科的角度,融合了數學、電腦科學、計量經濟學的精髓
  • 為讀者闡釋了資料科學所要解決的核心問題—資料模型、演算法模型的理論內涵和適用範圍 
  • 以常用的IT工具—Python 3為基礎,教會讀者如何建模以及通過演算法實現資料模型,具有很強的實操性。 
  • 本書還為讀者詳解了分散式機器學習、神經網路、深度學習等大資料和人工智慧的前沿技術。

作者簡介:唐亙,資料科學家,專注於機器學習和大資料。曾獲得復旦大學的數學和計算機雙學士學位;巴黎綜合理工的金融碩士學位;法國國立統計與經濟管理學校的資料科學碩士學位。熱愛並積極參與是Apache Spark和Scikit-Learn等開源專案。作為講師和技術顧問,為多家機構(包括惠普、華為、復旦大學等)提供百餘場技術培訓。此前的工作和研究集中於經濟和量化金融,曾參與經濟合作與發展組織(OECD)的研究專案並發表論文,並擔任英國最大線上出版社Packt的技術審稿人。  

今日互動

有一種說法,資料分析的工作終將會被機器所替代,你認同嗎?為什麼?截止時間5月12日17時,留言+轉發本活動到朋友圈,小編將抽獎選出3名讀者贈送紙書1本和2張e讀版100元非同步社群代金券,(留言點贊最多的自動獲得一張)。非同步圖書後臺回覆“5月新書”進入新書交流群,獲得第一手新書資訊,點選此處直達活動

​推薦閱讀

​長按二維碼,可以關注我們喲

每天與你分享IT好文。

在“非同步圖書”後臺回覆“關注”,即可免費獲得2000門線上視訊課程;推薦朋友關注根據提示獲取贈書連結,免費得非同步e讀版圖書一本。趕緊來參加哦!

點選閱讀原文,購買《精通資料科學:從線性迴歸到深度學習》

​閱讀原文

相關推薦

推薦程式設計師基於Python3實現資料科學

​點選關注非同步圖書,置頂公眾號每天與你分享IT好書 技術乾貨 職場知識​參與文末話題討論,每日贈送非同步圖書。——非同步小編​​和武俠世界裡有少林和武當兩大門派一樣,資料科學領域也有兩個不同的學派:以統計分析為基礎的統計學派,以及以機器學習為基礎的人工智慧派。雖然這兩個學派

好書丨推薦程式設計師基於Python3實現資料科學

點選上方“程式人生”,選擇“置頂公眾號”第一時間關注程式猿(媛)身邊的故事參與文末話題討論,有機

推薦程式設計師的最新技術

11月書訊重榜來襲十一月書訊釋出啦!9種好書與您相約月末準備銀子買書吧。即將上架 Python機器學習《 Python機器學習——預測分析核心演算法 》從演算法和Python 語言實現的角度,幫助讀者認識機器學習。 專注於兩類核心的“演算法族”,即懲罰線性迴歸

推薦程式設計師的一些(不止是技術

生活中我是一個嗜書如命的人,不管是小說還是非小說,不同型別的書我都喜歡看。不過,人在成年之後,讀書的熱情會逐漸消退,把精力投入到其他事物上。不足為奇的是,不論何種形式的書(包括電子書和有聲讀物),幾乎沒有成年人能堅持定期閱讀。我既不打算談論社交媒體如何轉移了我們的注

對廣大程式設計師說一些話

今天上來就看到頭條《想對廣大程式設計師說的一些話》,作者的觀點還是有很多可取之處的,只是針對部落格園的目標群,我覺得有必要談談我的觀點。 在技術的路上,我一直認為就如同金庸小說中的大俠一樣,要內外兼修。光有內功沒有外功,雖然很厲害,但略顯粗重;光有外功沒有內功,則屬於花拳繡腿

博導推薦一本基於Python實現爬蟲的, 適合程式的!

網際網路包括了至今為止最有效的資料集,並且大年夜大年夜區域性能地下收費拜候。但這些資料根基上不克不及複用。它們被嵌入在網站的佈局、樣式中,得抽取出來才調應用。我們從網頁中抽取資料的過程就是我們熟知的彙集爬蟲,網際網路期間每天都有大年夜大年夜量的資訊被頒佈發表到彙集上,彙集爬蟲也愈來愈有效。

見識過神奇的程式碼, 程式設計師: 就是這麼任性這麼皮!

大家對程式設計師的第一印象就是沉默寡言,在我看來,他們的幽默機智都表現在他們的程式碼裡,看了之後絕對讓你對程式設計師這個群體刮目相看,或許可能會想跟他們幹上一架。 今天,小編帶你們來看看程式設計師們寫的程式碼,絕對讓你覺得腦洞大開。 看完這段程式碼禁不住讓我拍手叫

是如何走上程式設計師條不歸路的

  今天公司很閒,哦不  這段時間公司都很閒, 閒下來想想自己是怎麼走上程式設計師這條路的, 現在是2018.12.6 記得一年半以前我還躺在家裡 想著自己今後應該去哪搬磚,搬什麼樣的磚. 讀書時我做過很多暑假工, 跟老媽在服裝店打雜, 在工業園區做過流水線,在杭州賣過奶茶等等, 我不是個很勤奮的人

可能是個假程式設計師!50個程式猿笑話程式煩兩件事

程式設計師最煩的是什麼?50個程式猿笑話程式猿最煩兩件事。沒錯,就是這2件事情……樑健也煩! 1、程式猿最煩兩件事,第一件事是別人要他給自己的程式碼寫文件,第二件呢?是別人的程式沒有留下文件。 2、程式猿的讀書歷程:x語言入門—>x語言應用實踐—>x語言高階程

一個行走在路上的程式設計師創業者,希望將自己的故事分享那些要改變世界的程式設計師,共勉!!!

緣由 我是一個程式設計師,從1995年小學3年級就跟程式設計結緣,當時只是學校開的培訓班以為能玩遊戲就報名了,還學習了basic和logo語言,雖然沒有任何用處也學得不深入,但卻對我的一生產生關鍵影響,讓我喜歡上了程式設計,讓我覺得除了科學家、老師、醫生、畫家、作家之外,世

面試Java後端開發之後和Java程式設計師談談的感受

在上週,密集面試了若干位Java後端的候選人,工作經驗在3到5年間。我的標準其實不復雜:第一能幹活,第二Java基礎要好,第三最好熟悉些分散式框架,我相信其它公司招初級開發時,應該也照著這個標準來面的。 我也知道,不少候選人能力其實不差,但面試時沒準備或不會說,這樣的人可能在進團隊幹活後確實能達

是迄今為止我見過的牛逼的程式設計師,堪稱程式碼之王!

今天逛論壇看到了一位程式設計師大佬,真的是大佬,寫了一個街頭霸王遊戲,我很早學JavaScript的時候自己也想過寫遊戲,但是那時候思維技術什麼都不是很到位,所以一直沒有去寫,現在也沒有那個閒情去寫這個了,當然對於剛學好JavaScript的確是是一個鍛鍊思維和技術的最好

程式設計師新手寫簡歷的一些建議

最近幫很多朋友review他們的簡歷,總結起來存在以下問題: 簡歷太多頁 請儘量不超過兩頁。一般地,每個hr閱讀簡歷的時間大概在20s,甚至更少。寫那麼多頁不僅毫無必要,而且有害。 而且我懷疑一般的應屆畢業生不大可能說寫三頁的履歷。有些人說,你寫不了三頁是你水平不行

推薦:成為Java頂尖程式設計師11本書就夠了

“學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處: 1.能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料 2.對著書上的程式碼自己敲的時候方便 “看完書之後再次提升

開年會聚餐,為什麼會坐在程式設計師那桌

工作之餘,通過聚餐,我們也可以側面瞭解同事的人品和性格,同事之間會一起聯絡感情聚聚餐,或是有人升職加薪請客吃飯,通過這些聚餐,大家在一起談笑風生,一解工作的約束,吃飯聊天也是酣暢淋漓。 但是,當公司組織聚餐的時候,領導在現場的時候可能就不會有那麼放飛自我了。 最近有網友就有發帖稱:程式設計師

是如何走上程式設計師條道路的

  我記得第一次與電腦結緣是1997年的時候,初中開始普及電腦課。我當時所在的中學買回了一批電腦,,每週五有一節課。一次理論課一次上機課,所以通常要半個月才能上一次機。即便如此,我還是非常的興奮。第一次上機的情形我仍記忙猶新,換上拖鞋,兩個人用一臺電腦。在DOS提示符上輸

程式設計師直言 修電腦道題你們都做!錯!了!

點選上方“程式人生”,選擇“置頂公眾號”第一時間關注程式猿(媛)身邊的故事傳聞程式設計師看到“修

李開復程式設計師的七個建議(轉摘)

https://blog.csdn.net/fly8377/article/details/2060485 1.練內功。不要只花功夫學習各種流行的程式語言和工具,以及某些公司招聘廣告上要求的科目。要把資料結構、演算法、資料庫、作業系統原理、計算機體系結構、計算機網路、離散數學等基礎課程學

程式設計師面試有哪些小竅門?接地氣的程式設計師面試面試技巧總結

先來看看:    https://mobile.yangkeduo.com/mall_page.html?mall_id=129221094 因為程式設計師基本都是頭腦程式化,不太會察言觀色,也就是情商不是很高,我就是屬於那種!~~今天我們要講的並不是諸如php面試