原创 【轉載】面試題:面向對象的特徵和基本特徵有哪些 之抽象

 面試題: 面向對象的基本特徵:封裝、繼承、多態 面向對象的特徵:封裝、繼承、多態、抽象 類:一類具有相同特性的事物的抽象描述。 抽象:不明確,不清楚,不確定 反義詞:具體 1、什麼情況下會用到抽象?   我們要聲明(1)圓類(2)矩形

原创 面試必問系列:5、知道多線程嗎?談談你參與過的多線程實戰場景

我先說一下我們公司(某金融公司)的這個需求吧,最近預授信項目要上線了,作爲公司實習生的我肯定不能參與核心業務,於是給我分配了這樣一個需求。 上傳Excel文件,並解析Excel裏面的數據,判斷userId是否存在,是否存在額度申請,是否存

原创 面試必問系列:3、談談你對泛型的理解

01、泛型是什麼? ​ A:泛型其實就是在定義類、接口、方法的時候不侷限地指定某一種特定類型,而讓類、接口、方法的調用者來決定具體使用哪一種類型的參數。 ​ B:比如一個水杯生產的時候不用指定它將來幹什麼?而是由將來的使用者決定放入什麼。

原创 面試必問系列:6、介紹一下volatile關鍵字

volatile關鍵字用來保證有序性和可見性。 有序性: 這跟Java的內存模型有關係。我們寫的代碼不一定是按照我們的書寫的順序來執行,編譯器會做重排序,這樣做的好處是減少了流水線的阻塞。 volatile變量規則是:對一個變量的寫操作先

原创 【高頻面試題】來聊聊volatile關鍵字吧

一、併發和並行的區別 併發 多個線程同時訪問同一個資源  並行 各種事情一路並行做 二、談談你對volatile的理解 1、volatile是java虛擬機提供的輕量級同步機制   保證可見性,不保證原子性,禁止指令重排序。 2、JMM 

原创 【Mybatis高級】手寫一個Mybatis框架?

               

原创 【RabbitMQ】2、談談你對RabbitMQ運轉流程的理解?

運轉流程                      

原创 【Mysql高級】談談你對視圖的瞭解?

一、概述 視圖是一種虛擬存在的表。視圖就是一條SELECT查詢語句。 優勢作用: ①簡單:不需要關係表的關聯關係、表結構、篩選條件 ②安全:只能訪問到他們被允許查詢的結果列。 ③數據獨立:一旦視圖結構確定,可以屏蔽表結構變化對用戶的影響。

原创 【Redis實戰】在項目中緩存是怎麼使用的?緩存使用不當會造成什麼後果?

一、在項目中緩存是怎麼使用的? 結合項目中的業務,加一個場景 二、爲什麼要用緩存? 1、高性能 走內存 2、高併發 可以分擔數據庫的其你去壓力 三、Redis問題  1)緩存與數據庫雙寫不一致 2)緩存雪崩 3)緩存穿透 4)緩存併發競爭

原创 【高頻面試題】Cas你知道嗎?

一、什麼是CAS? 1、比較並交換 AtomicInteger compareAndSet  如果期望值(主內存的值)與修改值(工作內存的值)相同,則修改; 類似GitHub的提交版本號。 2、CAS的底層原理是什麼? 它是一條併發原語

原创 【Mysql高級】談談你對索引的瞭解

一、索引概述 幫助Mysql高效獲取數據的數據結構。在數據之外,數據庫還維護了特定查找算法的數據結構, 這些數據結構以某種方式引用數據。這就是索引。 二、索引的優缺點 三、索引的結構 四、索引的分類 1、單值索引   一個索引只包含