Keuntungan:
- Keupayaan untuk mengenali dan mengesahkan bahawa AI boleh menghasilkan API palsu, kod tidak selamat dan kandungan berhak cipta
- Keupayaan untuk mengurus penggunaan AI dalam had kerahsiaan kod sumber, data peribadi dan dasar korporat
- Memahami bahawa tanggungjawab utama untuk pematuhan lesen, keselamatan dan etika kekal dengan jurutera.
Peperiksaan Modul
1. Sebagai seorang jurutera komputer, apabila bekerja dengan alat penjanaan kod AI, tanggungjawab utama yang manakah antara berikut harus sentiasa berada di tangan manusia?
- A) Kelulusan akhir bagi ketepatan, keselamatan, dan semakan serta ujian kod yang dimasukkan ke dalam pengeluaran ✔
- B) Mencipta rangka kod pertama untuk sesuatu fungsi
- C) Menghasilkan senarai cadangan untuk nama pembolehubah
- D) Menyediakan draf teks untuk ulasan kod
Penerangan: AI; Ia boleh mempercepatkan tugas seperti rangka kod, draf ujian dan dokumentasi. Walau bagaimanapun, adalah menjadi tanggungjawab jurutera untuk menyemak, menguji dan meluluskan kod yang dijana untuk memastikan ia betul, selamat dan mematuhi keperluan, dan memasukkannya ke dalam pengeluaran; ini tidak boleh diwakilkan kepada AI tanpa pengesahan bebas.
2. AI telah menghasilkan fungsi untuk anda dan ia nampaknya berfungsi dalam laluan gembira. Apakah langkah terbaik sebelum memasukkannya ke dalam pengeluaran?
- A) Memandangkan fungsi itu nampaknya berfungsi, masukkannya terus ke dalam pengeluaran
- B) Sahkan tingkah laku dengan menulis dan menjalankan ujian unit kecil yang termasuk kes tepi ✔
- C) Hanya melihat bilangan baris fungsi
- D) Menjadikan nama fungsi lebih deskriptif
Penjelasan: Muncul bekerja tidak bermakna betul. Menulis dan menjalankan ujian unit kecil yang meliputi kes tepi seperti input kosong, sifar, negatif, nilai yang sangat besar, dan ketidakpadanan mengesahkan kelakuan sebenar fungsi tanpa mengalihkannya ke persekitaran langsung.
3. AI mencadangkan kaedah yang dipanggil 'array.sortStable()' yang tidak wujud dalam bahasa anda dan menerangkannya dengan cara yang jelas. Apakah tindakan pertama yang betul untuk diambil?
- A) Menggunakan kaedah secara langsung kerana AI kelihatan yakin
- B) Tentukan kaedah itu sendiri dan gunakan namanya dengan tepat
- C) Mengesahkan kewujudan kaedah daripada dokumentasi rasmi bahasa/perpustakaan ✔
- D) Tutup amaran pengkompil dan teruskan
Penjelasan: Model bahasa boleh membentuk perpustakaan, pakej atau nama kaedah yang sebenarnya tidak wujud (halusinasi). Setiap API yang dicadangkan hendaklah disahkan verbatim terhadap dokumentasi rasmi dan semasa bahasa atau perpustakaan; Jika ia tidak disertakan dalam dokumen, ia tidak boleh digunakan.
4. Anda ingin menampal kod sumber sulit syarikat anda dan kunci API terbenam ke dalam alat AI awam dan meminta bantuan. Manakah pendekatan yang paling betul?
- A) Menampal kod seperti dengan kunci API untuk kelajuan
- B) Cukuplah dengan hanya memadam nama syarikat dan berkongsi segala-galanya
- C) Berkongsi kod dan kemudian meminta AI untuk memadamkannya
- D) Mengeluarkan rahsia dan logik tersembunyi dan mengurangkan masalah kepada contoh yang mewakili atau menggunakan alat institusi ✔
Penerangan: Kod sumber rahsia dan bukti kelayakan (kunci API, kata laluan, rentetan sambungan); Ia berisiko dari segi rahsia dan keselamatan syarikat. Adalah perlu untuk menanggalkan rahsia dan logik perniagaan tersembunyi dan mengurangkan masalah kepada contoh tanpa nama/wakil atau menggunakan alat perkongsian perusahaan/bukan data.
5. AI berkata bahawa kerumitan fungsi carian yang ditulisnya ialah O(n); tetapi terdapat dua gelung bersarang dalam kod. Apakah tingkah laku kejuruteraan yang betul?
- A) Analisis kod secara manual dan ekstrak sendiri kerumitan dan ukur jika perlu ✔
- B) Terima O(n) dan teruskan kerana AI berkata
- C) Andaikan bilangan kitaran tiada kaitan dengan prestasi
- D) Hanya tukar nama fungsi
Penjelasan: Kerumitan masa (Big-O) menunjukkan cara bilangan operasi meningkat apabila input bertambah. Dua gelung bersarang biasanya bermaksud O(n^2). Tuntutan kerumitan AI harus disahkan dengan menganalisis kod secara manual dan mengukur dengan menambah input jika perlu; Bergantung pada tuntutan menghasilkan andaian prestasi yang salah.
6. Kod jana AI yang memasukkan secara langsung input pengguna ke dalam pertanyaan SQL dengan menggabungkan teks. Apakah masalah utama dan penyelesaian yang betul di sini?
- A) Tiada masalah; penggabungan teks adalah kaedah terpantas
- B) Terdapat risiko suntikan SQL; Pertanyaan berparameter (pernyataan yang disediakan) yang memisahkan input harus digunakan ✔
- C) Hanya menukar pertanyaan kepada huruf besar sudah memadai
- D) Menulis pertanyaan dengan lebih pendek akan menyelesaikan masalah
Perihalan: Menambah input pengguna terus ke teks pertanyaan mewujudkan kerentanan suntikan SQL; Penyerang boleh mengubah suai pertanyaan dengan input. Penyelesaian yang betul ialah menggunakan pertanyaan berparameter (pernyataan yang disediakan) yang memisahkan input daripada teks pertanyaan. Ini adalah salah satu kesilapan keselamatan yang paling sering terlepas dalam kod AI.
7. Anda mempunyai masa terhad semasa menyemak sekeping kod yang dihasilkan oleh AI. Isu manakah yang terbaik untuk diutamakan?
- A) Hanya format butiran seperti lekukan dan jarak
- B) Hanya panjang nama pembolehubah
- C) Ketepatan logik, kelemahan dan kelakuan kes tepi ✔
- D) Hanya jumlah bilangan baris fail
Penerangan: Risiko tertinggi dalam semakan kod; Ini adalah isu yang menyebabkan kemudaratan yang serius, seperti ralat logik, kelemahan keselamatan dan kebocoran maklumat sulit. Masalah format dan gaya diselesaikan dengan alat automatik; Perhatian utama manusia harus ditumpukan kepada ketepatan, keselamatan dan tingkah laku kes tepi.
8. Anda mahu AI menyelesaikan pepijat. Input manakah yang paling baik membantu AI mencari punca?
- A) Hanya mengatakan 'kod tidak berfungsi, betulkan'
- B) Hanya berikan nama fail
- C) Hanya mengatakan hasil yang diharapkan, tanpa teks ralat
- D) Berikan mesej ralat penuh, surih tindanan, kod yang berkaitan dan contoh pembiakan minimum ✔
Penjelasan: Untuk penyahpepijatan yang berkesan, adalah perlu untuk memberikan AI mesej ralat penuh, surih tindanan, coretan kod yang berkaitan dan sampel terkecil yang boleh dihasilkan semula yang menghasilkan ralat. Kenyataan samar-samar 'tidak berfungsi' memaksa AI untuk meneka dan membuat cadangan menyeluruh.
9. Semua ujian unit yang dihasilkan oleh AI lulus pada larian pertama. Risiko manakah yang tidak boleh diabaikan dalam situasi ini?
- A) Ujian boleh mengesahkan keadaan semasa kod tetapi bukan tingkah laku sebenar/jangka ✔
- B) Kod ini benar-benar bebas ralat kerana semua ujian lulus
- C) Kualiti terjamin jika bilangan ujian adalah besar
- D) Lulus ujian membuktikan bahawa perlindungan telah lengkap
Penjelasan: Ujian mungkin mengesahkan kelakuan semasa (mungkin buggy) kod, bukan kelakuan yang dimaksudkan; atau ia mungkin tidak mengandungi sebarang penegasan yang bermakna dan sentiasa diluluskan. Untuk melihat bahawa ujian menyemak jangkaan sebenar, adalah perlu untuk memecahkan kod secara sedar dan mengesahkan bahawa ujian menjadi merah.
10. AI telah menghasilkan kepada anda blok kod siap sedia untuk masalah. Anda mengesyaki bahawa kod itu mungkin telah disalin secara verbatim daripada projek sumber terbuka. Manakah pendekatan yang betul?
- A) Menggunakan lesen tanpa berfikir kerana kod berfungsi
- B) Menyemak sumber/lesen kod, menulis semula jika perlu dan mematuhi dasar korporat ✔
- C) Hanya tukar nama pembolehubah dan pertimbangkan masalah diselesaikan
- D) Dengan mengandaikan bahawa pelesenan hanya melibatkan syarikat besar
Perihalan: AI boleh mengeluarkan semula kod berhak cipta/berlesen dalam data latihan secara verbatim. Pelanggaran lesen dalam produk komersial menimbulkan risiko undang-undang yang serius. Ia adalah perlu untuk menyemak sumber dan lesen kod, menulis semula dengan perkataan anda sendiri jika perlu, dan mematuhi dasar pelesenan institusi.
11. AI mencadangkan agar anda segera beralih kepada seni bina perkhidmatan mikro untuk projek anda. Apakah pendekatan kejuruteraan yang paling sesuai semasa menilai cadangan ini?
- A) Bahagikan seluruh sistem dengan segera kepada perkhidmatan mikro kerana AI mencadangkan
- B) Andaikan perkhidmatan mikro sentiasa menjadi pilihan terbaik
- C) Nilaikan cadangan mengikut keperluan sebenar, beban, struktur pasukan dan baki tambah-tolak ✔
- D) Membuat keputusan berdasarkan populariti seni bina semata-mata
Penjelasan: Keputusan seni bina bergantung pada konteks; Perkhidmatan mikro menambah nilai dalam keperluan seperti skala dan pemisahan pasukan, tetapi disertakan dengan kos seperti kerumitan operasi, penyahpepijatan teragih dan kos. Menilai cadangan mengikut keperluan sebenar, beban, struktur pasukan dan keseimbangan kebaikan dan keburukan; Nasihat umum tidak boleh diikuti secara membuta tuli.
12. AI menghasilkan dokumentasi README dan API yang diperkemas untuk kod anda; tetapi beberapa titik akhir dan parameter tidak sepadan dalam kod. Apakah tingkah laku yang betul?
- A) Menerbitkan dokumen sebagaimana adanya kerana teksnya fasih
- B) Hanya betulkan tajuk dan biarkan selebihnya
- C) Menambah dokumen ke gudang tanpa membacanya
- D) Bandingkan setiap titik akhir dan parameter dengan kod sebenar dan betulkan mana-mana yang tidak sepadan ✔
Penerangan: Dokumentasi haruslah gambaran yang tepat bagi kod sebenar; Dokumen yang salah mendorong pembangun yang membacanya untuk menggunakannya secara salah. Setiap titik akhir, parameter dan nilai pulangan hendaklah disahkan terhadap kod sebenar dan sebarang ketidakpadanan harus diperbetulkan.
13. Pendekatan input manakah yang sesuai untuk output kualiti tertinggi apabila meminta kod daripada AI?
- A) Menyediakan bahasa/versi, kontrak input-output, kekangan dan situasi ralat dengan jelas ✔
- B) Hanya berkata 'tulis saya beberapa kod kerja'
- C) Tulis permintaan terpendek tanpa memberikan sebarang konteks
- D) Hanya menyatakan berapa banyak baris kod yang akan ada
Penerangan: Gesaan yang kuat; Ia termasuk bahasa dan versi yang digunakan, kontrak input-output, kekangan prestasi dan gaya, keadaan ralat dan arahan 'kekal hanya dalam skop yang diminta'. Permintaan 'tulis saya fungsi' tanpa konteks adalah generik dan sering menghasilkan kod yang tidak sesuai.
14. AI menghasilkan konfigurasi untuk saluran paip CI/CD (integrasi/pengerahan) anda dan membenamkan kata laluan pangkalan data di dalamnya dalam teks biasa. Manakah pembetulan yang betul?
- A) Meninggalkan kata laluan sebagai teks biasa kerana ia berfungsi
- B) Mengalihkan rahsia melalui pembolehubah persekitaran atau alat pengurusan rahsia, tidak meletakkan plaintext dalam repositori ✔
- C) Alihkan kata laluan hanya ke baris komen
- D) Menukar nama fail menyelesaikan masalah
Penjelasan: Menulis rahsia seperti kata laluan dan kekunci dalam teks biasa ke fail konfigurasi menimbulkan risiko kawalan versi bocor dan akses tanpa kebenaran. Rahsia; Ia harus diketepikan oleh pembolehubah persekitaran atau pengurus rahsia khas, dan tidak boleh memasuki repositori dalam teks biasa.