BATJ互聯網月薪38K的Java崗面試題首曝光,掌握這些大廠Offer指定跑不了

最近很多程序員朋友反映工作了好幾年,眼看自己身邊的夥伴都拿到了30K+的薪水,自己的薪水卻遲遲沒有動靜。獵聘大數據表明,無論企業還是個人,都採取積極的行動應對,尋找人才,尋找路徑,尋找新的可能和機遇。

目前,一個Java編程工程師的月薪輕鬆過萬,一個有幾年工作經驗的Java工程師薪酬在36萬~60萬元之間不等,而更頂尖的Java技術人才則是年薪輕鬆超百萬。你的薪資沒到位,是因爲你搞錯了方向。Java編程現在非常熱門,BAT在狂招人,供不應求。

下面給大家帶來一份Java面試題總彙,掌握了這些面試題,我覺得月薪30K你可以衝一下!

內容包括:Java基礎、JVM、多線程、併發、Spring、MyBatis、SpringBoot、MySQL、Redis、SpringCloud、Nginx、MQ、數據結構與算法、Linux,最後還有簡歷指導!

基礎篇

Java語言有哪些特點

面向對象和麪向過程的區別

八種基本數據類型的大小,以及他們的封裝類

String、String StringBuffer 和 StringBuilder 的區別是什麼?

HashMap和HashTable的區別

Java的四種引用,強弱軟虛

有沒有可能兩個不相等的對象有相同的hashcode

try catch finally,try裏有return,finally還執行麼?

OOM你遇到過哪些情況,SOF你遇到過哪些情況

Java IO與 NIO的區別

說說List,Set,Map三者的區別?

JVM篇

簡述一下JVM的內存模型

什麼時候會觸發FullGC

什麼是Java虛擬機?爲什麼Java被稱作是“平臺無關的編程語言”?

對象分配規則

描述一下JVM加載class文件的原理機制?

如何判斷對象可以被回收?

JVM的永久代中會發生垃圾回收麼?

垃圾收集算法

調優命令有哪些?

Minor GC與Full GC分別在什麼時候發生?

你知道哪些JVM性能調優

多線程&併發篇

Java中實現多線程有幾種方法

notify()和notifyAll()有什麼區別?

爲什麼wait和notify方法要在同步塊中調用?

有三個線程T1,T2,T3,如何保證順序執行?

Thread類中的yield方法有什麼作用?

Java線程池中submit() 和 execute()方法有什麼區別?

說說自己是怎麼使用 synchronized 關鍵字,在項目中用到了嗎synchronized關鍵字最主要的三種使用方式:

什麼是線程安全?Vector是一個線程安全類嗎?

常用的線程池有哪些?簡述一下你對線程池的理解

Spring篇

Spring的IOC和AOP機制?

Spring中Autowired和Resource關鍵字的區別?

依賴注入的方式有幾種,各是什麼?

講一下什麼是Spring

Spring MVC流程

SpringMVC怎麼樣設定重定向和轉發的?

SpringMVC常用的註解有哪些?

Spring的AOP理解:

Spring的IOC理解

解釋一下spring bean的生命週期

解釋Spring支持的幾種bean的作用域。

Spring基於xml注入bean的幾種方式:

Spring框架中都用到了哪些設計模式?

Mybatis篇

什麼是MyBatis

MyBatis的優點和缺點

#{}和${}的區別是什麼?

當實體類中的屬性名和表中的字段名不一樣 ,怎麼辦 ?

Mybatis是如何進行分頁的?分頁插件的原理是什麼?

Mybatis是如何將sql執行結果封裝爲目標對象並返回的?都有哪些映射形式?

如何執行批量插入?

Xml映射文件中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?

MyBatis實現一對一有幾種方式?具體怎麼操作的?

Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?

Mybatis的一級、二級緩存

SpringBoot篇

Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?

運行Spring Boot有哪幾種方式?

如何理解 Spring Boot 中的 Starters?

如何在Spring Boot啓動的時候運行一些特定的代碼?

