1. 程式人生 > >程式設計師為什麼要想盡辦法,都要進BAT?

程式設計師為什麼要想盡辦法,都要進BAT?

標題可能就有人忍不住想噴:切,我就不想去!去的都是虛榮心強的人,不就是刷刷簡歷,鍍鍍金嗎!

在這裡,我告訴你就算是刷簡歷,那也是一種經歷,既然是經歷必然就有可取之處。

首先,人家日均動輒百萬千萬的pv,可不是小公司能比擬的。再小的問題,也很容易快速地暴露出來,問題多了,自然就形成了經驗,經驗多了,自然就形成了規範。

其次,人家專案的釋出流程,都會經歷幾大階段,和無數番測試蹂躪,確保專案的上線質量。而小公司往往缺乏這些流程,所以做出來的經受不住考驗。

杭州阿里“P6”面試經驗

  • 第一輪:電話初面

  • 第二輪:技術面談【技術職位儘量避免多談管理上的工作】

  • 第三輪:高管複試

  • 第四輪:HR最後確認

一面:首先確認對阿里的意向度(如果異地更會考慮對工作地點(杭州)的意向度!阿里很看重這個);其次面試官一般會針對您所做過的專案來做具體技術的交流,會比較關注個人對專案細節是不是掌握到位,主要考察java的技術基礎和原理,比如Spring框架以及資料庫和JVM三個方面,也會交流到分散式、執行緒池的實現等等,重點考察是不是有比較鑽研技術和技術上的亮點【不一定每個面都很厲害但一定要有亮點】;

二面:技術面,根據專案深入的瞭解技術實力,瞭解您的知識面,瞭解您的問題解決能力以及技術靈活運用能力,也通過這一過程考察團隊合作能力、學習主動性和創新性,可以挑選2-3個做過的有典型性的專案做一個仔細 技術回顧和自己獨到的理解【這會成為您的加分項】;

三面:他們最後的高管複試會涉及到相關的技術問題,大部分是對你的整體價值觀做巨集觀的把控(比如上進心,責任心,心態,工作激情等)

HR確認:基本就是從大方向瞭解一下您的心態、抗壓能力,工作中的角色、未來大致的規劃以及對阿里的意向度

【技術基礎以及的問題多看看書準備下就行了,不懂的直接說不懂沒關係的;在專案細節上多把關一下,根據專案有針對性的談自己的技術亮點,能表達清楚,可以引導面試官來問你比較擅長的技術問題,個人就可以盡情發揮】

阿里比較喜歡的人才特點:對技術有熱情,強硬的技術基礎實力;主動,善於團隊協作,善於總結思考;

阿里面試問的問題會比較底層

1,Java記憶體結構,spring的aop的實現方法,java資料庫問題定位和效能調優;

2,關於Java異常的續承層次結構,講述異常的續承關係;

3,java中過載和重寫有什麼區別,分別用什麼關鍵字;

4,關於分散式訊息佇列,分散式快取;

5,關於hashmap原始碼實現, jdk

6,關於設計模式,uml,jvm 記憶體回收機制問題

7,java執行緒如何啟動?java中加鎖的方式有哪些,怎麼個寫法?

8,對樂觀鎖和悲觀鎖的理解;

9,ORACLE中的SQL如何進行優化,都有哪些方式?事務有哪些特性,在ORACLE中隔離有哪些級別?

10,介紹一下自己最近做的一個典型的專案;

11,在專案中遇到了哪些問題,自己是如何解決的;

12,目前系統支撐的使用者量是多少,假如使用者量提升10倍,系統會出現什麼樣的問題,如何重新設計系統【這裡主要是想了解您的問題預見能力以及問題解決能力,考查思路】

13,使用memcached是一個什麼樣的原理

14,如何存放資料到memcached叢集中,介紹一下這個過程。跟進的問題,講一下一致性雜湊演算法的實現原理。

15,JVM中堆是如何管理的,JVM的記憶體回收機制,介紹一下

16,分散式事務實現方式

17,熱點賬戶問題(專案中有就會問)

第一輪技術面試(電面)涉及Java基礎點(可參考):

  • session

  • java鎖

  • gc原理

  • hashmap

  • listlink arraylist 區別

  • aop 原理

  • 多執行緒

  • kafka 原理和容錯

  • spark hadoop 原理

  • redis 同步機制

  • classLoader 機制

  • Http 協議

  • cookie的限制

  • HashMap key的要求 , hashcode一致兩個物件是否相等

  • JVM的原理

  • 涉及面較廣,包括談到專案上遇到的問題,以此深入探討。

XX:

  • 介紹自己的工作職責、技術or管理怎麼分配的

  • 介紹專案,涉及的技術把整個流程說下。然後他感興趣就會深入問

  • 然後就是聊一些jvm、nosql之類的

  • 假如伺服器反應很慢,你應該怎麼排查問題

  • 怎麼跟蹤一個方法的用時,並且最小限度干涉業務程式

旁聽面試-java:

  • 人選介紹目前目前技術管理側重;

  • 對阿里推薦對應崗位的理解度;

  • 系統設計是怎麼樣的;

  • 做的一些架構,資料來源來自於哪裡並深入問;

  • 模組邊界,快取機制;

  • 選用技術選型時,A和B的區別;

  • 多執行緒如何用,有什麼好處,和程序的區別;

  • 多執行緒的過程;

  • 多執行緒同步的方法,X專案中如何去實現;

  • 分散式架構在你目前專案中的體現;

  • 跨主機通訊用過什麼,介面等;

  • 大資料儲存;

結尾:你自己覺得你擅長什麼,以後想走的路線,技術還是管理;

Java面試題分享:

  • JMS的兩種模式是那些;

  • 富客戶端怎麼更新;

  • 自己設計類似ESB這樣的企業資料匯流排應該有哪些功能;

  • 系統架構設計;

  • 叢集中怎麼控制session;

  • 怎麼樣知道java存中是哪一些模組消耗記憶體比較多;

  • 應用伺服器的引數調整。

你需要的系統架構學習體系

高階職業技術交流圈子

歡迎加入Java高階架構學習交流群:375989619 本群提供免費的學習指導 架構資料 以及免費的解答 不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導 進群修改群備註:開發年限-地區-經驗 方便架構師解答問題 免費領取架構師全套視訊!!!!!!!!

小編建立了高階職業技術交流圈,讓你不再是一個人在奮鬥,通過學習與交流讓自己變得更加強大,加好友備註:地區+開發幾年