天天看點

面試經曆持續更新

1. 面試貝連科技經曆

約的是早上10點鐘現場面試,早上7點就醒了,看了下自己之前總結過的知識點,然後吃完早餐就高高興興的去面試了。快到面試點時,hr就發來微信提醒--今天10點有面試,看到這個提醒,心裡還是有些高興,因為hr妹子還是很專業的。坐電梯到達面試公司,跟前台妹子說,來面試,然後填了個表,表填完後就帶我去辦公室等着了。去辦公室的時候,我注意了一下辦公環境,還真的挺不錯,比較滿意。在辦公室等了大約5分鐘,來了一個小哥--個子挺高的,讓我想起來了鄉村愛情裡的大個。接下來就開始的一輪面試,面試題如下:

    1.01 公司業務的規模;

    1.02 出過哪些線上事故,如何解決的;

    1.03 ThreadLocal的缺點是什麼?以及應用場景;

    1.04 AQS的實作原理,AQS中用到的是什麼隊列,這個隊列是幹嘛用的;

    1.05 RocketMQ的事務機制是如何實作的;

    1.06 項目的架構是怎樣的,畫圖;

    1.07 資料庫分庫分表是如何保證分布式事務的?常見的劃分方式有哪些?

    1.08 什麼是重排序?如何防止重排序?防止重排序的底層是如何實作的?

    1.09 使用者走風控的業務邏輯是怎樣的?當使用者的風控狀态處于風控稽核中時,是怎麼解決的?

    1.10 說說有哪些鎖?ReentrantLock是排它鎖嗎?什麼是公平鎖?什麼是非公平鎖?ReentrantLock為什麼采用非公平鎖?

    1.11 記憶體模型,畫圖;

    1.12 一個類中有兩個内部類,編譯後,會生成幾個類檔案;

這些問題問完後,就直接出去了,讓我在辦公室等着;5分鐘後回來了,說hr不再,再約下次,然後我就回家了。

2. 場景鹿面試經曆

約的是下午2點,到達面試點時,剛好2點整。今天天氣還是很熱的,熱的我汗流浃背的。前台妹子給我一個表,順便給了我一瓶水,應該是看我汗流浃背的吧。表填完後,就坐在一旁的會客桌上等待面試官。在等待面試官的這段時間,我看了下辦公環境,辦公環境整體還行,但不足之處是辦公桌太小,人和人挨着很近,中午估計都沒法躺着午休。不一會來了一個面試官,下面是面試題:

2.01  項目中用到了RocketMQ,說下為什麼選擇使用RocketMQ,當時做了哪些調研;為什麼要引入RocketMQ;

2.02 在第二家工作中的職責是什麼,和對接過那些大平台;

2.03 項目的架構畫下以及由C語言轉java後有啥感受;

2.04 項目中有沒有用到監控,如何實作監控有沒有調研過;

2.05 有沒有用到AOP,用AOP的好處是什麼,以及AOP中涉及到的設計模式是什麼;

2.06 String常量在JVM中是如何存儲的;

2.07 JVM是由哪些部分組成的以及作用是什麼;

2.08 常用的垃圾回收算法是什麼;

2.09 1.7和1.8中的HashMap中的資料結構是由什麼組成的;

問完這些問題,經過了解,原來是一個阿裡出來的小哥;小哥讓我等會,不一會java負責人過來接着面:

2.10 項目的架構是怎樣的,又把剛才畫的架構圖給講了一遍;

2.11 資料庫分庫分表時,如何保證分布式事務以及跨庫操作;

2.12 分布式鎖是如何實作的,我畫完圖後又講解了下,面試官說,setnx和expire有原子操作了,問我redis是那一個版本;

接着又讓我等會,不到一分鐘,又帶着一個大boss過來,這個大boss沒怎麼問技術問題,邊看履歷邊皺眉,我以為這個大boss是hr,結果打臉了,不是hr;一下是大boss問的問題:

2.13 在目前項目中擔任的角色是什麼;

2.14 說一下項目的規模,有沒有做過過分布式項目的開發,我又把項目圖給他看了下;

2.15 那一個子產品的壓力大;

2.16 在前兩家為什麼離職;

2.17 線上上出現過什麼故障以及如何解決的;

問完這些,java負責人和這個大boss走了,不一會真正的hr來了,客套了幾句,就把我給打發走了。

3. 浙江省北大資訊高等研究院面試經曆

面試這家公司是我根據公司所在區域找的,在boss直聘上投了履歷後,沒過多久就約了面試。約的是早上9點開始面試,結果9點半才到。遲到了半小時,原因是做過了地鐵兩站地。下地鐵後,根據導航急急忙忙趕往面試地點,等到了面試地點滿頭大汗。面試官見我滿頭大汗,非常熱心的給我倒了一杯水,還要求等會面試,讓我先歇會。面試大哥還是挺好的。水喝了兩口,就開始面試,一下是面試的題目:

3.0.1 首先自我介紹,然後引導面試官把整個項目的架構圖給畫了出來,面試官根據項目架構圖,問了很多接地氣的問題,從這點可看出面試官應該做過不少項目;

3.0.2 多機部署的子產品,nginx部署在哪裡,如果部署nginx的伺服器壞了,此時就不能做負載均衡了,出現這個情況,有什麼兜底的方案;

3.0.3 nginx給兩台機器做負載均衡,如何配置;

3.0.4 線程池執行任務的原理,我畫圖講解了下;

3.0.5 JDK1.8中的hashmap和concurrenthashmap的底層實作;

3.0.6 紅黑樹有哪些性質,與完全平衡二叉樹有啥差別;hashmap和concurrenthashmap為什麼選用紅黑樹,而不用完全平衡二叉樹;

3.0.7 紅黑樹左旋和右旋的具體實作是怎樣的,這個我沒答出來;

3.0.8 紅黑樹和二叉樹有啥差別,什麼是2-3樹(這個不知道,面試官說,紅黑樹是從2-3樹轉化過來的);

3.0.9 分布式鎖是如何實作的,我畫圖講解;

3.1.0 常用的4中線程池有哪些,以及對應使用的是什麼隊列;

3.1.1 建立線程的方式有哪些,差別是什麼,若是想用有傳回值的線程該如何實作;

3.1.2 AOP的原理是什麼,具體落地場景是什麼;

3.1.3 如果一個表中的字段特别多,該如何分表;

3.1.4 應該把一個表中哪些字段設定為索引,索引失效的情況;

3.1.5 使用https方式通信時,證書是怎麼解決的,是自寫的還是用已有的;

3.1.6 挖礦病毒是如何清除的,清除後如何采取補救措施的,有沒有想過如何主動防禦(不知道);

回答完上面的問題後,面試官讓我等等,說下一面是實驗室主任面;不一會主任進來了,跟上一個面試官面試期間,我是能畫圖就畫圖,一般都是畫完圖,根據圖給面試官講解下,然後面試官根據圖在問些問題。主任一進來看到桌子上放了那麼多的畫圖的A4紙,有些小震驚,說技術咱們就不聊了。然後聊了下主任關心的問題,其中涉及到技術方案的問題。

4. 呆蘿蔔面試經曆---最差的兩個面試官,沒有之一

4.0.1 使用消息中間件RocketMQ,如何防止重複消費;

4.0.2 分庫分表的優點、缺點,如何解決分布式事務、跨庫聯合查詢;

4.0.3 RocketMQ如何是存儲消息;

4.0.4 RocketMQ啟動了幾個消費者,對于不用的消息,是用不同的消費者消費還是什麼;

4.0.5 為什麼在公司剛成立時,就做成分布式系統以及分庫分表;

4.0.6 分布式鎖如何實作的;

到此第一面就結束了,在面試期間,面試官有種瞧不起的人樣子,令我非常惡心,強忍着面試完了;想不到二面面試官也不咋地,以下是二面的問題:

4.0.7 職業規劃是什麼;

4.0.8 給你業務,如何做技術方案;

4.0.9 風控子產品的邏輯是什麼;

4.1.10 支付子產品的邏輯是什麼;

4.1.11 RocketMQ源碼看過沒有,如何實作高可用;

4.1.12 公司業務的規模;

4.1.13 AOP原理是什麼,如何植入;

4.1.14 IOC對bean如何管理的;

4.1.15 項目中引入緩存redis後,命中率是多少;

5. e簽寶面試經曆---效率很高,小組長、總監和HR都挺好的,為其點贊

計費組小組長一面,大概就記得以下問題

5.0.1.CAP理論---即在搭建分布式系統時,用的是CA還是AP還是CP,我說選的是AP(弱化一緻性,加強可用性和分區可用性);小組長問,那分布式事物如何保證?我回答:不保證事實一緻性,用定時任務解決各個子產品間的狀态不一緻問題;

5.0.2. 垃圾回收時,怎麼判斷一個對象是否能夠被回收?我回答:JVM用的是可達性分析,從GC root開始周遊,周遊不到的對象,就可以被回收了;GC root有哪些?沒答上來了;

5.0.3. 每個對象都有hashcode,在使用map時,為什麼還需要再生成hashcode?我答:最終目的是,使得元素在map中分布的更均勻些;

5.0.4.分布式鎖是如何實作的?我答:用redis實作的分布式鎖;然後畫圖解釋是如何實作的;

5.0.5.如何保證線程安全?我答:在多線程的情況下,通路共享變量時,會造成資料不一緻的情況;為了避免這種情況,可以加鎖(使用reentrantlock、synchronized關鍵字),也可以使用無鎖CAS,還可以把共享變量設定為不共享或設定為不可變;

5.0.6.使用消息中間件時,如何避免消息的重複送出?我答:維護一個已消費記錄表;

5.0.7.軟體可用性的概念?沒答好;

5.0.8.在子產品劃分時,如何了解高内聚和低耦合?沒打好;

5.0.9.如何解決支付狀态不一緻的問題?我答:定時任務解決;

總監二面,隻記得以下兩個問題,其它的沒記住

1.如何解決秒殺超賣問題?沒答好;

2.在自己的項目中,為什麼這麼實作?

繼續閱讀