Spring Boot 需要獨立的容器運行嗎?

Spring Boot中的監視器是什麼?

如何使用Spring Boot實現異常處理?

你如何理解 Spring Boot 中的 Starters?

springboot常用的starter有哪些

SpringBoot 實現熱部署有哪幾種方式?

如何理解 Spring Boot 配置加載順序?

Spring Boot 的核心配置文件有哪幾個?它們的區別是什麼?

如何集成 Spring Boot 和 ActiveMQ?

MySQL篇

數據庫的三範式是什麼

數據庫引擎有哪些

InnoDB與MyISAM的區別

數據庫的事務

索引問題

SQL優化

簡單說一說drop、delete與truncate的區別

什麼是視圖

什麼是內聯接、左外聯接、右外聯接?

併發事務帶來哪些問題?

分庫分表之後,id 主鍵如何處理?

Redis篇

Redis持久化機制

緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級等問題

熱點數據和冷數據是什麼

Memcache與Redis的區別都有哪些?

單線程的redis爲什麼這麼快

redis的數據類型,以及每種數據類型的使用場景

redis的過期策略以及內存淘汰機制

Redis 爲什麼是單線程的

Redis 常見性能問題和解決方案?

爲什麼Redis的操作是原子性的,怎麼保證原子性的?

Redis事務

SpringCloud篇

什麼是SpringCloud

什麼是微服務

SpringCloud有什麼優勢

什麼是服務熔斷?什麼是服務降級?

Eureka和zookeeper都可以提供服務註冊與發現的功能,請說說兩個的區別?

SpringBoot和SpringCloud的區別?

負載平衡的意義什麼?

什麼是Hystrix?它如何實現容錯?

什麼是Hystrix斷路器?我們需要它嗎?

說說 RPC 的實現原理

Nginx篇

簡述一下什麼是Nginx,它有什麼優勢和功能?

Nginx是如何處理一個HTTP請求的呢?

列舉一些Nginx的特性

請列舉Nginx和Apache 之間的不同點

在Nginx中,如何使用未定義的服務器名稱來阻止處理請求?

請解釋Nginx服務器上的Master和Worker進程分別是什麼?

請解釋代理中的正向代理和反向代理

解釋Nginx用途

MQ篇

爲什麼使用MQ

MQ優缺點

Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什麼區別?

如何保證高可用的?

如何保證消息的可靠傳輸?如果消息丟了怎麼辦

如何保證消息的順序性

如何解決消息隊列的延時以及過期失效問題?消息隊列滿了以後該怎麼處理?有幾百萬消息持續積壓幾小時,說說怎麼解決?

設計MQ的思路

數據結構與算法篇

常用的數據結構

數據裏有{1,2,3,4,5,6,7,8,9},請隨機打亂順序,生成一個新的數組(請以代碼實現)

寫出代碼判斷一個整數是不是2的階次方(請代碼實現,謝絕調用API方法)

假設今日是2015年3月1日,星期日,請算出13個月零6天后是星期幾,距離現在多少天(請用代碼實現,謝絕調用API方法)

有兩個籃子,分別爲A 和 B,籃子A裏裝有雞蛋,籃子B裏裝有蘋果,請用面向對象的思想實現兩個籃子裏的物品交換(請用代碼實現)

更多算法練習

Linux篇

絕對路徑用什麼符號表示?當前目錄、上層目錄用什麼表示?主目錄用什麼表示? 切換目錄用什麼命令?

怎麼查看當前進程?怎麼執行退出?怎麼查看當前路徑?

查看文件有哪些命令

列舉幾個常用的Linux命令

你平時是怎麼查看日誌的?

簡歷篇

爲什麼說簡歷很重要?

先從面試來說

再從面試說起

必知必會的幾點

必須瞭解的兩大法則

項目經歷怎麼寫

專業技能怎麼寫

排版注意事項

其他一些小tips

由於本套筆記手冊乾貨內容太多,就不一 一展示了,需要的小夥伴可關注後私信回覆“66”獲取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章