最近在跟群里的讀者交流,有一個兄弟的經歷讓我記憶猶新:
上個月參加了大學同學聚會,和幾個在BAT的同學聊了聊技術,發現自己在創業公司的這三年,完全沒有精進什么技術,反而一直是在吃老本的狀態,突然感慨,都是一樣的起步點,三年過后原來人與人之間的差距可以這么大....
其實他最近面試了阿里,備受打擊,面試官問了很多問題,一大半的問題我都是一知半解,能回答上的幾個都是支支吾吾的回答,特別沒有底氣,

正好我也問了他這次面試都問了些什么問題,跟大家分享一下吧:
螞蟻中間件一面
- 自我介紹
- JVM垃圾回收演算法和垃圾回收器有哪些,最新的JDK采用什么演算法?
- 新生代和老年代的回識訓制
- 說說反射的用途及實作
- HTTP 請求的 GET 與 POST 方式的區別
- Arraylist 與 LinkedList 區別
- HashMap 的作業原理及代碼實作
- 說說 CountDownLatch 原理
- ThreadLocal 原理分析
- 講講執行緒池的實作原理
- 樂觀鎖的業務場景及實作方式
- synchronized 與 lock 的區別
- Java中的多執行緒,以及執行緒池的增長策略和拒絕策略了解嗎?
- Tomcat的類加載器了解嗎?
- Spring的ioc和aop,Springmvc的基本架構,請求流程
- Java的網路編程,講講NIO的實作方式,與BIO的區別,以及介紹常用的NIO框架
一面主要問了一些Java基礎知識、JVM、集合、執行緒等等,這部分準備比較充分,因此面下來的感徑訓是挺好的,
螞蟻中間件二面
- 執行緒池的幾種方式與使用場景
- 你在專案中怎么用到并發的?
- 訊息佇列的使用場景,談談Kafka
- Dubbo和Spring Clound的區別,以及使用場景
- 講一下docker的實作原理,以及與JVM的區別
- MongoDB、Redis和Memcached的應用場景,各自優勢
- MongoDB有事務嗎?
- 說說分庫與分表設計
- Redis 記憶體淘汰機制
- Redis 集群方案與實作
- 訊息的堆積解決思路
- 請列舉出在 JDK 中幾個常用的設計模式?
- Java 中什么叫單例設計模式?請用 Java 寫出執行緒安全的單例模式
- 在 Java 中,什么時候用多載,什么時候用重寫?
- 談下你對 Zookeeper 的認識?
- RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
- 假設服務器經常宕機,你從哪些方面去排查問題?
在這一面基本上是涼了,主要是之前作業經驗太少了,自己技術儲備也比較淺薄,但是關鍵是最后居然還問了我一個設計相關的問題,我當時真的心態爆炸了,整個人都是懵逼的....

后話
面試完后,他覺得自己在技術上欠了很多債,最慘的莫過于在這之前他根本不知道,也正是因為他的事情才有了今天這篇文章,很多作業了1—3年的Java的人,想夠一下3w月薪的崗位,但在底層技術以及基礎上有很大的問題:
你可能畢業幾年后,表面上使用過很多技術,但都沒有深入學習過,說直白點就是會用,但是不知道為什么要用,不知道其原理,遇到實際問題無從下手,
都說三年是一個程式員的坎,能否晉升或者提高自己的核心競爭力,這幾年的努力顯得尤為關鍵,
最后
現在金三銀四也開始陸陸續續的準備了,其實春招的招聘難度是大于秋招的,有許多讀者也在問我要一些最新的面試真題,我也收集了很多讀者以及其他的優質面經,整理成了pdf,分享給粉絲朋友,只需要掃描下方二維碼即可免費領取!



系統技術分類系列
JVM、MySQL、Mybatis、MongoDB、Redis、Spring、Spring boot、Spring cloud等等


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225305.html
標籤:其他
上一篇:這8個習慣可以改變整個人生?
下一篇:打工的人面對老板是沒有溢價權的
