工做2年半跳槽面試阿里,成功拿到offer,憑什麼?

2015年剛畢業的我,進入了一家小小的公司實習工做,在學校學了三年軟件開發的我,仍是想去尋找一份互聯網行業的工做,這樣更能學以至用發揮本身的特長。一直到18年三月份,我辭掉已有的工做,北上去面試,且成功拿到offer,面試回來後,好多人問我,你憑什麼能拿到阿里的offer,你只不過是剛畢業工做兩年的小白。當時我只對他們笑了笑,以謙虛的語氣回答:運氣好運氣好!但其實並非運氣好這麼簡單的,沒實力沒底氣你敢去阿里面試麼?我想你們一致的回答都是同樣的,「不敢去」!那我憑什麼才兩年經驗的小白會面上阿里,其實我是有底牌的。java

那如今來聊一聊我所遇到的一些面試經歷,但願給各位尋求新機會的小夥伴一個參考。總共面完5家收了4個offer,應該算是比較成功的吧。mysql

因爲種種緣由,博文中所涉及的公司均以代號標誌,且我能告訴你們的也只有面試題,其餘的不便透露細節,但願你們理解。面試

面試題

A公司

  1. 寫出java中synchronized的使用方式。redis

  2. Java中設置最大堆和最小堆內存的參數是什麼?算法

  3. volatile的做用?sql

  4. 一道設計題緩存

  5. 多個線程同時讀寫,讀線程的數量遠遠⼤於寫線程,你認爲應該如何解決 併發的問題?你會選擇加什麼樣的鎖?安全

  6. JAVA的AQS是否瞭解,它是⼲嘛的?性能優化

  7. 除了synchronized關鍵字以外,你是怎麼來保障線程安全的?mybatis

  8. 何時須要加volatile關鍵字?它能保證線程安全嗎?

B公司

問題一:「請你自我介紹一下」

問題二:「你有什麼業餘愛好?」

問題三:「你認爲你工做中的哪些方面是最重要的?」

問題四:「談談你的缺點」

問題五:「談一談你的一次失敗經歷」

問題六:「你爲何選擇咱們公司?」

問題七:「對這項工做,你有哪些可預見的困難?」

問題八:「咱們爲何要錄用你?」

問題十:「您在前一家公司的離職緣由是什麼?」

C公司

  1. mybatis怎麼防止SQL注入

  2. Hibernate的緩存機制

  3. Hibernate一級緩存

  4. Hibernate二級緩存

  5. 什麼樣的數據適合存放到第二級緩存中

  6. Mybatis和Hibernate的區別(優缺點)

  7. redis的使用場景

  8. Tomcat自己的參數你⼀般會怎麼調整?

  9. 若是有不少數據插⼊MYSQL 你會選擇什麼⽅式?

D公司

1. 你知道哪些或者大家線上使⽤什麼GC策略? 它有什麼優點,適⽤於什麼 場景?

2. JAVA類加載器包括⼏種?它們之間的⽗⼦關係是怎麼樣的?雙親委派機 制是什麼意思?有什麼好處?

3. 如何⾃定義⼀個類加載器?你使⽤過哪些或者你在什麼場景下須要⼀個⾃ 定義的類加載器嗎?

4. 堆內存設置的參數是什麼? 5. Perm Space中保存什麼數據? 會引發OutOfMemory嗎? 6. 作gc時,⼀個對象在內存各個Space中被移動的順序是什麼?

7. 你有沒有遇到過OutOfMemory問題?你是怎麼來處理這個問題的?處理 過程當中有哪些收穫?

8. 1.8以後Perm Space有哪些變更? MetaSpace⼤⼩默認是⽆限的麼? 仍是 大家會經過什麼⽅式來指定⼤⼩?

9. Jstack是⼲什麼的? Jstat呢? 若是線上程序週期性地出現卡頓,你懷疑可 能是gc致使的,你會怎麼來排查這個問題?線程⽇志⼀般你會看其中的什麼 部分?

10. StackOverFlow異常有沒有遇到過?⼀般你猜想會在什麼狀況下被觸 發?如何指定⼀個線程的堆棧⼤⼩?⼀般大家寫多少?

