現在1w-1w5的工作對程序員的要求是什麼?

現在人在二線城市工作,做java一年左右,15年6月畢業,期望明年過完年去杭州或者廣州發展,有一些困惑請大家指點迷津。

首先是覺得想學或者說需要學的東西太多了,不知道從何學起。因為本身不是計算機專業,計算機底層不是很了解。看了很多回答,覺得有必要補一下數據結構演算法,操作系統,網路之類的基礎知識。但是很多公司又需要你會使用各種框架,現在每天晚上回家都是在學習一些框架的使用。mybatis,springmvc的使用,spring的原理,看看spring的一些源碼。看一些博客,學習一些java web從啟動到運行的原理。學習redis之類的緩存,有些招聘還有sql優化,存儲過程之類的要求。東西太多,已經不知道要怎麼一個學習順序,到底需要學習底層知識,還是資料庫,框架的使用呢?

現在想了解的就是杭州java 1w-1w5的工作,大致需要什麼樣的技能,筆面試的時候,考察的是哪些內容。tcp三次四次這一類的基本會問,那java基礎類庫呢?會不會問高並發,框架原理,緩存,web性能優化之類的問題?現在煩惱的就是不知道往哪方面深入學習。


如果你比較擔心的話,不如去附近的蘇州。微軟1w到1w5的工作,要求只有兩個:

1、任何SDK和語言都可以按需學會,不需要明白專業的知識(譬如說什麼是racing condition)

2、在不懂的時候可以隨便問,只要最後能把代碼寫出來


一年java不好找,JavaScript 還可以考慮一下


目前稅前14k 上海 給題主一些信息參考一下

1.筆試 這個不是走過場,這個直接影響到公司對你的評級,我筆試被評定為第三級,底薪8k

2.職業補貼,根據不同的開發崗位,補貼不同,我應聘的android開發是5k這個檔位

3.其他學歷,英語(雅思6.5)亂七八糟的,再加一些最後定的14k

4.兩輪面試:技術面不會再直接問筆試的問題,對我來說最難的有兩塊,一是面試官給我看一個他們app的效果,然後問是如何實現的,中間他會拋一些異常讓你口頭快速處理。。第二是問你過去的項目,做過最複雜的功能(我說的一個比較複雜的自定義視圖,中間怎麼避免重繪的問題),然後被追著問原理,一直問到說不出來為止。。。

總體來講我覺得最重要的是兩塊

1 對於基礎知識的理解深度

2碰到不會的問題,有沒有分析能力

3溝通能力

先說這些吧

==============================

更新一些針對如何做項目,需要掌握哪些技能的理解

1、項目:對於在校學生來說,因為我不是計算機本科,只是輔修了計算機,當時自己在學校也做過一些項目,我個人感覺,要做出漂亮(界面邏輯清晰,運行穩定)的應用來找工作是比較困難的事情。對我來說,難點有兩個:1、針對業務的編程技巧,2、管理大量代碼的能力。

1、針對業務的編程技巧:業務開發最重要的要求的是快速和穩定,保證這一點,需要有良好的代碼習慣(打字之前我的習慣是先把一個功能的流程邏輯圖畫出來,反覆確認沒有問題再開始敲),以及對於java各種自帶庫的掌握,這些工具能很大程度上加快你的代碼速度並且保證少犯錯誤,後面我會整理一些常用的列出來;

2、管理大量代碼的能力:再強調一遍,我不是計算機本科專業,在學習編程的時候,大部分的toy app都在200-300行左右,一上來就要應對一個2000+行代碼的類肯定是懵逼的,還好,市面上有一些流行的解決方案,能把這些問題分而治之。對於安卓來說,比較流行的框架就是mvp,mvc,可以針對這兩個框架進行深入的學習,再用框架的思維來設計自己的軟體,並且給自己一個充足的周期(一年左右),來完成第一個10000+行代碼量的程序

安卓方面我工作中用的比較多的技能

1、javase:

基礎:各種集合,Collections工具類,反射+註解的套路(這個設計框架時很有用,並且現在安卓一些基礎的功能要通過反射來調用了。。)

多線程工具類:並發集合,ThreadLocal(這個先放在這。。吧),線程池Executors(非常重要),reentrantlock(synchronzie當然也行,只是效率好像沒有互斥鎖高)

加密:MD5工具類,Cipher工具類(RAS,AES是我用的比較多的),Base64工具類

網路類:HttpUrlConnection(是java的嗎我忘了)

2、安卓開發用的到技能

安卓用的東西就非常多且雜了。。我大概整理一些比較重要的,這個有興趣的朋友可以經常關注一下谷歌教程上的博客,開源中國,推酷,掘金,csdn等等等等來學習

一定要先把API GUIDE里的內容摸透

網路:Retrofit,httpClient(老版本安卓在用,新版本要添加依賴)

圖片:Glide, Fresco(載入大圖不會oom), Picasso

消息通訊:EventBus

黑科技:RxAndroid

第三方:支付寶微信銀聯SDK(支付流程其實都差不多),地圖sdk(百度,高德),影音回放sdk(Vitamio)

熱修復技術(已然忘了),微信的Tinker?不過還沒用過

多渠道打包技術

這些東西多且雜,但總體上是比較好用的,學習成本也不高

另外就是不斷學習吧,安卓的迭代速度很快,谷歌這條大腿一直在研究怎麼讓app更容易開發,並且更漂亮,跟著谷歌有肉吃

還是第一次把腦子裡的東西整理出來,希望對大家有幫助


2017-12-29補充

1.JDK源碼掌握,部分內容能夠了解到操作系統層面,涉及包:java.lang, java.util,http://java.io,java.nio

比如,volatile關鍵字在操作系統層面是怎麼實現的

2.熟悉並發多線程,J.U.C(java.util.concurrent)下的所有類的源碼能夠掌握,並且了解其中的機制,如CAS是怎麼實現的

3.熟悉網路和IO,包括NIO,能夠了解其中的一些問題和如何避免

4.資料庫層次,如mysql的底層是如何實現的,各種事務和SQL優化

5.JVM,詳細深入掌握

6.各種設計模式

7.有讀過一個甚至多個大型框架的源碼

2016-10-11補充

其實還有很多需要學習的地方

1.數據結構和演算法

2.計算機原理

3.計算機網路

4.編譯原理

5.操作系統

上面都是計算機學生大學都會學的東西,不做具體深入

還有一些JAVA相關的

1.SSO單點登錄原理

2.許可權驗證(框架shiro)

3.日誌框架(個人建議slf4j)

還有網路攻防這些,你只有知道漏洞在哪才會知道怎麼在自己的代碼里避免

給打架推薦一個個人覺得可以的乾貨博客

Java工程師成神之路~-HollisChuang#x27;s Blog

-----------------------------

補充,我說開20,不是說你真的可以拿20,努力提高自己,遲早可以拿到20的

可以肯定的一點,我說的你都會,北上廣10-15開的到

------------------------------

補充,輪子哥說的是蘇州微軟,好吧,高大上的公司,一般屌絲進不去吧

-----------------------------

@vczh

先否定一下輪子哥,蘇州10k+的「好工作」不好找,請注意,是好工作

個人認為好工作是,公司為非外包公司,加班不多,除非緊急任務正常雙休,團隊技術氛圍好,能學到很多新東西,成長空間大。

回到正題

樓主明年也就是1年半經驗

正常公司對於這樣的人要求不會太高滿足一下個人覺得10沒任何問題

1.Java基礎,包括"高級"特性,反射,並發包內容

2.基本框架的使用Springmvc mybatis

3.緩存的使用redis,memcached

4.rpc框架的使用,hessian,Dubbo

5.一些常用的設計模式

6.了解spring的最基本的特性aop和ioc

7.掌握一種或多種資料庫的使用mysql或者oracle

8.掌握一種或多種網站架構(把你當前公司的架構了解就行了)

9.會使用maven,svn,git

下面是加分項

1.讀過一種或多種主流框架的源碼,典型的spring,mybatis,hibernate

2.對資料庫的特性有了解,甚至有sql調優經驗《高性能Mysql》

3.對jvm調優有一定的了解《深入理解java虛擬機》

4.對一些架構有一定的了解《大型分散式網站架構設計與實踐》《架構探險》

5.會使用spring-boot(官網)

6.了解近幾年很火的兩個架構設計rest和微服務

7.對於redis的設計有很好的了解《redis設計與實現》

8.對於docker有一定的了解

9.對於消息隊列有很好的使用經驗

10.了解java8的新特性(網上資料很多 )

11.對於rpc有很好的了解,最好能造出簡單的輪子(網上此類博客很多)

暫時就想到這麼多

補充一些圖書(基礎性的圖書就不列了)

《java並發編程實戰》

《java8實戰》

《effective java》

《從paxos到zookeeper》

《java與模式》

《Spring源碼深度解析》

《Spring技術內幕》

《重構 改善即有的代碼設計》

《Servlet與jsp核心編程》

--------------------

還有一本新人面試寶典

《你必須知道的261個java語言問題》

當然啦,你要是Github有star非常多的輪子,那麼我覺得你20K都能開,最後給不給是另外一回事


說一下我的經歷吧,今年七月份來的魔都,現在在一家互聯網公司,7.5K。算是比較幸運的。本人今年剛剛二十,六月份武漢某大專畢業。不要打我。

大一算是混過去的,但是沒曠過課,沒掛過科。人比較怕死,不喜歡麻煩人。大二開始自己看視頻,看書自學擼代碼。寫了一些小的項目,自己弄著玩,沒想到校招的時候挺好用的。然後順利的過了筆試面試去了一家公司實習,學習了一個月公司的業務。然後就被派到南京做外包,當時想著,包住還有補貼,還能學到東西,挺好,完全沒想到外包的累,叫我做什麼就做什麼,畢竟是第一家公司,算是帶我入門。幹了半年。

然後辭職了去了第二家公司,幹了四個月了。覺得武漢的氛圍和北上廣還是有差距。正好當時第二家乾的也不爽,就和一做前端的哥們一起,裸辭到上海來了。當時心裡也害怕吧,別人都說上海不收菜鳥,技術不好不要來上海,活都活不下去,但還是腦袋一熱就來了。

面試時問了一些,並發,資料庫優化,存儲過程的優缺點,EF 的優缺點,面對一個用戶數日益增長的網站,怎麼從伺服器和代碼兩部分去優化。以前的項目負責哪兒塊。然後現場出個問題,看你的回答思路是怎麼樣的。可能小弟回答的正好對面試官的味。有些問題沒有回答出來,有的感覺回答的還是不錯的。於是讓我通過了,現在在這家公司乾的挺好的,加班也不是很多。還是挺感謝的,讓我這個大專生在上海生存下來了。工資還在入門的範圍里


我最近正好在給團隊招募中級和中級+程序員,坐標北京,薪資範圍正好就是10-15k。

簡單說一下需求,對數據結構有一定了解,例如知道hashmap原理;arraylist和linkedlist的差異,以及這些差異帶來的特性;二叉樹的相關問題。這個如果表現比較好,會有較多的加分

接著是演算法,二分法,快排等,以及性能對比

然後就是一些語言特性,多線程,並發,從內存模型的角度解釋一下並發問題

還有存儲,mysql相關問題,redis,mongodb,如果懂點kafka,zookeeper,flume,elasticsearch就更好了

最後考量項目經驗,如果做過分散式高並發的項目可以加分,會問問過往項目的架構設計等等。

以上問題能答出80%,就算是摸到高級程序員的門檻了,15k毫無壓力,18k也盡可以一試。答出一半可以拿到10k,如果有某項一半都答不出,那就抱歉了


來簡單說下我的經歷吧!

本科非計算機專業,混了四年也就會一點點c語言,考研調劑陰差陽錯誤入計算機,忽然發現擼代碼還挺有意思。結合本科那少之又少不知道能不能成為基礎的基礎,研一期間自學嵌入式,拿著開發版玩了半年,因為沒有實際工程需求而自己又不是技術大神,老闆又不怎麼管,沒多久就成老油條啦。綜合起來看,研一也就學了使用Linux,和一丟丟Arm相關的皮毛。

研二偶然獲得去某研究所參與項目合作的機會,回頭看,二十幾歲真能遇到改變你一生的貴人。扯遠了,當時一個學弟兩周寫的代碼愣是一個月沒看懂,基礎之差和內心之崩潰可見一斑,好在熬完頭一個月會一點點東西啦。之後應該是努力奮進的故事吧,可能要讓你失望啦,我說了只覺得擼代碼有點意思但真的沒有刨根問底的精神,在一個月之後又混成了老油條,捂臉,逃。

這個項目前後持續了半年,最終在坑蒙拐騙無所不用其極之後終於完成交接,哎,又坑國家一筆錢,自己最大的收穫可能是Linux使用熟悉了一點,能擼幾行代碼,算是入門了吧!

研三開始找工作,在糊裡糊塗一面阿里,百度,網易遊戲,京東後,終於清醒意識到基礎知識有多爛,不對,百度面了三面,是他們沒招夠復活賽去面的,而且不是研發崗。有人可能會說能過這幾家筆試說明基礎還不錯,只想說有一個虎一樣的隊友打輔助是多麼的重要。在頂級互聯網被刷之後開始看基礎知識,當時時間有點晚就劃重點惡補一些,再加上每次面試有不會的,到校招晚期的時候可能又會點皮毛啦!

在忽悠和被忽悠後最終拿到幾個offer,最後選擇某二線城市,加上一些福利,正好是10到15k。也許是好工作,公司為非外包公司,加班不多,正常雙休,團隊技術不好說,看別人代碼之後開始模仿然後堆業務邏輯,至於能否學到新東西就看個人覺悟啦!

