Java面試清單和書籍推薦

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。
本文連接: http://www.javashuo.com/article/p-ozwlkfgx-cm.html

前言

面試必備技能清單,這裏不會詳細論述,更多的是清單列舉,羅列一些關鍵字和連接註釋。php

數據結構與算法

Java

  • Java 基礎部分

  • Java 集合框架
    • ArrayList 與 LinkedList
    • Hashtable、Hashmap 與 ConcurrentHashmap
  • Java 併發編程
    • 線程狀態
      • 新建、可運行(運行和就緒)、阻塞、無限期等待、限期等待、死亡
    • 實現線程三種方式(繼承Thread,實現 Runnable 接口,實現 Callable 接口)
    • 併發兩個關鍵問題
      • 線程通訊
      • 線程同步
    • volatile 和 synchronized
    • lock 和 synchronized
    • Java內存模型(JMM),解決併發中的可見性,原子性,有序性問題
  • Java IO
    • 序列化
    • AIO、BIO、NIO
  • Java 虛擬機
    • 運行時數據區
    •  
  • Java 設計模式
    • 單例模式
    • 工廠模式

Java Web

  • Spring
    • IOC
    • AOP
    • DI
  • SpringMVC
    • 執行流程
  • MyBatis

數據庫

  • 存儲引擎程序員

    • MyISAM(表級鎖,不支持事務,全文索引,只讀應用)
      • .frm / .myd / .myi
      • 非彙集索引
    • InnoDB(行級鎖,最大支持併發,事務,表更新和查詢都至關的頻繁)
      • .frm / .ibd
      • 彙集索引,以主鍵爲索引來組織數據
  • 索引(衡量標準:IO漸進複雜度)github

    • Hash(衝突,沒法作範圍查詢)
    • FullText(全文搜索,優化:前綴索引)
    • R-Tree(空間索引,附近三千米的數據怎麼查詢)
    • B+ Tree(B Tree:每一個key、data信息存在結點,B+ Tree存在葉子節點)
  • 哪些狀況下不會使用索引面試

    • 全表掃描更快
    • 條件中有or
    • 不是複合索引的第一部分
    • like以%開始
  • 隔離級別正則表達式

    • 串行化
    • 可重複讀
    • 讀已提交
    • 讀未提交
  • Redis 數據類型算法

    • String:字符串
    • Hash:字典
    • List:鏈表
    • Set:集合
    • Sorted Set:有序集合

操做系統

  • 進程和線程的區別thinkphp

    • 資源、調度、開銷、通訊 4個方面來對比
  • 線程間通訊

    • synchronized
    • while輪詢
    • wait() / notify()
    • 管道
  • 進程通訊

    • 直接通訊
    • 間接通訊

計算機網絡

  • 應用層

    • HTTP請求和響應報文
  • 傳輸層

    • 爲何三次握手,兩次不行嗎
    • 四次揮手 TimeWait 做用
    • TCP可靠傳輸

分佈式

  • 分佈式通訊協議

    • http
    • https
    • RESTful API
  • 分佈式鎖

項目

  • 掃碼登陸原理

  • Cookie 和 Session 的原理

  • 單點登陸

  • 參考資料

 

 

1、數據結構與算法

包含數據結構與算法兩部分。

📚閱讀清單

📺學習課程

2、Java

包含 Java 核心知識和 Java Web 框架。

📚閱讀清單

📺學習課程

  • 【廖雪峯】Java教程
  • 【龍果學院】Java併發編程原理與實戰
  • 【龍果學院】深刻理解Java虛擬機(jvm性能調優+內存模型+虛擬機原理)
  • 【慕課網】Java零基礎入門
  • 【尚學堂】白鶴翔_jvm虛擬機優化
  • 【網易雲課堂】Java開發工程師(Web方向)翁凱
  • 【慕課網】Spring Cloud微服務實戰_廖師兄
  • 【黑馬程序員】SSH框架_王澤
  • 【黑馬程序員】SpringMVC+Mybatis
  • 【牛客網】初中高Python+Java項目實戰_葉神

3、Web Server

  • 【網易雲課堂】thinkphp5開發restful-api接口

4、面向對象

5、數據庫

📚閱讀清單

  • 《高性能MySQL》
  • 《Redis實戰》

📺學習課程

  • 【慕課網】MySQL性能管理及架構設計
  • 【慕課網】Redis從入門到高可用,分佈式實踐

6、操做系統

📚閱讀清單

  • 《Linux+C程序設計大全》
  • 《快樂的Linux命令行》
  • 《深刻理解計算機系統》
  • 《UNIX環境高級編程》
  • 《Linux+高性能服務器編程》

📺學習課程

7、計算機網絡

📚閱讀清單

  • 《圖解HTTP》
  • 《計算機網絡原理創新教程》韓立剛主編

📺學習課程

  • 【51CTO】韓老師-計算機網絡原理-156講
  • 【慕課網】HTTP協議原理+實踐 Web開發工程師必學

8、系統架構

📚閱讀清單

📺學習課程

  • 【慕課網】Nginx從入門到實踐
  • 【咕泡學院】架構師系列課程

9、面試

  • 【慕課網】360大牛全面解讀PHP面試

  • 【慕課網】Google面試官親授 升級Java面試

10、機器學習

📚閱讀清單

  • 《機器學習實戰》

📺學習課程

  • 【慕課網】Python3入門機器學習 經典算法與應用
  • 【莫煩Python】機器學習系列

11、工具

📺學習課程

相關文章
相關標籤/搜索