E公司

● 簡述synchronized?Object;Monitor機制;

● 簡述happen-before規則 ;

● JUC和Object ; Monitor機制區別是什麼 ; 簡述AQS原理 ;

● 簡述DCL失效緣由,解決方法 ;

● 簡述nio原理 ;

● jvm運行時數據區域有哪幾部分組成,各自做用 ;

● gc算法有哪些 ; gc收集器有哪些 ;

● 簡述class加載各階段過程 ; class ; loader有哪些模型 ;

● 簡述經常使用的JDK命令行工具 ;

● 簡述字節碼文件組成 ;

● 講講你日常是如何針對具體的SQL作優化 ;

● mysql的存儲引擎有哪些,區別 ;

● gc:內存模型;

● gc: 垃圾回收 ;

● 多線程:如何實現一個定時調度和循環調度的工具類。但提交任務處理不過來的時候,拒絕機制應該如何處理 ; 線程池默認有哪幾種拒絕機制 ;

● 多線程: 如何實現一個ThreadLocal ;

● 說說你瞭解的一個線程安全隊列 ;

● Atomic包的實現原理是什麼 ;

● CAS又是怎麼保證原子性的 ;

● string分析1000次循環subString用了多少內存 ;

我面試E公式時是最吃力的,問的好多問題,反正他想到的都會問,因爲問題太多,我也只能憑記憶羅列出這麼一點點出來,但願能體諒。

打動面試官的五大技能

1. 定量分析

定量分析是對社會現象的數量特性、數量關係與數量變化的分析。數據是許多組織的重要組成部分,因此你的組織、分析、解釋和呈現數據能力是很重要的。不論是在作應用程序仍是尋找不一樣的辦法來吸引用戶。特別說明下,招聘公司很重視組織數據和基於數據進行組織的能力。若是你有挖掘數據的能力,並有本身的看法,那麼在競爭中將頗有優點。(面試時,你能夠帶上曾經作過的關於數據分析的項目)。

2. Excel

管理數據分析中最主要工具是什麼?Excel。Excel在工做中會常常遇到,並且公司不會花時間去教你怎樣使用Excel。因此,若是你能精通Excel,在錄取中也會佔有必定的優點。

3. 創造性思惟

當今企業界發展步伐異常快,招聘企業對那些有創新能力和能超越現狀的求職者很感興趣。他們但願本身的員工可以有拓展性思惟,不安於現狀,從第一天上班時起就能有與其餘員工分享本身的想法,最好能夠提升公司當前的工做系統。可是,創造性思惟有點很差學習。

4. 溝通能力

通常狀況下,招聘公司都想找一些溝通能力比較強的員工。由於公司往後須要你能夠有效的與客戶進行電話、郵件及平常生活的交流,你的一言一行都將表明公司的形象。更重要的是,公司但願你能以簡潔專業的語言來表達本身的某些見解。因此,在面試過程當中,多向招聘人員展現下你的溝通能力。

5. 謙遜的品格

有人看到謙遜會以爲奇怪,可是這個技能倒是招聘人員看中的重要技能之一。固然,招聘公司須要有自信、有激情,也要樂於學習的員工。在面試時,若是被要求分享本身的想法或主意的時候,大膽的說出來。若是被指出錯誤,虛心的接受。多問面試人員一些問題,好比公司的一些狀況和應聘崗位的一些工做。

爲何我面試五家公司有四家錄取了呢,以上五大技能不只要擁有,技術還要過硬,否則以上的面試你不想過關。那從哪裏學習才能獲取過硬的技術以及過硬的膽識呢?如下即是我學習了這個課程體系,纔是我有這麼過硬的技術以及過硬的膽識。

推薦一個交流學習羣:251981998 裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化這些成爲架構師必備的知識體系。還能領取免費的學習資源,目前受益良多,如下的課程體系圖也是在羣裏獲取。

推薦課程體系:

1、性能調優


2、源碼解讀


3、分佈式


4、微服務


5、團隊協做開發


六:B2C商城項目實戰

相關文章
相關標籤/搜索