首頁 >web前端 >js教程 >開發面試問題

開發面試問題

DDD
DDD原創
2025-01-05 13:46:45480瀏覽

Perguntas de entrevista DEV

以下是程式設計問題列表,每個問題都有解釋性答案和附加範例:

1. SQL 中事務的目的為何?

答案:

確保資料庫中儲存資料的完整性。

說明:

SQL 事務確保對資料庫執行的操作一致且安全。它們遵循 ACID 原則(原子性、一致性、隔離性和持久性),確保事務中的所有操作要么執行,要么都不執行。如果發生故障,交易可以回滾,保持資料完整性。

範例:

想像一下涉及在兩個銀行帳戶之間轉帳的交易。如果轉帳中途失敗,則必須回溯交易以確保資金不會遺失。


2. 在軟體開發中使用打字的主要原因是什麼(例如在 TypeScript 中)?

答案:

輕鬆偵測錯誤和錯誤。

說明:

與 TypeScript 一樣,靜態類型有助於在開發過程中甚至在程式碼執行之前識別類型錯誤。這可以顯著減少與不正確資料類型相關的錯誤數量,使維護更容易並提高程式碼品質。

範例:

在 TypeScript 中,當變數宣告為 letage: number = "25"; 時,編譯器會產生錯誤,因為我們將字串指派給 number 類型的變數。


3. 在應用程式中使用 ORM(物件關係映射器)有什麼好處?

答案:

簡化將物件對應到資料庫表的過程。

說明:

ORM 可讓您使用程式碼中的物件並自動將它們對應到資料庫表,而無需直接編寫 SQL。這有利於與資料庫的交互,提高工作效率並避免常見的 SQL 錯誤。

範例:

使用像 Sequelize(適用於 Node.js)這樣的 ORM,當您建立 User 物件時,您可以自動將該物件儲存並檢索到資料庫,而無需手動編寫 SQL 查詢。


4. JavaScript 中 null 和 undefined 的主要差異是什麼?

答案:

“Null”被明確分配以指示不存在任何物件值,而“undefined”是未初始化變數的預設值。

說明:

  • null 是明確分配的值,用於指示不存在值或物件。
  • undefined 是已宣告但未初始化的變數的預設值。

範例:

let a = null;  // null é atribuído explicitamente
let b;         // b é undefined porque não foi inicializado

console.log(a);  // null
console.log(b);  // undefined

5. 如何使用 Flexbox 將元素在其父容器中水平居中?

答案:

將「display: flex」屬性套用到父容器並使用「justify-content: center」屬性。

說明:

Flexbox 可以輕鬆對齊元素。若要讓元素水平居中,必須將父容器配置為 display: flex 並使用 justify-content: center 將專案水平置中對齊。

範例:

.container {
  display: flex;
  justify-content: center;
}

.item {
  width: 50%;
}
<div>




<hr>

<h3>
  
  
  6. <strong>Como otimizar o pseudocódigo para verificar se um número N é primo?</strong>
</h3>

<p><strong>Resposta:</strong><br><br>
<strong>Utilizar a raiz quadrada de N como limite superior do loop.</strong></p>

<p><strong>Explicação:</strong><br><br>
Em vez de verificar todos os números até (N-1), você pode verificar até a raiz quadrada de (N). Isso reduz significativamente a quantidade de verificações, pois, se (N) tem um divisor maior que sua raiz quadrada, o outro divisor já terá sido encontrado antes.</p>

<p><strong>Exemplo:</strong><br>
</p>

<pre class="brush:php;toolbar:false">function isPrime(N) {
  if (N <= 1) return false;
  for (let i = 2; i <= Math.sqrt(N); i++) {
    if (N % i === 0) return false;
  }
  return true;
}
console.log(isPrime(29));  // true

7. SQL 中事務的目的是什麼?

答案:

確保資料庫中儲存資料的完整性。

說明:

SQL 中的交易用於確保對資料庫的操作正確完成或回滾。這可以確保即使發生故障資料庫也保持一致。

範例:

在銷售交易中,如果更新庫存後付款失敗,可以回溯交易,以確保庫存不更新而未付款。


8. Git 中的哪個指令可以撤銷錯誤執行的合併?

答案:

git merge --abort

說明:

如果您執行合併並意識到您從錯誤的分支引入了更改,則可以使用 git merge --abort 命令取消合併並返回到先前的狀態,而不套用變更。

範例:

git merge feature-branch
# Se perceber que o merge foi feito na branch errada
git merge --abort

9. 使用 ORM(物件關係映射器)的主要好處是什麼?

答案:

簡化將物件對應到資料庫表的過程。

說明:

ORM 允許您在程式碼中使用對象,並且 ORM 負責自動將這些對象映射到資料庫,而無需直接編寫 SQL。

範例:

使用Sequelize ORM,當您建立新使用者時,它會自動將資料儲存到資料庫,而無需您編寫SQL:

let a = null;  // null é atribuído explicitamente
let b;         // b é undefined porque não foi inicializado

console.log(a);  // null
console.log(b);  // undefined

這些範例和解釋應該可以幫助您更好地理解程式設計問題中涵蓋的概念。

以上是開發面試問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn