1. 程式人生 > >校招面試之終結篇

校招面試之終結篇

整理的校招面試題如下,希望對即將畢業的小夥伴有所幫助~

1、java基礎

Java基礎型別有哪些 String是不是基本資料型別

static關鍵字和final關鍵字的含義

++i和i++

volatile的理解

synchronized是阻塞式同步

hashCode和equal的區別和聯絡

常見異常有哪些,遇到異常怎麼處理

JVM類載入機制

JVM垃圾如何回收 【垃圾回收器,年輕代、年老代】

垃圾回收演算法、垃圾回收器、垃圾回收策略

什麼時候棧記憶體溢位,什麼情況堆記憶體溢位

String StringBuffer StringBuider的區別

抽象類和介面的區別

http中,get post的區別

事務的四個特性,以及各自的特點(原子、隔離)

索引的資料結構,B+樹

熟悉ISO七層和五層框架

理解TCP和UDP等網路協議 TCP和UDP的區別

快取有了解嗎?什麼情況使用快取?怎麼設計快取?

索引是對資料庫表中一個或多個列的值進行排序的資料結構,以協助快速查詢、更新資料庫表中資料。

mysql的基本操作 主從資料庫一致性維護

mysql的優化策略有哪些

linux命令,awk、cat、sort、cut、grep、uniq、wc、top等

你所在專案的系統架構,談談整體實現

訊息佇列的使用場景

一個表tb1,欄位是name,class,score。分別代表姓名,所在班級,分數。要求用一條語句查出每個班的及格人數和不及格人數

2、集合類

常見java集合類有哪些

Java集合框架的基礎介面有哪些 Collection Set List Map

為什麼Map介面不繼承Collection介面

List、Set、Map之間的區別

ArrayList與LinkedList的區別

set和list的區別

HashMap實現原理

HashMap衝突很厲害,最差效能,你會怎麼解決?從O(n)提升到log(n)

HashMap和LinkedHashMap區別

HashMap是執行緒安全的嗎?怎麼使它安全,Concurrenthashmap的實現

幾種常用的資料結構及內部實現原理

String s = new String(“xyz”);

Java多型的實現

堆和棧的區別

Collections和Collection的區別

3、io

把一個物件寫入資料來源或者從一個數據源讀出來,用哪兩個流

說說你對io流的理解

什麼叫物件序列化,什麼是反序列化,實現物件序列化需要做哪些工作

IO和NIO區別

Java IO常見的類,什麼時候使用位元組流和字元流

使用了哪些模式

Java NIO模型

4、多執行緒

同步、互斥以及死鎖的概念

併發的理解

能寫出簡單的多執行緒或非同步併發程式,理解執行緒同步和互斥機制,理解死鎖的概念和演算法

書寫一個生產者和消費者

執行緒的基本概念、執行緒的基本狀態以及狀態之間的關係

談談JVM的記憶體模型

什麼叫執行緒安全

怎麼保證執行緒安全

為什麼使用執行緒池

多執行緒間怎麼通訊

同步和非同步,阻塞和非阻塞的理解

建立執行緒有幾種方式

執行緒池的瞭解

死鎖程式碼實現

netty 模型

怎麼設計一個執行緒池

同步和互斥

簡單完整的Client端和Server端程式

在多執行緒環境中使用HashMap有什麼問題?呼叫get()方法什麼時候會進入無限迴圈?

5、spring

使用spring的好處

spring兩大特性

Spring mvc的原理

怎麼設計介面

6、演算法和智力題

1、二分查詢

2、快速排序

3、連結串列中刪除一個節點 o(1)

4、連結串列逆置

5、設計一個類,只能生成該類的一個例項,考慮併發問題

6、子陣列的最大和 o(n)

7、一個n階的梯子,一次只能上一個或兩個臺階,求有多少種方法

8、求二叉樹的最大深度

9、連結串列逆序

10、移除連結串列倒數第n個元素

11、將兩個有序連結串列合併

12、給定一個整數陣列,求解陣列中連續子陣列之和的最大值

13、從1000w個數中找到最大的兩個數

14、二叉樹的映象

15、輸入一個已經按升序排過的陣列和一個字, 在陣列中查詢兩個,使得它們的和正好是輸入那字。 要求時間複雜度是 O(n) 如果有多對數字的和等於輸入,出任意一即可例如輸入陣列 1、2、4、7、11 、15 和數字 15

16、字串最長公共子串

17、用棧實現佇列

18、用佇列實現棧

19、題目:兩個單向連結串列,找出它們的第一公共結點。

20、有無限的水,一個5升的桶,一個3升的桶,得到4升

21、LRU快取的實現

22、基於rand7()求rand10()

23、最長公共字首

24、兩個有序陣列,求中位數

25、100根火柴,輪流取,1或2根,如何保證一定贏?

26、synchronized和lock有什麼區別?

27、在秒殺系統的基礎上如何設計一個支付業務

28、一個執行緒接收訊息放入佇列,佇列設定最大值,另外一個執行緒處理訊息