說了一大堆廢話之後,我也不知道10到15k需要什麼樣的能力,找工作本身就有運氣成分。最後感謝國家,感謝黨,有幸站在互聯網的風口!


現在工資都那麼高嗎?我也一年多經驗,計算機專業的,目前做Android的,現在在廣州某國企才6k,過去一年裡還大部分時間在加班,身邊華中科技,武大,哈工大畢業的研究生也都沒夠10k,看來我也該跳槽了。。。


作為今年剛拿到阿里offer的應屆生答一發。

面試官會問到的問題除了一些基礎題,主要還是圍繞你的項目來問的。

基礎題包括哪些?基本上就是網上面經提到的。不過題主是社招,所以最好看社招的面經。因為校招和社招的要求不太一樣。(主管告訴我的)

校招看重基礎,項目是加分項。社招更看重項目,以及你解決問題的能力。所以一定要好好準備項目,圍繞你是怎麼解決項目中遇到的難題和額外的思考。

最後,面試中表現出對技術的熱情是加分項,這是你在平時的積累中可以表現出來的,一般面試官也會拐彎抹角試探。

總之,面試有套路,圍繞項目的幾個方面做重點突破,表現出自己的能力就行了。要讓面試官跟著你的思路走,前提是你已經準備好了思路,這就取決於你的平時的積累和準備了。


1w-1w5的工作這年頭不好找啊

畢竟,只要會寫helloworld就能拿個2w的offer

開這麼低工錢的崗位真不多了


互聯網就別去二線城市了……今年校招BAT批發價本科11-13k,碩士13-15k,package23w都算是渣offer。小公司只高不低,像猿題庫今日頭條給應屆生的package開到了35w+,上不封頂,商湯更是聽說去年的批發價都是40w起,令人咂舌。所以……來北京吧


貌似只要雙手健全,在大城市當碼農至少這個工資吧


坐標杭州,也是畢業做了一年java,半年前有和你一樣的疑問.

我的建議是計算機基礎過一遍課程或者入門書就可以了,框架可以深入些.重要的還是做過什麼東西和對用到的技術的掌握程度吧.然後目標訂到1w5-2w5吧, 1w-1w5之間的offer要求實在太簡單.

還有一個建議,java後端入門門檻太低,技術體系太成熟.大專畢業培訓完干兩年工資就1w5了(陳述事實,不是看不起大專),還是轉到門檻高點技術相對新一點的方向吧.比如需要點數學基礎的機器學習或者這幾年發展比較迅速的雲計算.

最後一個建議,一個人的命運啊,除了個人的奮鬥,還要考慮歷史的行程.廣州不了解,杭州的話,電商和互聯網金融是比較重點的方向,挑工作的時候要考慮這些因素.


1. 首先,數據結構和演算法,要熟練。排序,樹,隊列,堆棧,動態規劃... 諸如此類。

2. 開發語言,至少精通一種,熟悉多種。越多越加分。熟悉,是拿來就能幹活。

3. 如果數學好,額外加分。這一塊要在簡歷里想辦法體現出來。

4. 項目經驗,也就是實際幹活經驗,在多樣性+深度上都要有,越多越好,越深越好。

5. 在工作上,要態度合適,容易相處...這很重要。

上述五項,需要在指標上做平衡,時間有限,不可能都很好...


應屆,主語言Python,除了Py別的都是能看動代碼寫不出來的水平~~~坐標北京,13k/mon.已經水了一個月了,最後兩天實在沒事幹,就是去公司上網的.結果看我太閑,老大給了個任務.得,國慶假期名存實亡,不說了,遍地找論文,敲打碼.哭啊~~~~~~


北京的話很熟練的寫最基本的增刪改查就行


校招把Hashmap底層實現原理,GC,類載入機制回答出來了,要不到深圳7K的offer,

求職中,來個大哥收我簡歷啊~只要發展好工資待遇好說啊


嗯,前端這塊比較缺,給的工資也挺高。有很多也是瞎貓碰上死耗子,工資虛高!


研究生屬性自帶兩年工作經驗。

一般計算機的研究生出來肯定這個價或者超過這個價。

本科生可能達不到,不過本科生可以工作兩年在這樣。


it行業待遇確實好。。。


推薦閱讀:

CS 專業未來幾年的前景如何,你怎樣看待?
為什麼解壓縮文件時往往需要先解壓縮到系統盤裡的臨時文件夾下,然後再複製到目標文件夾?
跨專業考哈工大計算機研究生應該怎樣準備?
歷史上最有名的電腦密碼是什麼?
Intel 14nm Core M 的發布意味著什麼?

TAG:程序員 | 編程 | 計算機 | Java | 工作 |