Java後臺秋招面試題

最近在秋招中,將常見面試題統計下,作此博客。

併發(線程)

  • 爲什麼不推薦使用Executors直接創建線程池
  • 線程池參數分別代表什麼?怎麼配置才合理?
  • JVM中鎖的分類,偏向鎖、輕量級鎖、重量級鎖

操作系統

  • 死鎖產生原因,如何避免
  • 進程與線程(區別)
  • 內核級線程與用戶級線程
  • 協程
  • 進程通信方式
  • 線程通信方式

計算機網絡

  • POST與GET的區別
  • Http1.0/1.1/2.0區別
  • TCP與UDP的區別
  • 三次握手
  • 四次揮手
  • 滑動窗口
  • 擁塞控制
  • 慢開始、快重傳
  • IO多路複用
  • HTTPS(HTTP的漏洞)
  • 訪問淘寶購買商品的網絡請求過程
  • 兩次握手後,發送某種情況,突然不能第三次握手了,此時會發生什麼?
  • 四次揮手爲什麼是2MSL時間
  • 各種狀態碼(501、502、503、504分別是什麼)

Java基礎

  • String、StringBuilder、StringBuffer區別
  • 重載和重寫區別
  • HashMap
  • ConcurrentHashMap
  • 創建線程的方式
  • synchronized和lock的原理
  • java動態代理和cglib的區別

JVM

  • 查看JVM堆棧情況命令
  • JVM初始化內存命令
  • 堆棧調優的參數
  • 爲什麼要移出永生代,改爲元空間
  • jvm內存區域
  • jvm full gc定位異常代碼位置
  • 老年代的gc算法
  • 複製算法的缺點
  • 標記清除法的優缺點
  • 標記整理法的優缺點
  • 操作數棧怎麼實現i=1+2的
  • 新建對象jvm的內存情況

Mysql

  • 什麼情況下產生死鎖,場景
  • %在左邊怎麼實現索引
  • mvcc的實現
  • MyISAM與InnoDB的區別
  • 數據庫調優
  • B+索引和hash索引區別

Redis

  • Redis 數據結構及使用場景
  • 數據結構底層實現
  • 持久化方式及應用場景
  • redis 快照模式 修改時間的參數
  • redis持久化更改快照和aof的方法
  • 快照和aof的優缺點,應用場景
  • redis 怎麼知道 主從哨兵切換的
  • 1主2從怎麼推選主的
  • 哨兵充當的角色是什麼
  • 分佈式鎖的實現

Spring

  • Spring中的設計模式
  • SpringIOC原理
  • SpringAOP原理
  • Bean生命週期

SpringMVC

  • SpringMVC原理
  • SpringMVC中的設計模式

Mybatis

  • Mybatis原理
  • Mybatis中的設計模式
  • Mybatis #和$的區別

微服務

  • 談談你對微服務和單體架構的理解
  • SpringCloud的組件
  • SpringCloud中各組件是如何相互調用的
  • 註冊中心是怎麼監聽各服務的
  • 分佈式鎖

設計模式

  • 各種設計模式的UML圖

MQ

  • 消息隊列的作用
  • RabbitMQ的推拉模型的實現
  • RabbitMQ生產者丟數據
  • RabbitMQ消費隊列丟數據
  • RabbitMQ消費者丟數據
  • 使用消息隊列的優缺點

其他

  • Cookie、Session、Token的優缺點
  • 單點登錄的實現
  • Java代碼是怎麼運行起來的(從操作系統到JVM到Java代碼一步步實現,講得越詳細越好)
  • 爬蟲怎麼實現的
  • 怎麼防止ip被禁用
  • 代理池怎麼開的
  • csv和excel區別
  • Selenium的使用
  • poi使用場景及性能瓶頸
  • 項目一定要熟悉(會問表設計、設計模式使用、遇到的問題及解決方案、詳細的業務細節、同時會問高併發如何控制)

hr

  • 優缺點
  • 未來3-5年計劃
  • 如果作爲一個項目組長,本預期6個月的項目,現要求你3個月完成,你如何處理
  • 對馬雲“福報”的看法
  • 爲什麼不繼續在實習公司轉正
  • 實習最大的收貨
  • 校園中擔任了什麼學生幹部,組織過什麼活動
  • 爲什麼選擇我們公司
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章