崗位:web後臺開發校招崗(2019屆春季校園招聘)
筆試面試過程中涉及的知識點如下
0.筆試(90min)
1.二十道不定項選擇題
交換機在七層網絡模型中是第幾層
下列不是主機的ip地址有哪些
mysql刪除一個表中的記錄
兩表關聯,查詢的數據兩個表都有,用哪個查詢關鍵字
哪個排序算法的時間複雜度是nlogn
java8中的optional的用法
static初始化順序
jvm共享內存的區域
protected訪問權限
重寫和重載
NIO和BIO
post比get安全所以一般使用post請求嗎
數組[1,3,5,7,9,11...2n-1],第n個爲i,那第幾個爲xxx(具體不記得了==)
2.兩道編程題
整型數組中找出出現次數過半的數字
兩個升序數組,合併後找出第k大的數
3.一道設計題
設計一個物資申請管理系統,流程和系統大致結構
1.一面(30min):
自我介紹
ArrayList,LinkedList的區別,底層結構是怎樣的
static修飾的類/方法和沒有修飾的有什麼區別
hashMap的底層實現原理,擴容機制,java8改進的hashMap底層結構,紅黑樹瞭解嗎
線程有哪些狀態,各個狀態間轉換的條件,畫圖,線程能從阻塞態直接到死亡態嗎
線程創建方式,start和run方法區別
wait和sleep方法的區別
爲什麼要使用線程池,講下常見的線程池種類,線程池初始化常見的參數和含義
死鎖產生的條件
有了解哪些gc算法,具體講一下,爲什麼不同區域採用不同的算法
用過哪些數據庫,mysql有哪些存儲引擎(說了InnoDB和MyISAM),兩者有什麼區別
索引底層原理,B+樹,爲什麼快
Spring aop原理
2.二面(55min):
自我介紹
手寫算法,字符串中統計各個字母的個數,找出個數最多的字母,若有相同的則取第一個出現的;
hashMap的key可以爲空嗎,hashMap中元素是有序的嗎
zk有了解嗎,當前公司用的rpc框架,這個項目是怎麼部署的
mysql索引優化,什麼情況下索引不生效,寫幾個關鍵字,索引要怎麼加比較合適,查詢的數據量爲什麼會影響索引使用
開發過程中遇到的困難有哪些,是怎麼解決的,列舉幾個
java8新特性瞭解嗎,lambda表達式使用情況
說下你的職業生涯規劃
下面是根據簡歷上的項目提問:
找簡歷上的一個項目畫出系統結構圖,工作流程,核心數據庫表的er圖
通過表設定了幾個情景讓你寫查詢sql
假設你這個系統有一萬的併發量,系統出現卡頓怎麼解決(分別從應用線程池和數據庫連接池分析)
在不增加機器的情況下進行優化,有什麼方式
將核心的業務進行拆分,還是卡怎麼辦
核心業務調用鏈過長,進行異步處理,那如何保證異步處理的數據一致性
線程池連接滿了怎麼解決,有哪些拒絕策略,通常採用哪一種,workQueue的作用
項目中(單機環境)用到了Quartz進行作業調度,那如果在分佈式環境下,任務重複執行了怎麼辦
分佈式鎖有哪幾種實現方式
多線程環境下怎樣保證鎖是安全的,操作的原子性怎麼保證
3.終面hr面(三人羣面,兩位hr, 50min):
暫不補充;