Rumah >hujung hadapan web >tutorial js >Soalan Temuduga DEV

Soalan Temuduga DEV

DDD
DDDasal
2025-01-05 13:46:45498semak imbas

Perguntas de entrevista DEV

Berikut ialah senarai soalan pengaturcaraan, dengan jawapan penjelasan dan contoh tambahan untuk setiap soalan:

1. Apakah tujuan transaksi dalam SQL?

Jawapan:

Pastikan integriti data yang disimpan dalam pangkalan data.

Penjelasan:

Urus niaga SQL memastikan bahawa operasi yang dilakukan pada pangkalan data adalah konsisten dan selamat. Mereka mematuhi prinsip ACID (Atomicity, Consistency, Isolation and Durability), memastikan sama ada semua operasi dalam transaksi dijalankan atau tiada satu pun daripadanya. Jika kegagalan berlaku, transaksi boleh ditarik balik, mengekalkan integriti data.

Contoh:

Bayangkan satu transaksi yang melibatkan pemindahan wang antara dua akaun bank. Jika pemindahan gagal pada pertengahan proses, transaksi mesti ditarik balik untuk memastikan wang tidak hilang.


2. Apakah sebab utama untuk menggunakan menaip dalam pembangunan perisian (cth. dalam TypeScript)?

Jawapan:

Pengesanan ralat dan pepijat yang mudah.

Penjelasan:

Penaipan statik, seperti dalam kes TypeScript, membantu mengenal pasti ralat jenis semasa pembangunan, sebelum kod itu dilaksanakan. Ini boleh mengurangkan dengan ketara bilangan pepijat yang berkaitan dengan jenis data yang salah, menjadikan penyelenggaraan lebih mudah dan meningkatkan kualiti kod.

Contoh:

Dalam TypeScript, apabila mengisytiharkan pembolehubah sebagai let age: number = "25";, pengkompil akan menghasilkan ralat, kerana kami memberikan rentetan kepada pembolehubah nombor jenis.


3. Apakah faedah menggunakan ORM (Object-Relational Mapper) dalam aplikasi?

Jawapan:

Untuk memudahkan proses memetakan objek ke jadual pangkalan data.

Penjelasan:

ORM membolehkan anda bekerja dengan objek dalam kod dan secara automatik memetakannya ke jadual pangkalan data tanpa perlu menulis SQL secara langsung. Ini memudahkan interaksi dengan pangkalan data, meningkatkan produktiviti dan mengelakkan ralat SQL biasa.

Contoh:

Dengan ORM seperti Sequelize (untuk Node.js), apabila anda mencipta objek Pengguna, anda boleh menyimpan dan mendapatkan semula objek itu secara automatik ke pangkalan data tanpa menulis pertanyaan SQL secara manual.


4. Apakah perbezaan utama antara null dan undefined dalam JavaScript?

Jawapan:

"Null" ditugaskan secara eksplisit untuk menunjukkan ketiadaan sebarang nilai objek, manakala "undefined" ialah nilai lalai untuk pembolehubah tidak diinisialisasi.

Penjelasan:

  • null ialah nilai yang ditetapkan secara eksplisit untuk menunjukkan ketiadaan nilai atau objek.
  • undefined ialah nilai lalai untuk pembolehubah yang diisytiharkan tetapi tidak dimulakan.

Contoh:

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. Bagaimanakah Flexbox boleh digunakan untuk melintang memusatkan elemen dalam bekas induknya?

Jawapan:

Gunakan sifat "display: flex" pada bekas induk dan gunakan sifat "justify-content: center".

Penjelasan:

Flexbox memudahkan untuk menjajarkan elemen. Untuk memusatkan elemen secara mendatar, anda mesti mengkonfigurasi bekas induk dengan paparan: flex dan gunakan justify-content: center untuk menjajarkan item secara mendatar di tengah.

Contoh:

.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. Apakah tujuan transaksi dalam SQL?

Jawapan:

Pastikan integriti data yang disimpan dalam pangkalan data.

Penjelasan:

Transaksi dalam SQL digunakan untuk memastikan bahawa operasi pada pangkalan data dilengkapkan dengan betul atau sebaliknya digulung semula. Ini memastikan pangkalan data kekal konsisten walaupun sekiranya berlaku kegagalan.

Contoh:

Dalam transaksi jualan, jika pembayaran gagal selepas inventori dikemas kini, transaksi boleh ditarik balik untuk memastikan inventori tidak dikemas kini tanpa pembayaran dibuat.


8. Arahan yang manakah dalam Git yang membuat asal cantuman dilakukan dengan salah?

Jawapan:

git merge --abort

Penjelasan:

Jika anda menjalankan gabungan dan menyedari bahawa anda membawa masuk perubahan daripada cawangan yang salah, anda boleh menggunakan perintah git merge --abort untuk membatalkan gabungan dan kembali ke keadaan sebelumnya, tanpa perubahan digunakan.

Contoh:

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

9. Apakah faedah utama menggunakan ORM (Object-Relational Mapper)?

Jawapan:

Untuk memudahkan proses memetakan objek ke jadual pangkalan data.

Penjelasan:

ORM membenarkan anda bekerja dengan objek dalam kod anda dan ORM menguruskan pemetaan objek ini ke pangkalan data secara automatik, tanpa perlu menulis SQL secara langsung.

Contoh:

Menggunakan ORM Sequelize, apabila anda mencipta pengguna baharu, ia secara automatik menyimpan data ke pangkalan data tanpa anda menulis 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

Contoh dan penjelasan ini seharusnya membantu anda memahami dengan lebih baik konsep yang diliputi dalam soalan pengaturcaraan.

Atas ialah kandungan terperinci Soalan Temuduga DEV. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Soalan Temuduga TypeScriptArtikel seterusnya:Soalan Temuduga TypeScript