2017春招 互聯網名企面試問題整理即相關知識總結 Java集合框架梳理(含經典面試題)

2017春招·互聯網名企最新面經合集(持續更新) 1-25html

來源:牛客網 https://zhuanlan.zhihu.com/p/26455288java

1. Java基礎

【JVM】mysql

知識點整理博客:詳細介紹Java虛擬機(JVM)linux

重點知識點:面試

  • JVM內存分配和回收(五大數據區、棧堆分別存儲的內容)
  • JVM三大機制(尤爲是類加載機制、類加載過程)
  • 雙親委派模式及如何破壞

面試題集錦:正則表達式

  • JVM內存模型(五大數據區域、堆棧、標記壓縮/標記清除,年輕/老年/永久)
  • JVM堆棧靜態區分別存儲的內容
  • JVM的類加載機制(ClassLoader),雙親委派、破壞雙親委派機制
  • 垃圾回收 (GC,如何判斷一個對象不可達)
  • 剛剛說的GC Root,有哪些對象能夠當作GC Root呢?
  • JVM可視化工具

 

【集合框架】算法

知識點整理博客:Java集合框架梳理(含經典面試題)spring

重點知識點:sql

  • 集合框架的各個接口、類的區別
  • HashMap:底層實現、線程安全、hashCode()和equals()方法、與其餘集合類的區別、哈希碰撞
  • Map的遍歷

面試題集錦:shell

  • 經常使用的集合框架(LinkedList, ArrayList, HashMap等等)
  • HashMap的底層實現
  • 在多線程的條件下HashMap安全嗎,會怎讓解決這個問題呢?(ConcurrentHashMap)
  • ConcurrentHashMap和HashTable什麼區別
  • hashCode和equals方法的區別與聯繫
  • hashtable和hashmap的區別
  • 線程安全和不安全的map:hashmap treemap hashtable concurrenthashmap. collections.synchronizedmap
  • hashtable怎麼實現線程安全:synchronized
  • hashmap存數據的過程,以及怎麼肯定是更新和插入。
  • hashmap的iterator讀取時是否會讀到另外一個線程put的數據 
  • 哈希表處理衝突的方法
  • List和Set區別
  • HashSet如何實現,for遍歷集合能進行刪除操做嗎?
  • 說一下 java中的隊列、set、map 區別,java裏的數據結構。講講它們的實現。
  • Map、EntrySet和KeySet哪一個效率更高?

 

【進程和線程】

知識點博客整理:

Java多線程(一) —— 線程的狀態詳解

Java多線程(二) —— 線程安全、線程同步、線程間通訊(含面試題集)

重點知識點:

  • 線程的集中狀態及狀態間的切換
  • 多線程的優缺點
  • 線程安全(同步、鎖)
  • 線程間通訊
  • 幾個重要方法的做用:join()、sleep()、wait()、yeild() ...
  • 幾個重要關鍵詞: volatile、synchronized、Lock

面試題集錦:

  • 線程幾種狀態
  • 建立線程的4中方式
  • sleep() 和wait() 的區別
  • 多線程框架講一講
  • 進程之間通訊的方式
  • 多線程的好處
  • 若是兩個線程都使用一個ByteBuf  怎麼保證它的安全,具體說一下代碼實現
  • 多線程安全、線程join、線程池(newFixedThreadPool有幾種)、CountDownLatch、信號量
  • 三個線程的實現方式,線程中的同步 
  • 併發、併發中的threadlocal介紹、原理
  • 講一講鎖,volatile、synchronized、Lock
  • 鎖機制以及幾種鎖的原理以及區別
  • synchronized和lock的區別,你用過哪些鎖。
  • 多線程同步,java中線程安全的類

 

【關鍵字】

知識點整理博客:Java 面試總結(一) —— 面試常問的關鍵字總結

重點知識點:

  • final finalize finally
  • throws和throw
  • static關鍵字的做用
  • abstract 和 interface 
  • super 和 this
  • synchronize 和 volatile

面試題集錦:

  • final finalize finally
  • throws  throw 怎麼用?
  • static關鍵字的做用
  • abstract 關鍵字的做用,何時用
  • 子類中如何調用父類的構造器,若是不用super關鍵字呢?有其餘的方式嗎?(this.(參數表)----- 本類)
  • synchronize關鍵字的使用

 

【String】

重點知識點:

 

【IO】

知識點整理博客:

Java I/O 工做機制(一) —— Java 的 I/O 類庫的基本架構

Java I/O 工做機制(二) —— Java 的 I/O 的交互方式分析

重點知識點:

  • 字節流、字符流各自的操做類及互相轉換
  • NIO和BIO
  • 同步異步、阻塞非阻塞

面試題集錦:

  • IO哪一個類能夠ByteString(InputSteamReader/OutputSteamWriter)
  • IO模型
  • NIOBIO的區別
  • 如何輸出文件夾下的全部文件 

 

【設計模式】

 

知識點整理博客:Java設計模式 

重點知識點:

  • 瞭解常見的幾種設計模式:代理模式、包裝模式、工廠模式...

面試題集錦:

 

  • 設計模式知道哪些?JDK或其它框架中有哪些設計模式?代理模式和包裝模式

 

2. 數據結構(hashmap、二叉樹、TreeMap

hash一致性的原理

二叉樹的遍歷

二叉樹的前序遍歷,說下怎麼實現,不用遞歸實現呢? 還有其餘的方式嗎?它們的區別

索引實現原理B+樹(重要),爲何就能實現查詢效率提升  等(都喜歡問b+樹的特色)

 

3.數據庫(MySQL

Mysql數據庫優化方式

MySQL的默認事務隔離級別,有什麼用

MongoDB用過不,此處回答學習分佈式數據庫時候用到過,問和mysql的區別(很簡單,關係型和非關係型,一個是表的形式,一個是json形式存儲)

mysql數據庫鏈接池的驅動參數

數據庫鏈接池如何防止失效

事務acidmysql怎麼實現特性的(acid),事務隔離級別(四條),怎麼實現的,可重複讀和不可重複讀的區別,髒讀和幻讀什麼意思。

事務級別的序列化怎麼實現的,有排它鎖

mysql的索引(又是B+樹)

 

4. 框架問題(SpringMVC、設計模式、Spring AOP IOCMybatis

SpringMVC工做原理

MyBatis 的使用,多個查詢可否用一個鏈接

Spring的加載流程,Spring的源碼中Bean的構造的流程

spring 特性 ,IOC AOP解釋

介紹一下springmvc,隨便說,spring mvc工做流程

 mybatis的#和$號區別

AOP的思想,Spring注入的方式

Redis的一致性哈希算法

 

5. JavaWebJSPServletSessionHTTPFilter

Filter什麼狀況用到了

服務器端Session的保存

各類Web認證

 

6. 計算機網絡

TCP的三次握手和四次揮手
TCP和UDP的區別
tcp 滑動窗口 tcp 狀態碼
SOAP 協議、 HTTP 的某個協議
http 的數據包格式
tcp 包含 ip
tcp 的數據包格式
http狀態碼:200,202,301,302,304,404,500等

 

7. 操做系統

有沒有用到過Linux的底層一點命令,查看堆棧之類的

linux權限控制

linux的顯示文件夾大小 ls -al  

linux的查看端口狀態 natstat加參數  

linux的查看進程的啓動時間 linux ps

日期時間戳、SimpleDateFormat線程安全問題、ThreadLocal

 

8. 算法(排序)

知識點整理博客:排序算法總結及Java實現

  • 介紹快速排序
  • 堆排,若是從若干數中找最大N個數用最大堆仍是最小堆?
  • 二分查找

 

9. 項目

你項目中用到哪些設計模式。

作過的項目 

開發中遇到的問題

 

10. 開放式問題

 最後有什麼問題想問(大家這個職位注重啥

 評價本身優缺點,業餘愛好,最近在看什麼書

 

 

說一下數據結構,有一個很長的鏈表,找出倒數第k個元素。不用兩個指針呢?他們以前有什麼區別?面試官更想聽你說的第二種實現。

前臺中有兩個輸入框ab,在a輸入框輸入數據而且點擊一按鈕後b輸入框響應顯示a的數據,而後點擊一個按鈕後,將數據提交到後臺,後臺處理後返回前臺,具體的邏輯過程

JIT(沒反應過來)、進制轉

LongAtomicLongLongAdderJDK 8)以及JDK 8新特性

正則表達式:電話、郵箱,正則表達式解析。Linux shell查找指定線程、export用法  

講講思路:一個1G文件裏面都是字符串,每一行只有一個字符串,字符串最大16個字節,實現不超過1M空間下找出重複次數最多的前100個字符串; 

5. 兩個系統之間怎麼通信

 

------------------- 待整理 -----------------

相關文章
相關標籤/搜索