Java面試集錦(一)

計算機網絡

摘要:1. 在瀏覽器中輸入url地址 顯示主頁的過程,整個過程會使用哪些協議 image.jpeg總體來說分爲以下幾個過程: DNS解析 TCP連接 發送HTTP請求 服務器處理請求並返回HTTP報文 瀏覽器解析渲染頁面 連接結束 在瀏覽器中輸入網址之後執行會發生什麼? DNS解析,找到對應ip地址 客戶 閱讀全文

 

操作系統

摘要:1. 進程的常見狀態?以及各種狀態之間的轉換條件? 就緒:進程已處於準備好運行的狀態,即進程已分配到除CPU外的所有必要資源後,只要再獲得CPU,便可立即執行。 執行:進程已經獲得CPU,程序正在執行狀態。 阻塞:正在執行的進程由於發生某事件(如I/O請求、申請緩衝區失敗等)暫時無法繼續執行的狀態。 閱讀全文

 

Redis相關

摘要:1. 爲啥在項目裏要用緩存呢 用緩存,主要是倆用途,高性能和高併發 高性能image.png 高併發image.png 2.介紹 Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協議、支持網絡、可基於內存亦可持久化的日誌型、Key Value 數據庫,並提供多種語言的 API的非 閱讀全文

 

Spring/Spring mvc

摘要:1. 介紹spring框架 Spring是一套爲了解決企業應用開發的複雜性而創建的框架,特點是分層的架構,允許用戶在不同層面使用不同的組件進行組合。同時通過IOC容器來降低耦合,簡化開發。利用AOP來進行切面編程統一管理通用模塊。 2.Spring中AOP的應用場景、Aop原理、好處? 主要是兩種, 閱讀全文.

 

RabbitMQ

摘要:RabbitMQ 即一個消息隊列,主要是用來實現應用程序的異步和解耦,同時也能起到消息緩衝,消息分發的作用。 ①.通過異步處理提高系統性能image.jpeg通過異步處理提高系統性能 如上圖,在不使用消息隊列服務器的時候,用戶的請求數據直接寫入數據庫,在高併發的情況下數據庫壓力劇增,使得響應速度變慢 閱讀全文

 

分佈式

摘要:1. 分佈式事物 不知道你是否遇到過這樣的情況,去小賣鋪買東西,付了錢,但是店主因爲處理了一些其他事,居然忘記你付了錢,又叫你重新付。又或者在網上購物明明已經扣款,但是卻告訴我沒有發生交易。這一系列情況都是因爲沒有事務導致的。這說明了事務在生活中的一些重要性。有了事務,你去小賣鋪買東西,那就是一手交 閱讀全文

 

Nginx

摘要:簡單介紹一下Nginx Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。 Nginx 主要提供反向代理、負載均衡、動靜分離(靜態資源服務)等服務。下面我簡單地介紹一下這些名詞。 反向代理 談到反向代理,就不得不提一下正向代理。無論是正向代理,還是反向 閱讀全文

 

Spring Cloud

