android面試必須會kotlin嗎 java學(xué)習(xí)到什么程度可以拿高薪?
java學(xué)習(xí)到什么程度可以拿高薪?那要看你對高薪的定位了。如果你覺得10k-25k是高薪,那說明你要學(xué)習(xí)一個(gè)中級java工程師的水平。那么你至少應(yīng)該學(xué)會以下兩點(diǎn):首先是基礎(chǔ);比如我對集合類、收縮、IO
java學(xué)習(xí)到什么程度可以拿高薪?
那要看你對高薪的定位了。
如果你覺得10k-25k是高薪,那說明你要學(xué)習(xí)一個(gè)中級java工程師的水平。那么你至少應(yīng)該學(xué)會以下兩點(diǎn):
首先是基礎(chǔ);比如我對集合類、收縮、IO/NIO、JVM、內(nèi)存模型、泛型、異常、反射等都有很深的理解。最好是閱讀源代碼,了解底層設(shè)計(jì)。比如一般面試會問一些諸如ConcurrentHashMap、CopyOnWrite、線程池、CAS、AQS、虛擬機(jī)優(yōu)化等知識點(diǎn),因?yàn)檫@些對于互聯(lián)網(wǎng)企業(yè)來說是絕對重要的。
第二是你要有全面的互聯(lián)網(wǎng)相關(guān)知識;從底層來說,你至少要對mysql、redis、nginx、tomcat、rpc、jms等等有深入的了解。如果你想問你需要知道多少,我可以給你一個(gè)大主意。首先,對于MySQL,需要了解常用的參數(shù)設(shè)置,以及如何選擇存儲引擎。您還需要了解常見的索引引擎,并知道如何選擇它們。知道如何設(shè)計(jì)表,如何優(yōu)化sql,如何根據(jù)執(zhí)行計(jì)劃進(jìn)行調(diào)優(yōu)。
如果你覺得25k以上就是高薪,說明你是高級java工程師或者架構(gòu)師;那么你應(yīng)該在上面兩點(diǎn)的基礎(chǔ)上再加上下面兩點(diǎn):
第一:對于高級級別,你需要設(shè)計(jì)和優(yōu)化子數(shù)據(jù)庫和子表。一般互聯(lián)網(wǎng)公司的數(shù)據(jù)庫都是讀寫分離的,會進(jìn)行縱橫拆分,所以這個(gè)體驗(yàn)的成分也在其中。然后redis幾乎是必備技能,nginx和tomcat幾乎是JAVA互聯(lián)網(wǎng)必備。至于rpc,要做的事情很多,各種網(wǎng)絡(luò)協(xié)議,序列化技術(shù),SOA等等。你應(yīng)該深有體會。目前國內(nèi)廣泛使用的rpc框架是dubbo,spring cloud相關(guān)的技術(shù)棧是開源的,可以自行搜索。至于jms,你至少要懂原理。一般來說,不喜歡的人。;不專門開發(fā)中間件系統(tǒng)和支持系統(tǒng)。;我不需要知道太多的細(xì)節(jié)。activeMQ和kafka是國內(nèi)企業(yè)常用的。你能跟我說的都研究過了,阿里p7問題不大。
第二:編程能力,編程思路,算法能力,架構(gòu)能力。首先我覺得2W程序員對算法的要求還是比較低的,最高級的是紅黑樹,但是排序和查詢的基礎(chǔ)算法還是不錯(cuò)的。編程思路是必須的。請教各位關(guān)于AOP和IOC的問題。你至少應(yīng)該清楚。你不 不要說你用過每一種設(shè)計(jì)模式,但是你也可以理解幾種。我不 我不認(rèn)為它 評估編程能力很容易,但這很難。;讓一個(gè)2000W的用戶按姓名和年齡排序很容易。最后是建筑的能力,這不是據(jù)說如果你想設(shè)計(jì)一個(gè)更強(qiáng)大高并發(fā)的系統(tǒng),至少讓你做一個(gè)秒殺系統(tǒng),你必須有一個(gè)清晰的思路和方向。
混日子的程序員,現(xiàn)在想工作了。不知道選java還是C#?
我和你一樣,14年畢業(yè),第一次來南京。當(dāng)時(shí)筆試面試的是java,結(jié)果進(jìn)了ERP。十個(gè)月后,我去了裸辭,然后去了一家國企,開始c#CS的開發(fā)。要知道,我的c#真的不如java,因?yàn)槲以谥暗墓咀鲞^一個(gè)c#項(xiàng)目,在這家公司工作了一年半?,F(xiàn)在我 我打算辭職,轉(zhuǎn)到j(luò)ava。大概是從零開始,我知道c#還不錯(cuò),但是我的cs太有限了,市場不是很好,三年是工作的門檻,所以我們都要把精力放在職業(yè)發(fā)展的方向上,不然就來不及了。