【swoole-韓天峯】程序員
我最開始工做也是在2家小公司,後來加入騰訊阿里,主要緣由仍是我堅持學習基礎知識,從而獲得了這個機會。有幾個方面的基礎知識,我建議每一位PHP程序員都應該好好學習一下。我推薦幾本書給你們,包括深刻理解計算機系統、現代操做系統、C程序設計語言、C語言數據結構和算法、Unix環境高級編程、TCP/IP網絡通訊詳解。另外我建議你們學習一下面向對象方面知識,PHP這方面的書不太多,建議看Java面向對象編程、Java編程思想、J2EE這些書。PHP語言基礎方面,建議認真地把PHP5權威編程這本書好好讀完。另外不光要讀,還要照着書中的講解動手去編程實踐。面試
【多隆-蔡景現】
算法
我坐火車常常一坐就是七個小時,真的感受太長了。一到上班的時候,早上9點過來,一直到晚上6點,我都不知道時間怎麼一會兒就過去了。由於你有事作,不會以爲很辛苦。因此說真的須要熱愛這份工做,要否則你會以爲怎麼總是加班。sql
在我看來的話,沒有所謂的大神、大牛,真的都是從作項目開始。我剛開始的時候其實什麼都不懂的,好比2000年進阿里的時候,我連JAVA都不懂。當你在工做中遇到問題了,就去找資料,而後去把它弄懂、弄會。只要肯花時間和力氣,那你天然而然就會了。編程
發現問題,解決問題,不要繞開問題的自己。工程師對於代碼,必定要「精益求精」,不管是性能,仍是簡潔優雅,都要認真打磨本身的做品。swoole
【雪候鳥,鳥哥,惠新宸 @Laruence】網絡
你是如何成爲 PHP 開發組核心成員的?數據結構
我其實一直都在研究 PHP 的源代碼,因此也提交了很多 Bug 和 Fix,好比我記得有一天中午,Rasmus(PHP 之父)在 IRC 上說發現一個 Bug,我差很少 5 分鐘後就給出了 Fix。架構
等慢慢的和一些人熟悉,獲得了你們的信任之後,我就發起申請,以後就得到了 PHP 核心代碼的提交權限,參與到 PHP 的直接開發和 Bug 修復中,成爲了開發組的一員。數據結構和算法
至於說核心麼,那是慢慢積累來的,其實也是一個互信的過程。若是你的工做你們承認,那麼就會尊重你的意見。我慢慢地和 Dmitry Stogov 變的熟了起來,獲得了 Zend 核心部分的提交權限,提交了不少核心 Bug 的修復和新特性,再後來成爲了 Zend 外聘顧問,慢慢成爲了 Core Developer。
問:一名合格的 PHP 工程師的知識結構是怎樣的?
我記得之前有一句話說:「 PHP 工程師都是萬金油」,其實這句話不只僅對 PHP 工程師適用,應該對全部的工程師都適用。
知識結構要很廣。Web 開發涉及的技術點是比較多的,HTML、CSS、JS、SQL 這些之外,還要懂得一些 Nginx、Linux、Mysql 的配置、維護、排錯經常使用的辦法,這些都應該懂一些。
問:除了技術能力以外,你在面試的時候還會注重什麼?
我會特別注意思惟清晰、溝通、談吐。其實說穿了就是將來一塊兒共事的話,會不會有障礙,以及成長潛力是否大。
【洪劍峯】
待過大公司、創過業、混過外企、寫代碼、作架構、帶團隊……洪劍峯的經歷至關豐富。
要時刻注視遠方,走正確的路。我一直相信努力不如選擇重要,選擇一個適合的方向,你就會事半功倍。應該把更多的精力放在判斷方向、選擇道路上,而不只僅是悶頭苦幹。
對我來講,我寧願做爲團隊的Leader,站在前面,找到正確的方向,告訴你們怎麼作,這對團隊的益處遠遠好過我本身去作一些具體的事情。
我每一年大概會看20多本書,技術相關的大概一半,基本都是英文的,另外一半主要是歷史類、社科、經濟、管理之類的,對提升架構思惟頗有幫助。除了陪家人,我基本都待在公司,其他時間就是閱讀和寫代碼。
【李智慧】
我在作CTO以前,在離開Intel前的最後三個月大概寫了一萬行代碼。可是作CTO以後沒有爲公司寫過一行代碼,我會review代碼,review架構設計,可是我不會寫代碼,我以爲每一個人都應該也有責任把本身的工做作好,CTO的工做職責不是寫代碼,CTO寫代碼是一種越俎代庖。
學習知識技能首先須要時間,工程師應該用工做時間的20%去學習,若是工做時間抽不出空學習,能夠用加班時間學習,若是加班時間也被安排滿滿的,至少能忙完這一陣(本身熟悉了狀況後)能夠有機會安排時間學習。若是這種機會和但願都沒有的,若是你對本身負責的話,我建議你仍是辭職吧。
【賀利堅】
學習編程最好的方法就是實踐。經過實踐,享受程序運行正確帶來的快樂,樹立信心;經過實踐,享受在錯誤中不斷成長的快樂,訓練出敏銳的感受和與bug做鬥爭的耐心;經過實踐,看書中能夠不斷找到「哦,原來是這樣」的感悟,書本中的知識也可以鮮活起來。
【陸其明】
陸其明,北京愛奇藝科技有限公司PPS上海公司研發總監。
有人曾經問我,「你這樣把技術都說白了,不怕別人超過你嗎?」我說,「我不怕,由於我也一直在進步!」何況,我相信,特定的技術都是有保鮮期的,惟有分享才能發揮它的最大價值。我只後悔本身當年分享得還不夠,有一些代碼至今還沉睡在個人硬盤裏,而它們如今已經幾乎沒有任何價值了。
思惟方式首先要改變。作技術只要顧着本身就好了,而作管理的時候,要把關注點從本身身上轉移到團隊,要保證整個團隊的可持續性高產出,「你們好纔是真的好」。
要站高了看問題,多從公司利益、業務需求、用戶體驗等角度去思考問題,這對習慣於講邏輯、細節導向的技術人員來講是很難作到的。
技術人員通常不善與人溝通。但既然作起了管理,這方面必須增強,既要作足內部的溝通協調,又要擔當團隊的保護者和代言人。
所謂激勵,就是要充分調動團隊的工做積極性。一說到激勵,可能你們的直接反應就是錢。其實,金錢並非最好的激勵方式。各人有各人的狀況,每一個人在不一樣的階段也有不一樣的需求,所以激勵的方式也應該是多樣化的,好比一句鼓勵或感謝的話、請他吃頓飯、培訓機會、晉升機會等等,固然加薪、獎金、股票、期權有時也是不可缺乏的。最關鍵的是,要將我的的發展與公司的發展緊密地聯繫到一塊兒。對於管理者來講,儘可能作到公平也是相當重要的!
咱們在內心要明白:寫代碼不是目的,發佈產品也不是目的,咱們的終極目標是解決用戶的問題。
【任玉剛】
在Android開發的學習過程當中,我主要經過以下幾種方式來學習:
在公司進行產品開發;
閱讀Android源碼和Android官方文檔;
寫技術博客對知識進行總結和分享;
關注Github中優秀的開源項目並提交本身的項目;
在公司內部作技術分享;
閱讀相關技術書籍;
業餘時間持續學習。
【鄧凡平】
我我的感受在工做中不多能學到系統性知識,因此在此也鼓勵讀者必定要抽出整段時間來學習系統性知識。一個基本原則是:由點及面,努力構造完整的知識結構。
不要沉迷於技術自己和工具,要時常思考本身要作什麼,作哪些東西更有價值。軟件領域可學的東西太多了,可是切記要結合需求選擇最合適的內容。這年頭咱們不缺少作事的勇氣和努力奮鬥的精神,缺的是知道本身要作什麼的思考以及抵禦外界誘惑的定力。
求知慾是人的本能,很高興本身一直保持了這種本能。另外,作好時間管理、明確本身的目標也很是重要。對於一些初學者我有一些以及和我同樣仍在努力的人,有幾點建議:
在工做初期,先求廣度,再求深度;只有見識面廣,纔有可能融會貫通;要努力接觸新事物;Be Active。
工做三年後,要選擇適合本身的。這個時候,知道本身要作什麼,比知道怎麼作更重要。
要有團隊精神。覆巢之下無完卵。團隊很差,我的也不會好到哪裏去。你們要齊心合力把事情作好,不要過多考慮我的得失。
要有定力和鑽研精神。在知識學習上,高投入纔可能有好產出。
注意身體健康。活得越久,才能學得更多嘛。這是硬件,沒有它,任何軟件都跑不動。身體健康與否做爲一我的最重要的風險因素,相信軟件工程師們必定會重視並增強控制的。
【左程雲,華中科技大學本科(計算機科學與技術)、芝加哥大學碩士(計算機科學)。IBM軟件工程師,百度工程師,GrowingIO工程師、刷題5年的算法熱愛者。】
通常來說,工資高的公司在面試時算法和數據結構題目的比重較大,工資通常的公司比重較小。固然一樣公司的不一樣崗位,要求也會不一樣,但整體趨勢就是 國內好公司愛考算法和數據結構 。這是目前國內互聯網公司的狀況。國外的互聯網公司幾乎只考算法和數據結構,早個8年前就是這樣了,一直如此。我相信國內會逐漸變得像國外同樣,並非崇洋媚外,而是算法和數據結構題目真的能考出東西。
由於本科和碩士階段都是計算機專業,因此走上編程之路的過程是很是天然的,但我真正享受編程的過程是在開始作算法和數據結構的題目以後,牛人們寫出來的東西怎麼就是比我快呢?因此開始研究起來,並愈來愈癡迷。程序=算法+數據結構,因此不存在結合的問題。經常使用的語言是Java。