最近遇到的幾個面試題

2021-08-31 06:03:34 字數 2361 閱讀 7525

一、物件導向的三大特徵。

繼承、封裝、多型。

[b]封裝[/b]

封裝機制將資料和****到一起,避免了外界的干擾和不確定性。它同樣允許建立物件。簡單的說,乙個物件就是乙個封裝了資料和操作這些資料的**的邏輯實體。

在乙個物件內部,某些**和(或)某些資料可以是私有的,不能被外界訪問。通過這種方式,物件對內部資料提供了不同級別的保護,以防止程式中無關的部分意外的改變或錯誤的使用了物件的私有部分。

[b]繼承[/b]

繼承是可以讓某個型別的物件獲得另乙個型別的物件的屬性的方法。它支援按級分類的概念。例如,知更鳥屬於飛鳥類,也屬於鳥類。這種分類的原則是,每乙個子類都具有父類的公共特性。

[b]多型[/b]

多型是oop的另乙個重要概念。多型的意思是事物具有不同形式的能力。舉個例子,對於不同的例項,某個操作可能會有不同的行為。這個行為依賴於所要運算元據的型別。比如說加法操作,如果操作的資料是數,它對兩個數求和。如果操作的資料是字串,則它將連線兩個字串。就像某個單詞在不同的上下文中具有不同的含義。

二、介面和抽象類的區別

區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於「是」的關係;而介面是定義行為規範,因此對於實現介面的子類來說,相對於介面來說,是「行為需要按照介面來完成」。

區別二,抽象類在定義型別方法的時候,可以給出方法的實現部分,也可以不給出;而對於介面來說,其中所定義的方法都不能給出實現部分。

區別三,繼承類對於兩者所涉及方法的實現是不同的。繼承類對於抽象類所定義的抽象方法,可以不用重寫,也就是說,可以延用抽象類的方法;而對於介面類所定義的方法或者屬性來說,在繼承類中必須要給出相應的方法和屬性實現。

區別四,在抽象類中,新增乙個方法的話,繼承類中可以不用作任何處理;而對於介面來說,則需要修改繼承類,提供新定義的方法。

三、實現多執行緒有幾種方法?

多執行緒有兩種實現方法。一種是繼承thread類,一種是實現runnable介面!

四、spring有哪七大模組?

1 spring--core 模組(反向控制inversion of control)(依賴注入 di(dependency injection))

2 spring--aop 模組

3 spring--orm 模組

4 spring--dao模組

dao模組提供對jdbc的支援,對jdbc進行了封轉,允許jdbc使用spring資源,並能統一管理jdbc的事務。

5 spring--web模組

web模組提供對struts webwork jsf 等各種web框架的支援,spring能管理這些框架,將spring 的資源如資料來源,bean 等注射給框架也能在執行框架方法前後插入spring的***

6 spring--context模組

context 模組提供框架式 bean訪問模式,其他程式通過context訪問spring 的bean資源,類似於jndi

7 spring--web mvc模組

開發者可以選擇struts作為mvc框架,也可以使用spring自帶的mvc框架,srping mvc 與struts等框架相比,更加簡潔,靈活。

五、jsp中的四種作用域。

作用域規定的是變數的有效期限。

1、如果把變數放到pagecontext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。

從把變數放到pagecontext開始,到jsp頁面結束,你都可以使用這個變數。

2、如果把變數放到request裡,就說明它的作用域是request,它的有效範圍是當前請求週期。

所謂請求週期,就是指從http請求發起,到伺服器處理結束,返回響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裡你都可以使用這個變數。

3、如果把變數放到session裡,就說明它的作用域是session,它的有效範圍是當前會話。

所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是乙個人發起的,整個過程被稱為乙個會話(session),而放到會話中的變數,就可以在當前會話的所有請求裡使用。

整個應用是指從應用啟動,到應用結束。我們沒有說「從伺服器啟動,到伺服器關閉」,是因為乙個伺服器可能部署多個應用,當然你關閉了伺服器,就會把上面所有的應用都關閉了。

六、jsp中forward和redirect有什麼區別?

forward是伺服器請求資源,伺服器直接訪問目標位址的url,把那個url的響應內容讀取過來,然後把這些內容再發給瀏覽器,瀏覽器根本不知道伺服器傳送的內容是從哪兒來的,所以它的位址列中還是原來的位址。

redirect就是服務端根據邏輯,傳送乙個狀態碼,告訴瀏覽器重新去請求那個位址。

最近遇到的面試題關於android方面

1.有一種數字叫做回文數字,如121,12321這種對稱的數字,試編寫乙個方法來判斷乙個數字是否是回文數字,如果是回文數字,輸出 true 不是輸出 false public string test string str else 2.請說出執行緒與程序的區別 答 執行緒是在程序裡面的,而每個應用程...

最近面試遇到的幾個題目

一。c net方面 1.怎樣防止進入admin資料夾。2.簡述下request a request.from a request.querystring a 作用和區別?3.列舉ado.net中的五個主要物件,並簡單描述?4.為什麼我們要使用泛型呢?或者 list 和arraylist 有什麼區別?...

最近面試的幾個大廠演算法面試題彙總

某程 都用過哪些演算法?應用最熟悉的是那個?特徵工程如何做?介紹一下rf吧?lr相比樹模型對資料有什麼要求?為什麼有些演算法需要剔除共線性?距離演算法了解哪些?余弦相似性相比k means有什麼區別?k means的k如何選擇的?聚類的效果如何評估?為什麼距離演算法需要對資料進行歸一化?樹模型需要嗎...