雲端計算面試題筆試錦集,雲端計算實用面試題答案二

千鋒雲端計算發表於2019-05-29

雲端計算正在成為企業部署新應用程式的一個主要方法,這一趨勢正在迅速改變著IT就業市場。其中,對於雲端計算架構師的需求特別高,同時帶來的也是豐厚的薪水。這裡,我們列出了在雲端計算架構師招聘面試中面試者有可能被問到的問題,以及針對如何回答問題的建議,希望對你得到雲端計算架構師的崗位有所幫助。選行業找工作雲端計算是一個不錯的選擇,所以這次小編就為大家帶來雲端計算面試及答案,希望能夠對大家找工作的征程有所助益,這篇文章為雲端計算實用面試題第二部分:

雲端計算面試題筆試錦集,雲端計算實用面試題答案二

垃圾收集將檢查並釋放不再使用的記憶體,因為JVM 垃圾收集器收集一個物件之前,一般要求程式呼叫適當的方法釋放資源,但在沒有明確釋放資源的情況下,Java 提供了預設機制來終止化該物件心釋放資源,這個方法就是 finalize( )。

所以說垃圾收集的程式是不需要明確釋放物件的。

現代垃圾收集能夠處理迴圈引用問題。

首先垃圾回收的迴圈引用問題的描述如下:

class A

{

B b;

}

 

class B

{

A a;

}

 

A var_a= new A();

B var_b = new B();

var_a.b = var_b;

var_b.a = var_a;

至此實現了迴圈引用。

var_a和var_b是變數的名字,在棧上,裡面存放的值是一個地址,指向在堆中開闢的兩個物件,姑且叫他們obj_a和obj_b好了。obj_a有兩個變數指向它var_a和var_b.a,計數為2,obj_b也有兩個變數指向它var_b和var_a.b計數為2。當程式執行結束時,會銷燬var_a和var_b,因為他們是棧上的東西,作用也就儲存下地址而已。此時obj_a和obj_b的引用計數變為1。這裡我們要知道一點:var_a的b是儲存在堆上的。var_b的a也是儲存在堆上的。obj_a有個引用指向它,來源於obj_b中,同樣obj_b有obj_a指向的引用。這時的操作就是確定兩個在堆中的物件能否被銷燬。檢視obj_a是否有引用指向它,有且來源於obj_b,那就不銷燬obj_a,檢視obj_b是否有引用指向它,有且來源於obj_a,那就不銷燬。到此obj_a和obj_b相互引用,一直都不會銷燬。

再看下面的例子

class A

{

B b;

}

 

class B

{

}

A var_a = new A();

B var_b = new B();

var_a.b = var_b;

這不是迴圈引用。

堆中有兩個物件obj_a,obj_b。obj_a的引用計數為1,obj_b的引用計數為2。當程式執行結束時,先處理棧中的變數,銷燬var_a,var_b。那麼obj_a的引用變為0,obj_b的引用變為1。然後將視角放到堆上,檢視obj_a的引用計數,現在是0,銷燬obj_a。檢視obj_b的引用計數,因為obj_a已經銷燬了,obj_a中的變數b也就不存在了,那麼obj_b的引用計數也就變成了0,那就銷燬obj_b。如果先檢視obj_b再檢視obj_a得到的結果也是一樣的哦。垃圾收集起會不定時的來記憶體巡視一番的。

//然而現代垃圾收集能夠處理迴圈引用問題

單純的基於引用計數實現的計數器是無法處理迴圈引用問題的

cpython等現代垃圾收集機制就是採用引用計數,的主垃圾回收器來收集垃圾,對於那些因為迴圈引用無法清理的物件,cpython會不時啟動一個輔助的基於引用遍歷的垃圾回收器來清理它們。

Java 語言將記憶體分配和釋放的工組交給了自己,程式設計師不必做這些工作,它提供一個系統級的執行緒跟蹤每個記憶體的分配,在jvm的空閒處理中,垃圾收集執行緒將檢查和釋放不再使用的記憶體(即可以被釋放的記憶體)。垃圾收集的過程在 Java 程式的生存期中是自動的,不需要分配和釋放記憶體,也避免了記憶體洩漏。

可以呼叫 System.gc()方法建議 JVM 執行垃圾收集以使得可被釋放的記憶體能立即被使用,當此方法返回的時候, JVM 已經做了最大的努力從被丟棄的物件上回收記憶體空間。程式設計師不能指定收集哪些記憶體,一般而言也不用關心這個問題,除非是程式的記憶體消耗很大,特別是有很多臨時物件時可以“建議“進行垃圾收集以提高可用記憶體。需要指出的是呼叫 System.gc()方法不能保證 JVM 立即進行垃圾收集,只是建議,因為垃圾收集執行緒的優先順序很低(通常是最低的)。

毫無疑問,垃圾收集能提高程式猿的效率

在Java中,引入了垃圾回收機制:垃圾回收器(Garbage Collector, GC),可以自動回收記憶體中的垃圾,這是Java語言相對於其它語言的優勢地方,但是記憶體洩漏並不會因此而完全避免。

Java 的垃圾回收機制是為所有java應用程式服務的,而不是為某個特定的程式服務的。因此,任何一個程式都沒有權利去命令垃圾回收機制做什麼、怎麼做或做多少。

在Java中,負責對位元組程式碼解釋執行的是虛擬機器。

在php中,disable_functions是禁用一些危險函式,register_globals的意思就是註冊為全域性變數,所以當On的時候,傳遞過來的值會被直接的註冊為全域性變數直接使用,而Off的時候,我們需要到特定的陣列裡去得到它。open_basedir就是將使用者可操作的檔案定死在某個目錄下。這三個都跟安全有很大關係,而file_uploads就是上傳東西,跟安全沒什麼大關係。

用sql語言實現回收使用者lilei對職員表staff中工資salary的修改許可權:revoke update(salary) on staff from lilei

二維陣列是其陣列元素為線性表的線性表

lp命令包含有關aix列印子系統,lp的用途就是請求傳送到行列印表機

06 03 * * 03 lp /usr/local/message | mail -s "server message" root這條命令會在每週三03:06分自動執行

class Parent(object):

  x = 1

 class Child1(Parent):

  pass

 class Child2(Parent):

  pass

 print Parent.x, Child1.x, Child2.x

Child1.x = 2print Parent.x, Child1.x, Child2.x

Parent.x = 3print Parent.x, Child1.x, Child2.x

輸出:

1 1 1

1 2 1

3 2 3

線型探測,二次探測,拉鍊法,二次雜湊都是屬於hash碰撞解決方法

軟體專案儲存於/ftproot,允許apache使用者修改所有程式,設定訪問許可權的指令:

chmod apache -R /ftproot

其中-r是遞迴子目錄

socket通訊是不一定需要建立連線的

socket的客戶埠是不固定的,而socket服務端的埠是固定的

socket用於描述ip地址的埠,是一個通訊鏈的句炳

createEvent,createFile,createSemaPhore可以返回windows核心物件

強制解除安裝已安裝軟體需要的引數:rpm -e --nodeps

資料庫設計裡,檢視(View)可以使得我們為一個或多個資料表定義一個特殊的表現形式,檢視在行為上與資料表沒啥特別區別,可以使用基本的select,insert,update等命令修改資料,但對於update操作,也有一些限制,其中受限的原因有:

1如果檢視裡的資料來自多張字表時

2初始化view定義的select語句中包含了group by,distinct,limit,或having等命令


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2646113/,如需轉載,請註明出處,否則將追究法律責任。

相關文章