<rp id="jxbtx"></rp>

<track id="jxbtx"><del id="jxbtx"><b id="jxbtx"></b></del></track>
<del id="jxbtx"><ins id="jxbtx"></ins></del>

      <form id="jxbtx"><ins id="jxbtx"><i id="jxbtx"></i></ins></form>

      <big id="jxbtx"></big>
      <listing id="jxbtx"><del id="jxbtx"><b id="jxbtx"></b></del></listing>

      <ol id="jxbtx"><ins id="jxbtx"></ins></ol>

        大連IT培訓
        美國上市IT培訓機構

        0411-39585500

        大連 > 達內新聞 >Java后端開發面試要點

        Java后端開發面試要點

        • 時間:2018-12-11 11:55
        • 發布:大連
        • 來源:達內新聞

        很多有經驗的程序員在面試前不準備,或準備方法不得當,這很影響面試的結果,那么,要怎樣才能成功面試呢?本文大連達內IT培訓為大家介紹Java后端開發面試要點

        1、框架是重點,但別讓人感覺你只會山寨別人的代碼

        在面試前,我會閱讀簡歷以查看候選人在框架方面的項目經驗,在候選人的項目介紹的環節,我也會著重關注候選人最近的框架經驗,目前比較熱門的是SSM。

        不過,一般工作在5年內的候選人,大多僅僅是能“山寨”別人的代碼,也就是說能在現有框架的基礎上,照著別人寫的流程,擴展出新的功能模塊。比如要寫個股票掛單的功能模塊,是會模仿現有的下單流程,然后從前端到后端再到數據庫,依樣畫葫蘆寫一遍,最多把功能相關的代碼點改掉。

        其實我們每個人都這樣過來的,但在面試時,如果你僅僅表現出這樣的能力,就和大多數人的水平差不多了,在這點就沒法體現出你的優勢了。

        我們知道,如果單純使用SSM框架,大多數項目都會有痛點。比如數據庫性能差,或者業務模塊比較復雜,并發量比較高,用Spring MVC里的Controller無法滿足跳轉的需求。所以我一般還會主動問:你除了依照現有框架寫業務代碼時,還做了哪些改動?

        我聽到的回答有:增加了Redis緩存,以避免頻繁調用一些不變的數據。或者,在MyBitas的xml里,select語句where條件有isnull,即這個值有就增加一個where條件,對此,會對任何一個where增加一個不帶isnull的查詢條件,以免該語句當傳入參數都是null時,做全表掃描。或者,干脆說,后端異步返回的數據量很大,時間很長,我在項目里就調大了異步返回的最大時間,或者對返回信息做了壓縮處理,以增加網絡傳輸性能。

        對于這個問題,我不在乎聽到什么回答,我只關心回答符不符邏輯。一般只要答對,我就會給出“在框架層面有自己的體會,有一定的了解”,否則,我就只會給出“只能在項目經理帶領下編寫框架代碼,對框架本身了解不多”。

        其實,在準備面試時,歸納框架里的要點并不難,我就不信所有人在做項目時一點積累也沒,只要你說出來,可以說,這方面你就碾壓了將近7成的競爭者。

        2、別單純看單機版的框架,適當了解些分布式

        此外,在描述項目里框架技術時,最好你再帶些分布式的技術。下面我列些大家可以準備的分布式技術。

        1)反向代理方面,nginx的基本配置,比如如何通過lua語言設置規則,如何設置session粘滯。如果可以,再看些nginx的底層,比如協議,集群設置,失效轉移等。

        2)遠程調用dubbo方面,可以看下dubbo和zookeeper整合的知識點,再深一步,了解下dubbo底層的傳輸協議和序列化方式。

        3)消息隊列方面,可以看下kafka或任意一種組件的使用方式,簡單點可以看下配置,工作組的設置,再深入點,可以看下Kafka集群,持久化的方式,以及發送消息是用長連接還是短攔截。

        以上僅僅是用3個組件舉例,大家還可以看下Redis緩存,日志框架,MyCAT分庫分表等。準備的方式有兩大類,第一是要會說怎么用,這比較簡單,能通過配置文件搭建成一個功能模塊即可,第二是可以適當讀些底層代碼,以此了解下協議,集群和失效轉移之類的高級知識點。

        如果能在面試中侃侃而談分布式組件的底層,那么得到的評價就會比較好了,比如“深入了解框架底層”,或“框架經驗豐富”,這樣就算去面試架構師也行了,更何況是高級開發。

        3、數據庫方面,別就知道增刪改查,得了解性能優化

        在實際項目里,大多數程序員用到的可能僅僅是增刪改查,當我們用Mybatis時,這個情況更普遍。不過如果你面試時也這樣表現,估計你的能力就和其它競爭者差不多了。

        這方面,你可以準備如下的技能。

        1)SQL高級方面,比如group by, having,左連接,子查詢(帶in),行轉列等高級用法。

        2)建表方面,你可以考慮下,你項目是用三范式還是反范式,理由是什么?

        3)尤其是優化,你可以準備下如何通過執行計劃查看SQL語句改進點的方式,或者其它能改善SQL性能的方式(比如建索引等)。

        4)如果你感覺有能力,還可以準備些MySQL集群,MyCAT分庫分表的技能。比如通過LVS+Keepalived實現MySQL負載均衡,MyCAT的配置方式。同樣,如果可以,也看些相關的底層代碼。

        上一篇:快來看:互聯網大廠Java開發招聘要求
        下一篇: Java 程序員必備的15個框架

        20幾歲設計師常犯的7個職場錯誤

        UI設計師常用6款軟件

        達內教育與美國Code Combat合作,推動中國IT培訓的國際化發展

        測試本科生來達內學C++,獲9萬年薪入職班圖網絡

        • 關注微信公眾號

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        江西省

        貴州省

        廣西省

        海南省

        免费yahoo日本,新sss日本AV在线,日本yahoo免费 在线播放,中文字幕无码免费视频