英偉達面試問題及答案


英偉達是領先的高階GPU製造商,主要開發積體電路。為求職者做好準備,練習回答英偉達最可能遇到的面試問題非常必要。因此,我們在此提供英偉達面試中最常被問到的問題。

什麼是易變變數?

它是程式語言中的一個關鍵字。volatile關鍵字的目標是防止編譯器最佳化可能以編譯器無法預測的方式更改的物件。

因為它們的值可以隨時被當前程式碼範圍之外的程式碼更改,所以宣告為volatile的物件不會被最佳化。

C++中的儲存類是什麼?

儲存類可以用來描述變數或函式的特性。這些特性包括作用域、可見性和生命週期,使我們能夠跟蹤特定變數在程式執行期間的存在時間。C++中有五個儲存類:auto、register、extern、static和mutable。

什麼是多型性?什麼是虛擬函式?

虛擬函式是一種特殊的函式,它返回基類和派生類之間函式的最派生版本。這種能力被稱為多型性。虛擬函式的主要目的是執行時多型性。

什麼是純虛擬函式?

純虛擬函式是在基類中沒有定義的函式。它的定義只在派生類中。

遞迴函式呼叫中發生了什麼?缺點是什麼?

遞迴函式使用“呼叫棧”。程式呼叫的函式放在呼叫棧的頂部。這類似於一個書架。每個元素一次新增一個。然後,每當您準備好移除某些內容時,您總是移除頂部的專案。

遞迴重複呼叫函式,因此,方法呼叫的開銷很大,這在處理器時間和記憶體空間方面是昂貴的。

函式指標及其用途

一個儲存函式地址的變數,該函式稍後可以透過該函式指標呼叫,稱為函式指標。函式指標指向程式碼,而不是資料。通常,函式指標儲存可執行程式碼的開頭。

C++中的許多面向物件程式設計範例都是使用C語言中的函式指標實現的,例如多型性和虛擬函式。

堆記憶體和棧記憶體的區別是什麼?

以下是堆記憶體和棧記憶體的區別。

  • 棧記憶體只被一個執行執行緒使用,而所有應用程式元件都使用堆記憶體。

  • 物件的引用總是儲存在棧記憶體和堆空間中,無論何時建立。棧記憶體中只有區域性基本變數和對堆空間中物件的引用變數。

  • 其他執行緒無法訪問棧記憶體,而儲存在堆中的物件可以全域性訪問。

解釋二叉樹遍歷中先序、後序和中序的用例。

先序樹遍歷用於建立樹的副本。後序用於刪除樹,中序按遞減順序給出節點。

什麼是程序、執行緒?什麼是多執行緒?

程式在其執行模式下稱為程序。執行緒是在程序上下文中建立的獨立執行單元。當多個執行緒同時在一個程序中執行時,我們稱之為多執行緒。

什麼是套接字、管道和程序間通訊?

管道是兩個或多個連線或互連程序之間的一種通訊方式。它可能是子程序和父程序之間的通訊,也可能在一個程序內進行。一個程序寫入管道,另一個程序從管道讀取以進行通訊。

套接字提供兩個程序之間的雙向點對點通訊。名稱可以繫結到套接字,套接字是通訊端點。一個或多個程序可以連線到一個套接字。

兩個或多個程序相互通訊的情況稱為“程序間通訊”。這些程序可以位於同一臺計算機上,也可以位於透過網路連線的不同計算機上。

什麼是核心,列出其職責?

核心是作業系統的核心。作業系統的核心處理所有操作。核心負責裝置管理、資源管理、記憶體管理、I/O通訊和中斷處理。

什麼是中斷?

中斷是由計算機程式或連線到它的裝置發出的訊號。作業系統 (OS) 必須停止以決定下一步該做什麼。中斷會暫時暫停或終止服務或當前程序。

你會使用什麼門來製作一個全加器?

製作全加器需要2個半加器和一個或門。

什麼是CPU流水線?它是如何工作的?

透過流水線從處理器累積指令的過程稱為CPU流水線。它使得能夠系統地儲存和執行指令。

透過將傳入的指令分成一系列由不同處理器單元執行的順序步驟,並並行處理指令的不同部分,流水線試圖使處理器的每個部分都忙於某些指令。

HTTP GET和HTTP POST的主要區別是什麼?

在GET方法中,我們不能傳送大量資料;而是傳送有限的資料,因為請求引數附加到URL。在POST方法中,可以傳送大量資料,因為請求引數附加到正文。POST方法比GET方法更安全。

除了這些問題外,英偉達還會問人力資源、謎題和編碼方面的問題。

更新於:2022年11月1日

瀏覽量 936

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告