⑴ 計算機程序設計員應注意什麼
雖然我沒有學過計算機程序設計,但是我以我目前所知道的注意事項來跟你說幾點吧。
程序運行的時候必須要保證運行期間的穩定性
C++代碼不能出錯
使用順序、選擇、循環等有限的基本結構表示程序邏輯。
選用的控制結構只准許有一個入口和一個出口
程序語句組成容易識別的塊,每塊只有一個入口和一個出口。
復雜結構應該用基本控制結構進行組合或嵌套來實現。
程序設計語言中沒有的控制結構,可用一段等價的程序段模擬,但要求改程序段在整個系統中應前後一致。
嚴格控制GOTO語句。
1.2為我目前所知道的觀點,3-8為網路內容,僅供參考
⑵ 程序員要具備什麼技能
一名合格的程序員需要掌握哪些技能呢?
熟練掌握開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVA One很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
對操作系統有一定的了解
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
懂得網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEB Services存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
不要將軟體工程與CMM分開
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
擁有強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
⑶ 作為一個程序員,參加一個項目,會接觸到哪些流程
首先看你去的什麼公司,如果去大公司,有一套規范的話。那麼你只需要,找項目經理或者產品經理要需求文檔,找架構幣要表結構,找同事問問實現好的utils,然後開發充畢進行單元測試,與前端工程師聯調,之後就可以提交測試了,如果去了一家小公司,那麼上面的所有工作都有你來做。
⑷ 北大青鳥分享程序員面試有什麼注意事項
面試是每個普通程序員面前的一座大山,給了大家無盡的苦惱和困惑。程序員面試很難嗎?難!正常的,要經過兩輪技術面試以及一輪經理面試,也有不少頂尖公司甚至需要三到五輪的技術面試。
幾輪面試下來,能熬到最後,這絕對是真正意義上的「過五關斬六將」了。很多優秀的程序員業務能力很過硬,但都因為在面試的時候發揮失常,從而屢屢與大廠失之交臂。所以,每一個面試成功者,都算是勇士。要給自己點個贊!
那麼面試時,我們究竟需要注意什麼呢?今天,北大青鳥http://www.kmbdqn.com/就教給大家幾個面試成功的技巧。
1、首先,要確保你理解了面試官的問題。
許多問題都是故意措辭模糊或者模稜兩可,這個時候你可以請面試官把問題說清楚,從而確保你真正回答面試官的問題。你的提問同時還有一個好處,就是它能給你自己一些時間,讓你的腦子轉起來。
2、用一到兩個例子來確定問題的限制條件和要求(在現場面試時在白板上完成這個過程,在電話面試時在筆記本上完成)。
嘗試用中等規模的例子,以便覆蓋到一些特殊情況。如果你能想到可能相關的表格,就把它畫出來。事實上,把你想到的任何東西都寫下來是會有幫助的,因為它能為你提供一個視覺錨點,從而讓你在走不通時或者思考過程中隨時返回某一個點。
3、把話說清楚,這可能是最重要的一步。
要試著讓面試盡可能有更多的互動,面試官不知道你在想什麼,而讓他們參與到你的思考過程里,會讓她給你一些有用的提示,防止你偏向錯誤的方向。你的目標就是要先和面試官確證你的答案,然後再去寫代碼,而且你考慮答案越清晰、越高效,你得到的即時反饋也就越好。
4、通過應用以下技巧來找到答案
回想一下你遇到的類似問題,再想想它們是如何被解決的,嘗試各種不同的演算法(分治演算法、貪心演算法、遞歸、排序,等等),把問題分解成更小的、可處理的小問題(這樣你就能得到相應部分的分數),最後再通覽一遍你列出的數據結構,因為有時候,只要想到了正確的數據結構,就能給出正確的答案。
5、當你向面試官問清楚了問題、並向她解釋了你的答案之後,就可以開始寫代碼了。
在共享文檔里寫代碼的時候,你可以復制粘貼、寫評論,而且能回過頭來完成骨架演算法和功能。但在白板上寫代碼就不一樣了,它需要你的頭腦很清醒,而且需要你具備管理白板空間的技能。
⑸ 程序員接私活完整攻略
接私活 對程序員這個圈子來說是一個既公開又隱私的話題,不說全部,應該大多數程序員都有過想要接私活的想法,當然,也有部分得道成仙的不主張接私活。但是很少有人在公開場合討論私活的問題,似乎都在避嫌。就跟有人下班後跑滴滴一樣,程序員私有時間接點活掙點錢不也很正常么,不過不要在上班時間就行,就跟你上班期間出去跑滴滴一樣。
當你竭盡全力想要去接私活的時候一定做過這樣的事,網路搜索「程序員如何接私活」或者「程序員到哪接外包」之類的問題,那麼相信你也一定看到過讓你不要接私活的帖子,觀點大概就是:
把有限的時間花在提升自己的能力上,技術深度,技術廣度,或者多閱讀書籍,豐富自己,這樣有可能比做外包收益大。
這里就不跟大家討論該不該接的問題了,很明顯,我接了。首先跟大家分享幾個項目案例。
案例1
大概是13年14年左右的樣子,談到一個項目,做一個APP連接甩脂機,通過藍牙模塊傳輸數據,便於手機上觀察,大概這樣。依稀記得跟甲方項目經理溝通需求時,他拿了一個 Android 2.x 系統的手機給我演示了QQ的一些功能,我一本正經的跟他說,「你放心,這個肯定做不了」,他當時就懵了...因為我並不想兼容2.x版本的系統。後來進入簽合同階段,這家公司不大,事兒倒是不少,又是身份證復印件,又是按指紋。這個項目是我外包生涯中的一次滑鐵盧,為什麼呢,因為我竟然同意了不用付定金,等項目開發中期再支付第一筆費用。帶著一個他們提供的藍牙硬體模塊,回去了。後端開始編寫API,Android iOS 開始研究藍牙數據傳輸,噼里啪啦直接把項目做完了。測試包發過去了,結果大家能想到,不給錢!
我至今都記得這家公司的名字,不知道倒閉了沒有,我們整個團隊一分錢沒得到,項目以失敗告終。
案例2
一個汽車後市場項目。當時市場上有一款APP,養車點點,後來已經改名,叫典典養車,我們當時要做的就是抄襲它,功能類似,整個項目差不多十幾萬。甲方是做汽車零配件的,在上海有很多家店,每次交流的地址在一家咖啡館。兩個多月後,項目上線,經營一段時間後,甲方意欲挖我們過去,畢竟項目是我們做的,他想把原班人馬招過去,婉拒。
案例3
一個海外社交項目。這個項目比較小,只做 Android 一個端,原因是甲方招聘的 Android 人員離職了,時間緊急,就讓我接了。比較順利,對方提供視覺稿、API,我開發 Android 即可,項目也沒啥難度,我閑著無聊,特地給他們做了一些交互動畫,甲方驗收的時候非常高興,直言比他們自己員工做得都好。
還有很多其它項目就不一一介紹了,小到做一個控制項,幾百塊,千把塊,大到幾十萬的項目,從整理需求到設計到開發。當然,也不是什麼項目都接,舉個例子,以APP為例,在甲方提供API和視覺稿的前提下,一個端低於2萬的項目從來不接。
做私活掙錢嗎?不掙錢是腦子進水了嗎。尤其對於剛入場的選手,外包收入可以說抵你一年的工資都可以。不僅掙錢,還特別積累經驗,外包項目五花八門,搞地圖的,搞語音的,搞視頻的,搞藍牙的,能幫助初級選手快速成長。
做私活累嗎?相當累。白天黑夜,從無周末。項目一旦接下來,從此進入心事重重的生活,不到最後交付那一刻,不會停緩。周末是最佳的工作時間,平時下班晚的話還做不了,所以幾乎沒有休息時間。
重點來了,到哪裡接呢?
初級選手自己亂七八糟找項目,高級選手項目找上門。做私活一定要找到最佳狀態,不然就是受罪。什麼是最佳狀態,就是當項目找上門時, 想做就做,不想做又想賺就轉。 那麼到底有哪些方法可以接到私活呢?不管黑貓白貓,抓到老鼠就是好貓,有哪些方法我一一說來。
方法1
各個眾包平台。這是入門級的手段,也是最容易做的方法。有哪些眾包平台就不用我一一細說了吧,豬八戒,威客網,CSDN 也有外包頻道,一些技術論壇,海外的 Freelance 網站等等,每個都注冊一遍,前期比較麻煩,各種資料需要填寫,團隊介紹,歷史案例。注冊之後理論上就可以投標項目了,不過如果需要認證的話,還需要繼續花錢,很多項目只有花錢之後才有機會投標,這個就自己評估吧,我沒花錢。通常沒啥好項目,錢哪有那麼容易賺,都是些邊邊角角稀奇古怪的項目。當然,即便是被別人挑剩下來的項目,也不排除有好項目,你要一一去溝通才知道。
方法2
主動聯系各個外包公司,成為他們的備選開發人員。外包公司接單子的手段肯定比我們個人高明多了,他們就靠這個吃飯的,當他們出現人員緊缺、項目過剩、員工離職等情況時,不排除他們會考慮找臨時替補人員,甚至把項目整包轉出去。如果你身邊有朋友開外包公司的,那很好,先天優勢,長期互助。但是大部分人也許並沒有這樣的資源,那麼這就是個體力活了,在方法1的基礎上,部分平台會留下甲方的聯系方式,比如豬八戒,你直接搜索軟體外包服務商,他們的介紹頁面上通常會有他們的手機號碼和郵箱等信息,或者當你點擊「在線咨詢」「與我聯系」等類似按鈕的時候,他們的自動回復也會出現一些QQ號、手機號、郵箱等聯系信息。
這邊我只是以其中一個平台為例,只要你用心,各個平台你都能扒到一些有用的信息。拿到這些信息之後你就可以把你編輯好的話術發給他們,也可以直接加他們微信,通常手機號碼就是微信,不要慫,直接跟他們聯系,打電話、發郵件、發QQ,發微信,把你想要做外包的意圖告訴他們即可,然後就靜靜的躺在他們的朋友圈裡,或者被遺忘,一兩個月問一次好打個招呼,不要太頻繁,這也算是人際關系的維護,看你本領了,多認識點人沒壞處,剩下的就是平淡的等待了,如果他們會聯系你的話。
方法3
跟身邊的開發人員灰度交流。你沒有項目,不代表別人都沒有,如果別人願意帶著你的話,這也算是一個渠道。什麼是灰度交流,就是半含蓄狀態,文章開始我說了,程序員接私活是一個既公開又隱私的話題,不過這個度大家自己把握好,搞不好丟飯碗,把握不好的還是放棄這個方法吧。
方法4
人脈資源。除了從網路上接項目,或者吃外包公司的殘羹冷炙,還有另外一個類別的項目,那就是創業者。在這個互聯網、移動互聯網、物聯網盛行的時代,創業者也是一波接著一波,雖然熱度有高有低,但是從不缺。組建一個公司,組建一個技術團隊需要一筆不菲的費用,尤其軟體開發人員的工資,將成為一個創業公司的沉重負擔。種子投資,或者天使輪投資能有多少,對大多數創業項目來說,幾十萬,一百萬,兩百萬,或者五百萬,基本頂天了,這些錢能維持一個團隊多久,何況還有很多創業者並沒有拿到融資,他們等著先開發一個上線項目,再拿項目去找投資。如果你能接到這樣的項目,那也是很爽的,不過通常這類項目靠熟人介紹,但是你千萬要注意,一定要營造良好的口碑。有條件的話,也可以做套名片,幾十塊錢,夠發好久的。
做私活沒有穩定的渠道,你可能一直找不到項目,也可能一年一個項目,重點是心態,不然你將陷入困擾的情緒當中。有更好,沒有拉倒,找到最舒服的狀態。
當項目來臨時,該如何報價?
價值都是相對的,一定要有自己的心理預期,有些人覺得五千很值,有些人覺得一萬很值。不要飢不擇食,不管多廉價都接;也不要人心不足,吃著碗里看著鍋里,或者覬覦別人的高價。跟對方交談時,一定要快速判斷彼此是否是目標客戶,不要啰嗦太多,你的心理預期是幾萬,對方的心理預算是幾千,這樣的項目還談個啥,務必在最短的時間內確定大家是否可以繼續談下去,否則浪費不必要的時間。如果大家心理預期差不多,對方不是那種想三千塊錢做個淘寶的,則繼續往下進行。有的甲方要求不多,很爽快,這樣最好,有的甲方需要出報價單,那麼就詳細溝通需求,整理報價,整理報價是一個費時的過程,不要嫌麻煩,我們不是服務商,我們是搶食的個體,一定要不怕付出,哪怕一無所獲。
甲方有可能只是來詢價,也可能等你出完報價單再回去比價,還是那句話,不要怕吃虧。如果甲方是個體的話,通常很好弄,但是甲方是商家的話就麻煩一點,一定要問清楚是否要開票,開票是要稅的,不過羊毛出在羊身上,告訴他我們的報價是不含稅的,如果要開票的話要加上稅錢,20萬的話,差不多幾千塊錢,看對方要求開什麼類型的票。開票的話可以自己去稅務局開,不過我沒去過,如果自己認識幾個開公司的朋友的話那是最好,讓他們幫忙開張票,把稅錢貼給他們。
如果你覺的開票你對來說很難實施的話,那麼有三個方案,一是放棄,這樣的單子直接不要接了,繼續尋找下一個單子;二是先接下來再轉包,轉給其它的外包公司做,不過你要估摸好有公司接,有朋友做外包公司那是最好的,相互幫忙,但是這種方案並不推薦,原因是不好把控項目進度和質量,還擔風險;三是把項目介紹給認識的公司去談,談好了你拿提成,這樣你既不擔風險,還賺點快錢。
付款方式該如何確定呢?
切記,必須付定金,越多越好。通常我的付款方式是442,即預付40%的定金,項目提測再付40%,項目上線付清餘款20%,這套方式針對個人比較好用,針對公司不好用,公司通常會留一筆費用在上線後一個月兩個月三個月再付清,所以付款方式可以改成5311,即預付50%的定金,提測30%,上線10%,上線運營一個月後10%,堅持一個原則,前期付的錢越多越好。
接下來就是簽合同了
一般只有個人才可能不要求簽合同,大多數情況還是要簽合同的。合同盡量你來擬定,不會寫的話上網抄,一定要保護好自己的權益,重點是防止被對方坑。比如在合同中一定要寫好適配哪些系統哪些瀏覽器,基於哪個版本開發等等,做得到的就寫,做不到的別亂寫,合同這東西,在心情好的時候怎麼寫都無所謂,心情不好的時候大家只能拿合同說話,你可別賠個十萬二十萬的,嚇死你。
整個接私活的過程差不多就是這樣了,最後,我再強調幾點 注意事項 :
end
⑹ hr面試程序員問什麼問題,程序員在面試的時候的注意事項
01 和優秀開發者溝通
如果你本身沒有編程背景,那就盡量找到一些優秀的開發人員給你指點迷津。
02 問專業的問題
1. 簡要介紹一下你自己以及你最近在做的項目嗎?
作用:這個問題可以讓你更好地了解你的候選人,而談論近期工作能了解他對工作的熱情和奉獻。
2. 其他時間有別的項目要做嗎
作用:鑒於你的項目的時間長短和工作復雜程度,你可能只想找一個能完全投入到這個項目的人。但是很多程序員都會同時兼顧好幾個項目,你要確保彼此雙方的需求是什麼。
3. 你是怎麼看待自己的身份的?開發?產品經理?還是二者都是?
作用:理想的回答一般是『二者都是』, 但是你要認真評估每個候選人可能給你團隊帶來的有利和不利影響。產品經理可以幫助設計新的功能和交互,但是你也需要足夠的開發才能跟上方向從而建構你想要的內容。
4. 你會如何管理一個程序員團隊?
作用:這個問題可以幫你了解候選人的領導能力和風格。
5. 告訴他們公司想要的人是怎樣的。
作用:直截了當地告訴對方你的期望。像工作時間,項目長短,目標等等,這些都是對方很想知道的。就像你評價他是否適合公司一樣,對方也會評價你的公司是否適合他。
03 去合適的地方招聘
你不能指望天上會掉下個好程序員給你,微軟和谷歌的優秀程序員也不會自己蹦到你跟前。你的機會在於,很多這樣的程序員都擁有或追求商業想法。
你可以多去一些網站、活動大賽等地方探索發掘,這比你在社交網站上找到他們的運氣要大得多。
· 編程大賽
編程大賽就是程序員高手們雲集在一起,合作共同完成一個軟體的開發。
猿圈會定期舉辦此類招聘編程大賽,幫助企業挑選優質人才,提高企業品牌僱主形象。
· 開放性源代碼貢獻者
一些網站比如GitHub,提供在線代碼存儲庫, 程序員可以自由對開源項目貢獻自己的代碼。
所以,在招聘之前,你可以先去這種網站上找一找有潛力的候選人。
· 大學
· 軟體開發大會
盡可能多的去參加一些和你的產品相關的軟體開發大會。
· 技術博客
你能根據他們的博客判斷他們的技術技能、解決問題的能力以及寫作和溝通能力。
04 沒通過編程測試,堅決不錄用
你只能記住一條原則,那必須是,沒有讓候選人參加編程測試之前,千萬不能決定錄用與否。
通常情況下,出於項目的緊迫,我們會傾向於選擇看起來靠譜的第一個程序員,但是不拿到他的編程測試結果,不要沖動地下offer。
我也是個不懂代碼的HR,但是我善於利用各種各樣的工具,前段時間發現了一個猿圈測評的工具,我用它測試程序員候選人,通過測試結果判斷是否值得邀約來面試,這個我覺得很贊,你可以試試看