摘要:1. 什麼是微服務 以前的模式是 所有的代碼在同一個工程中 部署在同一個服務器中 同一個項目的不同模塊不同功能互相搶佔資源 微服務 將工程根據不同的業務規則拆分成微服務 微服務部署在不同的機器上 服務之間進行相互調用 Java微服務的框架有 dubbo(只能用來做微服務),spring cloud( 閱讀全文

 

Linux

摘要:1. 軟鏈接: 軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式 軟鏈接可以跨文件系統 ,硬鏈接不可以 軟鏈接可以對一個不存在的文件名進行鏈接 軟鏈接可以對目錄進行鏈接 2. 硬鏈接: 硬鏈接,以文件副本的形式存在。但不佔用實際空間。 不允許給目錄創建硬鏈接 硬鏈接只有在同一個文件 閱讀全文

 

SpringBoot

摘要:1.簡介 Spring Boot 是 Spring 開源組織下的子項目,是 Spring 組件一站式解決方案,主要是簡化了使用 Spring 的難度,簡省了繁重的配置,提供了各種啓動器,開發者能快速上手。 1.1簡化Spring開發的一個框架1.2整合Spring全家桶(整合ssh,ssm,安全,d 閱讀全文

 

秒殺系統設計

摘要:1.主要做到以下兩點: 儘量將請求過濾在上游。 儘可能的利用緩存(大多數場景下都是查多於寫)。 如果流量巨大,導致各個層的壓力都很大可以適當的加機器橫向擴容。如果加不了機器那就只有放棄流量直接返回失敗。快速失敗非常重要,至少可以保證系統的可用性。 業務分批執行:對於下單、付款等操作可以異步執行提高吞 閱讀全文

 

設計模式

摘要:1. 原則 1. 單一職責原則單一職責原則,就一個類而言,應該僅有一個引起它變化的原因。解釋: 如果一個類職責過多,就等於把這些職責耦合在一起; 軟件設計正在要做的許多內容,就是發現職責並把那些職責分離; 如果你能夠想到多於一個的動機去改變一個類,那麼這個類就具有多於一個職責,就應該考慮類的職責分離 閱讀全文

 

數據庫(Mysql)

摘要:1. 數據庫範式 第一範式:列不可分,eg:【聯繫人】(姓名,性別,電話),一個聯繫人有家庭電話和公司電話,那麼這種表結構設計就沒有達到 1NF;第二範式:有主鍵,保證完全依賴。eg:訂單明細表【OrderDetail】(OrderID,ProductID,UnitPrice,Discount,Qu 閱讀全文

 

Java Web

摘要:1.Ajax AJAX = Asynchronous JavaScript and XML(異步 JavaScript 和 XML)。 Ajax 的原理簡單來說通過 XmlHttpRequest 對象來向服務器發異步請求,從服務器獲得數據,然後用 Javascript 來操作 DOM 而更新頁面。這 閱讀全文

 

JavaIO

摘要:1. 圖解 image.pngimage.jpeg 2.BufferedReader屬於哪種流,它主要是用來做什麼的,它裏面有那些經典的方法 屬於處理流中的緩衝流,可以將讀取的內容存在內存裏面,有readLine()方法 3. 什麼是節點流,什麼是處理流,它們各有什麼用處,處理流的創建有什麼特徵 節 閱讀全文

 

JVM(Java虛擬機)

摘要:1. 垃圾回收機制 Stop the World: JVM由於要執行GC而停止了應用程序的執行稱之爲Stop the World,該情形會在任何一種GC算法中發生。當Stop the world發生時,除了GC所需的線程以外,所有線程都處於等待狀態直到GC任務完成。事實上,GC優化很多時候就是指減少 閱讀全文

 

JAVA集合

摘要:1.集合 image.png1. List:有序、可重複。可以通過索引快速查找,但進行增刪操作時後續的數據需要移動,所以增刪速度慢。 2. Set:無序、不可重複。 3. Map:鍵值對、鍵唯一、值不唯一。Map 集合中存儲的是鍵值對,鍵不能重複,值可以重複。根據鍵得到值,對 map 集合遍歷時先得 閱讀全文

 

Java異常

摘要:什麼是Java內存模型 前面介紹過了計算機內存模型,這是解決多線程場景下併發問題的一個重要規範。那麼具體的實現是如何的呢,不同的編程語言,在實現上可能有所不同。 我們知道,Java程序是需要運行在Java虛擬機上面的,Java內存模型(Java Memory Model ,JMM)就是一種符合內存模 閱讀全文

 

Java多線程

摘要:1. 多線程 image.png 新建狀態: 一個新產生的線程從新狀態開始了它的生命週期。它保持這個狀態直到程序 start 這個線程。 運行狀態:當一個新狀態的線程被 start 以後,線程就變成可運行狀態,一個線程在此狀態下被認爲是開始執行其任務 就緒狀態:當一個線程等待另外一個線程執行一個任務 閱讀全文

 

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