畢業之后,去大公司還是小公司一直都是飽受大家爭議的話題。朋友小A最近想跳槽大公司,可是很難。他說:在小公司,一直都是自己摸索,走了太多彎路。在小公司里混日子感覺自己都快廢了,后來沉下心來決定作出改變,卻發現自己進不去大廠。今天,小編整理多名企業架構師跳槽者、企業管理高手總結出如下9招,相信你若把這幾點完全“吃透”,你就會在任何企業“落地生根”而開花結果!
第一招、做人低調(這一招最重要)!
無論是什么“資”質的企業,只要是在中國的土地上,做事就永遠不是外國的那種“法、理、情”,而是需符合中國國情的“情、理、法”——“情”永遠擺在第一位!所以進入一個新企業,你要徹底地放低自己的身架(不是“身價”,“身價”只能靠結果來證明的)
第二招、多做自我反省。
無論你做的事、或說出來的話,當別人誤解時,你都不能說“你怎么是個這樣的人”、“你是不是有病啊”、“你腦袋正常點好不好”?你應該說“哦!我是不是沒交待(或沒說)清楚?我再說清楚一下吧,我的意思是……”。他如又曲解,你就再如此說!總之你要多從自身找原因:一切都是你的錯——是自己水平“不夠”才導致了對方誤解、曲解、歪解,才導致了別人做錯!如此,就算對方想說你的“不是”,讓他也找不到“理由”!
第三招、尊重新企業的原管理模式(也可說是企業文化)。
你要知道:企業管理是沒有絕對正確與錯誤之分的,管理只存在“適不適用”的問題:能適用的就是“好”的,不適用的就是“錯”的!
第四招、改革必須是“自下而上”進行。
現在很多跳槽者到新單位發現“問題點”后,針對這些問題點的解決措施,他們就只想“自上而下”推行,即:首先,而且是只與頂頭上司(含老板)直接溝通,以為只要上司點頭認可就可以推行,就可以實現自己的目標,如此就能體現自己的“價值”了!而根本就沒想到:就算上司認可了你的說法,但當你在推行時,一旦你底下有人不滿意而成為你的“阻力”(這時你如果想靠你自己去排除這個阻力是有點不可能的了)時,你就會去請求你的上司協助(或出面協調)。
第五招、控制自己永遠“不生氣”,無論怎樣,都要控制好自己的脾氣!
工作上的問題,只能是一種同事間的相互影響!只能通過溝通、了解、商量及討論去解決!而不能夾進自己的個人喜好——你沒有理由去要求別人來依你的個性去工作,所以你有什么理由生氣?
【有一句話可送給你:狗咬了你,你能再去咬狗嗎?以此來提醒與鞭策自己吧!】
掌握了基本做人的八招,最后一招就是你的“硬功夫”了
啥都不會,憑什么跳槽?
大廠面試對技術的考核基本分為三個層次:對于基礎知識的考核、對于項目經驗的考核、對于項目深度的考核。
a.基礎知識主要考核你對 Java 語言本身原理的理解以及各種框架的原理理解。知識點包括但不限于:
集合 HashMap 的原理,與 Hashtable、ConcurrentHashMap 的區別?
Java 線程池的核心屬性以及處理流程
Java 并發包原理、Synchronized關鍵字、鎖
線程的生命周期
JVM類加載機制
JVM內存模型
JVM分代以及垃圾回收機制
Spring Bean 容器生命周期
Spring AOP 原理
Dubbo 請求流程以及原理
數據庫 SQL 優化、數據庫索引、索引原理
……
面試官一般都會針對簡歷中描寫的知識點刨根問底,不懂的技術千萬不要寫了解。前段時間參加技術沙龍,京東架構師張開濤、騰訊高級工程師劉澤峰都表示大廠招人現在更注重技術能力的細分板塊,你必須在某領域有自己獨到的理解。
b.項目理解一般會讓你畫個架構圖,然后從架構圖出發,你得清楚每個模塊的作用,每個框架的原理以及與其他框架的區別。是否有能拿得出手的項目,并對其原理了如指掌,很大程度關系到你能否通過這次面試。
c.項目思考深度在這一個層次上考核的是你對開源框架的思考深度,這些框架到底好不好,好在哪里,不好在哪里,有什么可以改進的地方。你不僅要對項目本身理解足夠深刻,還要跳出項目本身,去思考開源框架本身的問題。
那么要想成功進入BATJ等一線大廠,應該掌握哪些技術能力呢?
1、要具備扎實的Java基礎
這里所謂扎實的Java基礎不是我們通常所理解的Java語法、面向對象的概念,而是能深刻理解Java的多線程開發,熟練使用NIO技術優化網絡編程,了解JVM的底層機制,具備底層性能調優的能力,這些技能恰恰是Java開發人員往往忽略的基礎。
2、深入學習常用開源框架
為什么BATJ的面試官總是喜歡問源碼?其實我們常用的Spring、MyBaits這樣的框架可以說是JAVA里面最經典的教科書,從中你能學習到很多寫代碼的經驗技巧,而去悟開源框架中蘊含的優雅架構設計之道這才是最重要的。
3、高性能分布式系統設計與應用
根據雙十一日志統計,前端系統有效請求約60w以上的QPS ,而后端cache的集群峰值近2000w/s、單機也近30w/s,互聯網大廠的架構師面對的就是這樣的生產環境,所以分布式、緩存、消息這樣搭建高性能系統的技術必須掌握。
4、微服務(分布式服務技術)
微服務架構是一種架構風格,整個應用被劃分并設計為以業務域為模型的松散耦合的獨立服務,方便橫向擴展能力、伸縮性強、便于開發和維護等等這些是微服務與生俱來的優勢。
5、溝通合作的能力
程序員的戰斗,往往不是一個人的戰斗,我們如何在一個平臺下高效的去重,進行代碼review,對功能進行調整、debug,做到在統一的規劃下步步為營,混亂的堆代碼的過程中找到自己的記錄。這一切都依賴于有效的工具,Git、Maven和jenkins。
以上就是成為一名架構師需要掌握的所有技術要點,希望能夠對大家能夠有所幫助!