2019-10-Java面試經歷


 

  談談最近面試的經歷吧,其實也就是不想一直這么閑着了,找份工作剛好能夠在2020年前轉正,這邊是最適當的時候了。所以談談這十天左右的應聘歷程...........................................................................................................

 

  注意:各位IT開發人員必須要清楚一個道理,職位待遇與個人能力是同等匹配的,是應聘的概念,而不是求職,因為這本身就是等價交換的過程,‘求’ 這個字用的真心別扭......

 

  正文開始了,如果嫌有點啰嗦的話,就跳過吶。

 

  2019-09初,從杭州某一外包公司離職,當然是由於個人原因,並非工作失誤吶,因此當時對工作的交接,自認為還是OK的,沒有遺留特別大的問題點。此時還處於一種不想找工作的時刻,畢竟剛離職,還想着玩一玩,逛一逛...

  當時沒有想那么多,認為金九銀十,也是招聘旺季,所以沒有多大擔心,造唄..................................................

  單純吶,9月份,中秋,十一,同學結婚......各種事情,還想趁面試前看點東西?   想的美,平常的碎片化積累是非常重要的..................................

  然后,轉眼金秋9月過去了,10月份了,該找了,2020年春節在1月份,因此保證年前能夠轉正,就必須保證在10月20左右入職......下面就談一談面試過程中,與面試官交流的一些還能想起來的面試問題........................................

  對了,提前說一下,現在的面試結果是什么樣的,提前有點自己的想法,總共面試了7天,13家公司,15次面試(兩個二面),收到5份通知,薪資有差距,屬於可接受范圍內,福利也差不多,雙休/大小周,技術分享...

  以下公司名稱保密,也別猜了,如有幸相識,祝各自成長.............( 有可能寫不全,畢竟人有忘性吶,表介意吶 ,基本上都是先介紹項目,這個就忽略了)..............................

 

    一、科技公司,面試地點距離很近,但是工作地點很遠,已經忘了公司的項目是何類型的,好尷尬啊。

      Spring框架簡介,聲明式事務如何配置?

      如何實際一個架構,無限制,按照自己的理解,使用場景不限,訪問並發量不限,自定義即可,說出目前能想到的最合理的架構?

      Mysql中引擎的優缺點?每個版本之間的區別?現在最新的版本中比之前調整了哪些東西?

      MyBatis實現的原理?用的代理模式?這個模式有哪些?每個之間有什么區別,各有什么實用場景?mapper.xml中的標簽有哪些?

      MySQL中,自增ID與UUID分別做主鍵,各有什么優劣點?

      一個SQL查詢的場景,簡單寫一下SQL,這個沒有多難,left join * on *  /  group by * having * 

      --- --- 加上想不起來的.......

 

    二、一家面試時感覺很好的外包公司,外包銀行項目。(這家是OK的,由於上一家是外包公司,所以就拒了,不過HR小姐姐很好的,加上面試官聊天時會進行引導回答的,挺好的公司)

      Spring的原理,IOC時,如何解決bean循環依賴的問題?BeanFactoryPostProcessor的作用?BeanPostProcessor的作用?對象初始化得到具體的實例對象的時機是什么時候,以及注入的方式有哪些?構造?Setter?

      項目中有進行重構遷移的操作?這部分怎么解決的?數據如何遷移?全量遷移還是增量遷移?

      Redis中的數據擴容怎么實現?

      隊列的實現原理?Queue的實現原理?如果數組長度都不夠了,如何操作?是移除頭部元素?還是擴容?又或循環數組?

      分布式事務的思想?如何實現?2PC是什么?TCC怎么實現補償機制的?3PC呢?

      若有相互調用的系統,位於一個分布式事務中,若一個系統宕機了,整個分布式事務如何進行回滾的?邏輯怎么進行?

      CountDown(閉鎖)怎么實現線程阻塞的?最后一同執行,怎么保證同時喚醒操作?

      Map的put方法詳解?size方法怎么操作的?

      --- --- 加上想不起來的.......

 

    三、先電話一面,再進行二面,做日志,便簽等,亦可個性化的開發公司,以下二合一面試問題。

      項目中的痛點,難點分析?熟悉的技術棧描述?

      項目中實現了分布式監控的操作?那這個具體要如何是實現呢?如果要記錄於日志系統,那該如何操作呢?大致描述一下具體的邏輯思路?

      事務怎么管理處理邏輯的?@Transaction怎么工作的?

      可重入鎖?怎么保證重入性這個操作的?

      還有JVM相關的,類加載機制、數據區、分代........(慶幸前一段時間看了《深入理解JVM》這本書,也可以看前幾篇博文),怎么優化?工具怎么使用?參數比例?實際開發中怎么使用?

      redis介紹?主從復制?集群?哨兵模式?持久化方式?AOF追加的方式,文件越來越大,怎么解決這種問題?

      多線程怎么理解?項目中如何使用的?JVM中的引用類型?強軟弱虛?      

      --- --- 加上想不起來的.......

 

    四、一家關於呼叫系統的開發公司,有點類似於通信之類的

      消息隊列如何保證消息發送成功了?那事物消息如何處理的呢?

      多線程、線程池的原理?底層如何實現的?

      鎖的實現是什么樣的?可重入鎖的實現?AQS如何實現的?阻塞隊列如何在AQS中運用的?關於分布式鎖的了解?

      設計模式:工廠模式?代理模式的具體應用?

      如何提高自己?怎么學習?怎么保證持久性的學習狀態?什么樣的渠道?

      --- --- 加上想不起來的.......

 

    五、一家關於車的平台,從線下到線上,從商家到購車者,類似於瓜子車的平台

      項目中使用的設計模式,講解一下?模板模式?職責鏈模式?裝飾器模式?

      代理模式有哪幾種?之間的區別?動態代理有幾種?區別是什么?

      JVM中的垃圾收集算法有哪些?應用?

      MySQL中的索引結構有哪些?hash?BTree?等?

      Java內存模型中,結合voliatile關鍵字來闡述同步,可見等操作?

      JDK1.5對鎖進行了哪些優化?自選鎖?鎖消除?鎖粗化?那鎖升級如何操作的呢?無鎖->偏向->輕量級->重量級?

      Java中對超多的數據集怎么操作,能夠有哪些方法保證Java的處理速度?數據冷熱分離?熱數據中間做二次處理?

      --- --- 加上想不起來的.......

  

    六、與國企合作,集兩家公司之力,強化開發團隊(不過是BOSS面試的,只能指着簡歷說:這個我們用過,這個也用過.......這個吶,沒見過......)

      --- --- 沒得技術問題,當然也無后續.......

      

    七、一家關於教育的公司,有點類似於騰訊課堂這種平台

      關於鎖有哪些認知,所關鍵字怎么調用操作系統?

      可重入鎖如何保證鎖的重入性,代碼怎么實現的?

      CAS是什么,有可能造成那些問題,怎么解決?代碼中用什么樣的方式?  redis數據結構使用過哪些,怎么用的。代碼中怎么表現得?zset  hash在項目中怎么用的?代碼怎么寫?說一下

      分布式鎖?redis怎么操作的?還有哪些,zk怎么實現的?

      設計模式使用過哪些,怎么用的?原則了解哪些?單例模式有哪些創建方式?枚舉為什么可以實現單例,DCL怎么實現的?為什么同步了。還加了一次if判斷?

      JVM怎么調優的?怎么排查線上異常?如果線上CPU爆了,怎么排查,SQL調優怎么做?如果出現處理?解決?

      redis是單線程,為什么性能高?線程切換是什么?為什么線程切換會帶來開銷?

      分布式鎖用什么來實現?redis,zk,數據庫?具體怎么實現,代碼?

      布隆過濾器的數據結構是!如何保證可見性?

      幾乎都是從怎么處理問題的角度來考慮,怎么分析,解決?如何編碼?等等,不過,自己回答有點弱,可能還是項目欠缺及技術還是弱吧。

      --- --- 加上想不起來的.......

  

    八、一家不確定的公司?我啥也沒問,被懟了一頓......實屬無奈,但是收獲是真的超大,該公司招資深,估計也是高看我了 + 我膽子大。

      與這家的面試官溝通,收獲良多,這段大家可以仔細看一下吶。

      公司招的職位是資深開發崗位,我應聘的是高級,目前沒有與之相匹配的能力,就直接掛了,不過面試官說了一些有助於后續成長的東西,希望能夠幫助到大家。

      

      列了一個秒殺場景,商品:n種 *  n件,N億人來進行秒殺。

      說一下服務器數量,系統如何划分,划分的理由是什么,業務與技術各有什么難點,有可能碰到哪些具體問題?技術選型原因,整個方案實現的人員配置人員成本,項目整體成本分析,完成度如何?整體報價?

      以上的問題是誰進行思考的?產品?技術leader,CTO?那要開發干啥,整個項目完成直接外包就可以了,要考慮自己在這個項目中承擔的角色是什么?換位思考,如果自己在高級開發,資深開發,技術經理的角度,該如何思考項目成本與完成度?

      比如剛才的場景,在下單的時候,會發生並發,那如何控制下單的同步,分布式鎖?采用哪種?為什么選這種?

      但是,同理,服務器的數量,如何考慮?Tomcat,Jetty,還是雲服務器?買多少台能夠達到支撐多少的並發?開發中,只考慮如何實現,這個很簡單,但是除此之外的呢?要誰考慮呢?

 

      工作中,想往上升,不是把你提到那個位置上,你才匹配相應的能力,而是具有相應的能力了,才能勝任那個位置上。那以上怎么學習啊,通過哪個渠道呢?。。。目前還是懵......

      --- --- 加上想不起來的.......

 

    九、呃......有忘了這家的產品類型,面試我的人也忘了,目前寫這段的時候,特別尷尬,-.-

      類的加載順序?實現字符串寫入文件的代碼?循環刪除name屬性重復的數據?只留下name屬性重復數據中的任一記錄即可?

      HTTP協議、TCP協議?請求頭中的報文是什么意思?

      過濾器、攔截器分別有什么作用,異同點?應用場景?

      Nginx、設計模式等      

      --- --- 加上想不起來的.......

 

    十、一家電商的平台,日常QPS:1-2W    活動QPS:10W   (其中的問題與上面雷同性很大)

      --- --- 不重復寫了.......

      

    十一、成立時間不到一個月的公司,不過產品是真的牛掰,目前開發團隊正在組建中......

      關於Java集合方面的東西,還有關於Java8流方面的使用?

      httpservletrequest請求怎么獲取數據,如獲取get  post中的數據,用什么方法?

      再者就是關於一些場景的處理方法
      比如兩個請求並發訪問,比如同一個訂單,進行支付,如何保證一個成功,一個失敗,還有就是如果是多個系統之間,怎么保證數據的最終一致性?

      --- --- 加上重復的.......

 

    十二、一家關於施工質量檢測的系統設計,公司的技術氛圍很濃厚,日常數據量也挺大的。

      jdk8中的特性,流,使用了什么來處理,pridcate等?

      CMS原理?對於它了解多少?

      多線程的原理,參數有什么?

      對SOFA的理解,及對tair緩存的理解?

      設計模式,代理模式中,動態代理兩個的區別,還有springAOP的原理,事務怎么控制的,怎么配置?

      可重入鎖怎么保證重入性質的?讀寫鎖,readwritelist(查了下沒有這個List,我太南了)?

      jdk8中,接口增加了default方法,有什么用?

      --- --- 加上重復的.......

 

    十三、關於中國某一家保險的開發部門,筆試,面試

      ocenbase的理解(內部引擎是如何實現的?),還有jdk8中的新特性的理解,集合,類,設計模式,分布式鎖的處理,boot,cloud 等的應用,再者關於JVM的了解等等,筆試題一點用都沒有(真特么的南受!!!!!!)

      --- --- 加上重復的.......

 


  以上的總結,就暫時不了,自行總結吧,答案就忽略吧,這些問題也不是特別的南..............................

 

  

  (願你的每一行代碼,都有讓世界進步的力量    ------   fn)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM