開発者インタビューの質問

DDD
リリース: 2025-01-05 13:46:45
オリジナル
475 人が閲覧しました

Perguntas de entrevista DEV

ここでは、プログラミングに関する質問のリストと、それぞれに対する説明的な回答と追加の例を示します。

1. SQL におけるトランザクションの目的は何ですか?

答え:

データベースに保存されているデータの整合性を確保します。

説明:

SQL トランザクションにより、データベース上で実行される操作の一貫性と安全性が確保されます。これらは ACID 原則 (原子性、一貫性、分離性、耐久性) に従い、トランザクション内のすべての操作が実行されるか、まったく実行されないかを保証します。障害が発生した場合は、データの整合性を維持しながらトランザクションをロールバックできます。

例:

2 つの銀行口座間で送金する取引を想像してください。プロセスの途中で送金が失敗した場合、資金が失われないようにトランザクションをロールバックする必要があります。


2. ソフトウェア開発 (TypeScript など) で入力を使用する主な理由は何ですか?

答え:

エラーやバグの簡単な検出。

説明:

TypeScript の場合と同様、静的型付けは、コードが実行される前に、開発中に型エラーを特定するのに役立ちます。これにより、不正なデータ型に関連するバグの数が大幅に減少し、メンテナンスが容易になり、コードの品質が向上します。

例:

TypeScript では、変数を let age:number = "25"; として宣言すると、number 型の変数に文字列を代入しているため、コンパイラはエラーを生成します。


3. アプリケーションで ORM (オブジェクト リレーショナル マッパー) を使用する利点は何ですか?

答え:

オブジェクトをデータベース テーブルにマッピングするプロセスを簡素化するため。

説明:

ORM を使用すると、SQL を直接記述することなく、コード内でオブジェクトを操作し、オブジェクトをデータベース テーブルに自動的にマップできます。これにより、データベースとの対話が容易になり、生産性が向上し、一般的な SQL エラーが回避されます。

例:

Sequelize (Node.js 用) のような ORM を使用すると、User オブジェクトを作成するときに、SQL クエリを手動で記述することなく、そのオブジェクトを自動的にデータベースに保存したり取得したりできます。


4. JavaScript における null と unknown の主な違いは何ですか?

答え:

「Null」は、オブジェクト値が存在しないことを示すために明示的に割り当てられ、「未定義」は初期化されていない変数のデフォルト値です。

説明:

  • null は、値またはオブジェクトが存在しないことを示すために明示的に割り当てられた値です。
  • 未定義 は、宣言されていても初期化されていない変数のデフォルト値です。

例:

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」プロパティを使用します。

説明:

フレックスボックスを使用すると、要素を簡単に位置合わせできます。要素を水平方向に中央揃えにするには、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート