一名架構師想成功進入BAT等一線大廠,應該掌握哪些技術能力呢?



畢業(yè)之后,去大公司還是小公司一直都是飽受大家爭議的話題。朋友小A最近想跳槽大公司,可是很難。他說:在小公司,一直都是自己摸索,走了太多彎路。在小公司里混日子感覺自己都快廢了,后來沉下心來決定作出改變,卻發(fā)現(xiàn)自己進不去大廠。今天,小編整理多名企業(yè)架構師跳槽者、企業(yè)管理高手總結出如下9招,相信你若把這幾點完全“吃透”,你就會在任何企業(yè)“落地生根”而開花結果!

1566791500.jpg

第一招、做人低調(這一招最重要)!

無論是什么“資”質的企業(yè),只要是在中國的土地上,做事就永遠不是外國的那種“法、理、情”,而是需符合中國國情的“情、理、法”——“情”永遠擺在第一位!所以進入一個新企業(yè),你要徹底地放低自己的身架(不是“身價”,“身價”只能靠結果來證明的)

 

第二招、多做自我反省。

無論你做的事、或說出來的話,當別人誤解時,你都不能說“你怎么是個這樣的人”、“你是不是有病啊”、“你腦袋正常點好不好”?你應該說“哦!我是不是沒交待(或沒說)清楚?我再說清楚一下吧,我的意思是……”。他如又曲解,你就再如此說!總之你要多從自身找原因:一切都是你的錯——是自己水平“不夠”才導致了對方誤解、曲解、歪解,才導致了別人做錯!如此,就算對方想說你的“不是”,讓他也找不到“理由”!

 

第三招、尊重新企業(yè)的原管理模式(也可說是企業(yè)文化)。

你要知道:企業(yè)管理是沒有絕對正確與錯誤之分的,管理只存在“適不適用”的問題:能適用的就是“好”的,不適用的就是“錯”的!

 

第四招、改革必須是“自下而上”進行。

現(xiàn)在很多跳槽者到新單位發(fā)現(xiàn)“問題點”后,針對這些問題點的解決措施,他們就只想“自上而下”推行,即:首先,而且是只與頂頭上司(含老板)直接溝通,以為只要上司點頭認可就可以推行,就可以實現(xiàn)自己的目標,如此就能體現(xiàn)自己的“價值”了!而根本就沒想到:就算上司認可了你的說法,但當你在推行時,一旦你底下有人不滿意而成為你的“阻力”(這時你如果想靠你自己去排除這個阻力是有點不可能的了)時,你就會去請求你的上司協(xié)助(或出面協(xié)調)。

 

第五招、控制自己永遠“不生氣”,無論怎樣,都要控制好自己的脾氣!

工作上的問題,只能是一種同事間的相互影響!只能通過溝通、了解、商量及討論去解決!而不能夾進自己的個人喜好——你沒有理由去要求別人來依你的個性去工作,所以你有什么理由生氣?

【有一句話可送給你:狗咬了你,你能再去咬狗嗎?以此來提醒與鞭策自己吧!】

掌握了基本做人的八招,最后一招就是你的“硬功夫”了

啥都不會,憑什么跳槽?

 

大廠面試對技術的考核基本分為三個層次:對于基礎知識的考核、對于項目經(jīng)驗的考核、對于項目深度的考核。

a.基礎知識主要考核你對 Java 語言本身原理的理解以及各種框架的原理理解。知識點包括但不限于:

集合 HashMap 的原理,與 Hashtable、ConcurrentHashMap 的區(qū)別?

Java 線程池的核心屬性以及處理流程

Java 并發(fā)包原理、Synchronized關鍵字、鎖

線程的生命周期

JVM類加載機制

JVM內(nèi)存模型

JVM分代以及垃圾回收機制

Spring Bean 容器生命周期

Spring AOP 原理

Dubbo 請求流程以及原理

數(shù)據(jù)庫 SQL 優(yōu)化、數(shù)據(jù)庫索引、索引原理

……

面試官一般都會針對簡歷中描寫的知識點刨根問底,不懂的技術千萬不要寫了解。前段時間參加技術沙龍,京東架構師張開濤、騰訊高級工程師劉澤峰都表示大廠招人現(xiàn)在更注重技術能力的細分板塊,你必須在某領域有自己獨到的理解。

b.項目理解一般會讓你畫個架構圖,然后從架構圖出發(fā),你得清楚每個模塊的作用,每個框架的原理以及與其他框架的區(qū)別。是否有能拿得出手的項目,并對其原理了如指掌,很大程度關系到你能否通過這次面試。

c.項目思考深度在這一個層次上考核的是你對開源框架的思考深度,這些框架到底好不好,好在哪里,不好在哪里,有什么可以改進的地方。你不僅要對項目本身理解足夠深刻,還要跳出項目本身,去思考開源框架本身的問題。

那么要想成功進入BATJ等一線大廠,應該掌握哪些技術能力呢?

 

1、要具備扎實的Java基礎

這里所謂扎實的Java基礎不是我們通常所理解的Java語法、面向對象的概念,而是能深刻理解Java的多線程開發(fā),熟練使用NIO技術優(yōu)化網(wǎng)絡編程,了解JVM的底層機制,具備底層性能調優(yōu)的能力,這些技能恰恰是Java開發(fā)人員往往忽略的基礎。

 

2、深入學習常用開源框架

為什么BATJ的面試官總是喜歡問源碼?其實我們常用的Spring、MyBaits這樣的框架可以說是JAVA里面最經(jīng)典的教科書,從中你能學習到很多寫代碼的經(jīng)驗技巧,而去悟開源框架中蘊含的優(yōu)雅架構設計之道這才是最重要的。

 

3、高性能分布式系統(tǒng)設計與應用

根據(jù)雙十一日志統(tǒng)計,前端系統(tǒng)有效請求約60w以上的QPS ,而后端cache的集群峰值近2000w/s、單機也近30w/s,互聯(lián)網(wǎng)大廠的架構師面對的就是這樣的生產(chǎn)環(huán)境,所以分布式、緩存、消息這樣搭建高性能系統(tǒng)的技術必須掌握。

 

4、微服務(分布式服務技術)

微服務架構是一種架構風格,整個應用被劃分并設計為以業(yè)務域為模型的松散耦合的獨立服務,方便橫向擴展能力、伸縮性強、便于開發(fā)和維護等等這些是微服務與生俱來的優(yōu)勢。

 

5、溝通合作的能力

程序員的戰(zhàn)斗,往往不是一個人的戰(zhàn)斗,我們?nèi)绾卧谝粋平臺下高效的去重,進行代碼review,對功能進行調整、debug,做到在統(tǒng)一的規(guī)劃下步步為營,混亂的堆代碼的過程中找到自己的記錄。這一切都依賴于有效的工具,Git、Maven和jenkins。

以上就是成為一名架構師需要掌握的所有技術要點,希望能夠對大家能夠有所幫助!

北大青鳥網(wǎng)上報名
北大青鳥招生簡章