如何成為一個內力深厚的程序員?正確的補充計算機基礎知識?
今天上午面試了國內某家准一線互聯網公司,接著...
本人本科微電子專業,畢業三年,畢業後半路出家,接觸了不少移動端的開發,H5, iOS, Android, Unity3D,業務能力感覺中等吧,交給我的項目基本保質保量完成。今天面完以後,可以說是比較沮喪了,各種計算機基礎知識,c/c++,內存管理,多線程,網路協議,其實在過去的三年內這些東西自學了不少了,面對絕大多數公司的這些問題的面試,自認為回答的都不錯,然而今天受到了不少的打擊,面試官直接當面說基礎知識不符合公司的要求,這讓我內心到現在不能平靜,客觀講作為一個半路出家的程序員這三年一直在努力,emmm……唉……,現在下決心從頭開始,要把內功修鍊好,希望各位大咖們,給些意見,學習順序,推薦資料,書,等等……拜謝!完成我內心埋藏的技術大咖夢~
我也不是正統的科班出身,大家都是一路摸索過來的。
我的學習方法就是看書。逛技術博客論壇是學不到知識的,因為太碎片化不系統。
給你推薦些書(選書很重要,一定不要買國產的)
《深入理解計算機系統》
《演算法導論》
《Unix環境高級編程》
這三本是基礎中的基礎,一定要看完。
完了以後可以根據方向和愛好選看計算機圖形學、資料庫、編譯原理、面向對象設計、機器學習等方面的書。
加入勃學
我看你這三年是假努力
另外看書得來的對多線程、內存管理、演算法真的有用嗎?
所以,一定要:多動手、多動手、多動腦!一個計算機本科生來答,大三狗目前工作方向是web
實名反對某答案,演算法導論一個非專業的人,能看懂?我表示我學完離散數學,數據結構,基本演算法都不能懂,第一本書就去看演算法導論的你怕是五道口職業技術學院的吧技術上學好一門語言是很重要的,沒有語言基礎能力在怎麼深厚都不行,可以學java.cpp等然後就可以去找到工作的方向
專業課上,絕對是數學,如果你想走的遠沒有數學絕對不行 ,大學路線
1線代 2離散 3數據結構 4演算法 1計算機網路 4計算機組成原理 5操作系統 5編譯原理 6體系結構 以上絕對是內功,而且循序漸進,不然書都看不懂直接看演算法導論的大神,我直接給你跪下,有這樣的智力和數字功底為啥還要轉來做程序員?按照應屆畢業生的標準,基礎知識就是本科那幾門課程了吧。操作系統,網路,組成原理,編譯。數據結構與演算法感覺已經超過基礎的範疇了。公司大多會考一些擴展的演算法而不是基礎的。關於語言的話看你使用什麼了。c++相比其他需要要求要高一截。而且拿c++當第一語言的科班出身居多。另外一些大公司會考一些數學題,類似腦筋急轉彎那種,比如概率論,和博弈論的題。再細分的話跟崗位有關了。不過你都畢業三年了,也應該有個一技之長吧,跟應屆生比基礎你沒優勢啊,你的優勢是工作經驗啊。我建議你選一個方向走到黑,不要學來學去的,沒那麼多精力。你搞移動端就集中精力搞一個。前途來看的話感覺unity最有前途。說實話感覺客戶端都沒啥前途,趁早轉後端。
推薦閱讀:
※SQL如何實現1-1,1,1-2-1,2-1,2-1-2-3,1-3,10-1這樣的排序?
※經常有人發錯 SQL 的發音,如何華麗麗的引導糾正他們又不失優雅?
※C# 初學者適合看《Ecma-334》來入門嗎?
※ASP.NET ADO.NET 和C#編程語言他們之間的關係是怎樣的?