給學弟,學妹整理的面試問題!!
阿新 • • 發佈:2021-09-27
一門永不過時的程式語言——Java 軟體開發。
Java程式語言佔比:
據官方資料統計,在全球程式語言工程師的數量上,Java程式語言以1000萬的程式設計師數量位居首位。 而且很多軟體的開發都離不開Java程式設計,因此其程式設計師的數量最多。而在以Java程式設計為核心的開發領域中,javaEE程式設計師的需求量10年來一直居於首位!
Java工程師就業:
1.通過各大招聘網站統計,全國海量公司都在招聘Java開發工程師
2.北京Java開發工程師平均薪資,即19208元
3.全國Java開發薪資前三:北京 上海 深圳
先給大家複習一下基礎題!!!
Java基礎是java初學者的起點,是幫助你從小白入門到精通必學基礎課程!
為初學者而著!
配套學習:
Java面試題
基礎:
- JDK 和 JRE 的區別
- == 和 equals 的區別
- 基本型別和包裝類物件使用 == 和 equals進行比較的結果?
- 什麼是裝箱?什麼是拆箱?裝箱和拆箱的執行過程?常見問題?
- hashCode()相同,equals() 也一定為 true嗎?
- final 在 java 中的作用
- final finally finalize()區別
- finally語句塊一定執行嗎?
- final 與 static 的區別
- return 與 finally 的執行順序對返回值的影響
- String物件中的replace和replaceAll的區別?
- Math.round(-1.5) 等於多少?
- String 屬於基礎的資料型別嗎?
- java 中操作字串都有哪些類?它們之間有什麼區別?
- 如何將字串反轉?
- String 類的常用方法
- 普通類和抽象類有哪些區別?
- 抽象類必須要有抽象方法嗎?
- 抽象類能使用 final 修飾嗎?
- 介面和抽象類有什麼區別?
- Java4種訪問修飾符許可權的區別?
- Java中的 << << >>> 是什麼?
- javap 指令
- throw 和 throws 的區別?
- try-catch-finally 中哪個部分可以省略?
- 常見的異常類有哪些?
IO:
- java 中 IO 流有哪些?
- BIO、NIO、AIO 有什麼區別?
- 什麼是JAVA內部類?
- nio中的Files類常用方法
集合:
- java 有哪些常用容器(集合)?
- Collection 和 Collections 有什麼區別?
- List、Set、Map 之間的區別是什麼?
- HashMap 和 Hashtable 有什麼區別?
- 使用 HashMap 還是 TreeMap?
- HashMap 的實現原理
- HashSet 的實現原理
- ArrayList 和 LinkedList 的區別
- 如何實現陣列和 List 之間的轉換?
- ArrayList 和 Vector 的區別是什麼?
- Array 和 ArrayList 有何區別?
- 在 Queue 中 add() 和 offer()有什麼區別?
- Queue 中 remove() 和 poll()有什麼區別?
- 在 Queue 中 element() 和 peek()有什麼區別?
- 哪些集合類是執行緒安全的?
- 迭代器 Iterator 是什麼?
- Iterator 怎麼使用?有什麼特點?
- Iterator 和 ListIterator 有什麼區別
- 怎麼確保一個集合不能被修改?
併發:
- 並行和併發有什麼區別?
- 執行緒和程序的區別?
- 守護執行緒是什麼?
- 建立執行緒有哪些方式?
- sleep() 和 wait() 有什麼區別?
- Runnable 和 Callable 有什麼區別?
- 執行緒有哪些狀態?
- notify() 和 notifyAll() 有什麼區別?
- JDK1.8 建立執行緒池有哪幾種方式?
- 執行緒池有哪些狀態?
- 執行緒池中 submit() 和 execute()方法有什麼區別?
- java 程式中怎麼保證多執行緒的執行安全?
- 多執行緒鎖的升級原理是什麼?
- 什麼是死鎖?
- 怎麼防止死鎖?
- ThreadLocal 是什麼?有哪些使用場景?
- synchronized 底層實現原理?
- synchronized 和 volatile 的區別是什麼?
- synchronized 和 Lock 有什麼區別?
- synchronized 和 ReentrantLock 區別是什麼?
- ReadWriteLock 如何使用?
- JDK 中 Atomic 開頭的類實現原子性的原理是什麼?
- 介紹一下 ForkJoinPool
- LongAdder 與AtomicLong有什麼區別?
反射:
- 什麼是反射?
- 動態代理是什麼?應用場景?
- 怎麼實現動態代理?
序列化:
- 什麼是 java 序列化?
- 什麼情況下需要序列化?
克隆:
- 什麼場景要物件克隆?
- 如何實現物件克隆?
- 深拷貝和淺拷貝區別是什麼?
Web:
- jsp 和 servlet 有什麼區別?
- jsp 有哪些內建物件?作用分別是什麼?
- jsp 的 4 種作用域?
- session 和 cookie 有什麼區別?
- session 的工作原理?
- 客戶端禁止 cookie,session 還能用嗎?
- http 響應碼 301 和 302 代表的是什麼?有什麼區別?
- forward 和 redirect 的區別?
- tcp 和 udp 的區別?
- tcp 為什麼要三次握手,兩次不行嗎?為什麼?
- tcp 粘包是怎麼產生的?
- OSI 的七層模型有哪些?
- get 和 post 請求有哪些區別?
- 如何實現跨域?
- JSONP 實現原理?
安全:
- 如何避免 sql 注入?
- 什麼是 XSS 攻擊,如何避免?
- 什麼是 CSRF 攻擊,如何避免?
設計模式:
- 常用的設計模式?
- 簡單工廠和抽象工廠有什麼區別?
Spring框架:
- 為什麼要使用 spring 框架?
- 什麼是 aop?
- 什麼是 ioc?
- spring 有哪些主要模組?
- spring 常用的注入方式有哪些?
- spring 中的 bean 是執行緒安全的嗎?
- spring 支援幾種 bean 的作用域?
- spring 自動裝配 bean 有哪些方式?
- spring 事務實現方式有哪些?
- 介紹一下 spring mvc
- spring mvc 執行流程?
- spring mvc 有哪些元件?
- @RequestMapping 的作用是什麼?
- @Autowired 的作用是什麼?
- 什麼是 spring boot?為什麼要用?
- spring boot 核心配置檔案是什麼?
- spring boot 有哪些方式可以實現熱部署?
想要學習更多的知識可以,工眾號:程式設計領域
Java初學者學習教程: