Voitot:
- Kyky tunnistaa ja varmistaa, että tekoäly saattaa tuottaa vääriä sovellusliittymiä, turvatonta koodia ja tekijänoikeudella suojattua sisältöä
- Kyky hallita tekoälyn käyttöä lähdekoodin luottamuksellisuuden, henkilötietojen ja yrityspolitiikan rajoissa
- Ymmärtää, että lopullinen vastuu lisenssien noudattamisesta, turvallisuudesta ja eettisyydestä on insinöörillä.
Moduulin tentti
1. Tietokoneinsinöörinä, kun työskentelet tekoälykoodin luontityökalun kanssa, perimmäinen vastuu seuraavista asioista on aina ihmisellä?
- A) Tuotantoon asetetun koodin oikeellisuuden, turvallisuuden ja tarkastelun ja testauksen lopullinen hyväksyntä ✔
- B) Ensimmäisen koodirungon luominen funktiolle
- C) Muuttujien nimiehdotusten luettelon tuottaminen
- D) Tekstiluonnoksen valmistelu koodikommentteja varten
Kuvaus: AI; Se voi nopeuttaa tehtäviä, kuten koodirunko, testiluonnos ja dokumentaatio. On kuitenkin insinöörin vastuulla tarkastaa, testata ja hyväksyä luotu koodi varmistaakseen, että se on oikea, turvallinen ja vaatimusten mukainen, sekä ottaa se tuotantoon; tätä ei voida siirtää tekoälylle ilman riippumatonta vahvistusta.
2. Tekoäly on tuottanut sinulle toiminnon ja se näyttää toimivan onnellisen tiellä. Mikä on paras askel ennen sen käyttöönottoa tuotantoon?
- A) Koska funktio näyttää toimivan, laita se suoraan tuotantoon
- B) Tarkista käyttäytyminen kirjoittamalla ja suorittamalla pieniä yksikkötestejä, jotka sisältävät reunatapauksia ✔
- C) Katsomalla vain funktion rivien määrää
- D) Tehdään funktion nimestä kuvaavampi
Selitys: Työltä näyttäminen ei tarkoita sitä, että on oikeassa. Pienten yksikkötestien kirjoittaminen ja suorittaminen, jotka kattavat reunatapaukset, kuten tyhjä syöttö, nolla, negatiivinen, erittäin suuri arvo ja epäsuhta, varmistavat funktion todellisen toiminnan siirtämättä sitä live-ympäristöön.
3. Tekoäly ehdotti menetelmää nimeltä "array.sortStable()", jota ei ole kielelläsi, ja selitti sen selkeästi. Mikä on ensimmäinen oikea toimenpide?
- A) Käytä menetelmää suoraan, koska tekoäly vaikuttaa luottavaiselta
- B) Määritä menetelmä itse ja käytä sen nimeä tarkasti
- C) Menetelmän olemassaolon tarkistaminen kielen/kirjaston virallisesta dokumentaatiosta ✔
- D) Sulje kääntäjän varoitus ja jatka
Selitys: Kielimallit voivat todennäköisesti muodostaa kirjasto-, paketti- tai menetelmänimiä, joita ei todellisuudessa ole olemassa (hallusinaatio). Jokainen ehdotettu API on tarkistettava sanatarkasti kielen tai kirjaston viralliseen ja nykyiseen dokumentaatioon nähden. Jos sitä ei ole asiakirjassa, sitä ei tule käyttää.
4. Haluat liittää yrityksesi luottamuksellisen lähdekoodin ja sulautetun API-avaimen julkiseen tekoälytyökaluun ja pyytää apua. Mikä on oikea lähestymistapa?
- A) Liitä koodi sellaisenaan API-avaimella nopeutta varten
- B) Riittää, kun poistat yrityksen nimen ja jaat kaiken muun
- C) Koodin jakaminen ja sitten tekoälyn pyytäminen poistamaan se
- D) Salaisuuksien ja piilologiikan poistaminen ja ongelman pelkistäminen edustavaksi esimerkiksi tai institutionaalisen työkalun käyttäminen ✔
Kuvaus: Salainen lähdekoodi ja tunnistetiedot (API-avain, salasana, yhteysmerkkijono); Se on riskialtista yrityksen salaisuuden ja turvallisuuden kannalta. On tarpeen poistaa salaisuudet ja piilotettu liikelogiikka ja pelkistää ongelma anonyymiin/edustavaan esimerkkiin tai käyttää yrityksen/ei-tietojen jakamistyökalua.
5. AI sanoi, että hänen kirjoittamansa hakufunktion monimutkaisuus oli O(n); mutta koodissa on kaksi sisäkkäistä silmukkaa. Mikä on oikea insinöörikäyttäytyminen?
- A) Analysoi koodi manuaalisesti ja poimi itse monimutkaisuus ja mittaa se tarvittaessa ✔
- B) Hyväksy O(n) ja jatka, koska AI sanoi
- C) Oletetaan, että jaksojen lukumäärällä ei ole mitään tekemistä suorituskyvyn kanssa
- D) Muuta vain funktion nimi
Selitys: Aika monimutkaisuus (Big-O) osoittaa, kuinka toimintojen määrä kasvaa syötteen kasvaessa. Kaksi sisäkkäistä silmukkaa tarkoittavat yleensä O(n^2). Tekoälyn monimutkaisuusväite tulee varmistaa manuaalisesti analysoimalla koodi ja mittaamalla tarvittaessa lisäämällä syötteitä; Väitteeseen tukeutuminen tuottaa virheellisen oletuksen suorituskyvystä.
6. Tekoälyn luoma koodi, joka lisää käyttäjän syötteen suoraan SQL-kyselyyn ketjuttamalla tekstiä. Mikä tässä on suurin ongelma ja oikea ratkaisu?
- A) Ei ongelmaa; tekstin yhdistäminen on nopein tapa
- B) On olemassa SQL-injektion vaara; Parametrisoitua kyselyä (valmistettua lauseketta), joka erottaa syötteen, tulee käyttää ✔
- C) Pelkkä kyselyn muuntaminen isoiksi kirjaimille riittää
- D) Kyselyn kirjoittaminen lyhyemmäksi ratkaisee ongelman
Kuvaus: Käyttäjän syötteen lisääminen suoraan kyselyn tekstiin luo SQL-injektion haavoittuvuuden. Hyökkääjä voi muokata kyselyä syötteellä. Oikea ratkaisu on käyttää parametroitua kyselyä (valmistettua lausetta), joka erottaa syötteen kyselyn tekstistä. Tämä on yksi yleisimmistä AI-koodin tietoturvavirheistä.
7. Sinulla on rajoitetusti aikaa tarkastella tekoälyn tuottamaa koodinpätkää. Mitkä asiat on parasta priorisoida?
- A) Vain muotoilun yksityiskohdat, kuten sisennykset ja välit
- B) Vain muuttujien nimien pituus
- C) Looginen oikeellisuus, haavoittuvuudet ja reunakotelon käyttäytyminen ✔
- D) Vain tiedoston rivien kokonaismäärä
Kuvaus: Korkein riski koodin tarkistuksessa; Nämä ovat ongelmia, jotka aiheuttavat vakavaa haittaa, kuten loogisia virheitä, tietoturva-aukkoja ja luottamuksellisten tietojen vuotoja. Muoto- ja tyyliongelmat korjataan automaattisilla työkaluilla; Pääasiallinen ihmisen huomio tulisi kiinnittää tarkkuuteen, turvallisuuteen ja kotelon käyttäytymiseen.
8. Haluat, että tekoäly ratkaisee virheen. Mikä tulo auttaisi parhaiten tekoälyä löytämään perimmäisen syyn?
- A) Sano vain "koodi ei toimi, korjaa se"
- B) Anna vain tiedoston nimi
- C) Sano vain odotettu tulos ilman virhetekstiä
- D) Anna täydellinen virheilmoitus, pinon jäljitys, asiaankuuluva koodi ja vähimmäistoistoesimerkki ✔
Selitys: Tehokas virheenkorjaus edellyttää, että tekoälylle on annettava täydellinen virhesanoma, pinon jäljitys, asiaankuuluva koodinpätkä ja pienin toistettava näyte, joka aiheuttaa virheen. Epämääräinen väite "ei toimi" pakottaa tekoälyn arvaamaan ja antamaan yleisiä suosituksia.
9. Kaikki tekoälyn tuottamat yksikkötestit läpäisevät ensimmäisellä kerralla. Mitä riskiä ei pitäisi jättää huomiotta tässä tilanteessa?
- A) Testit voivat vahvistaa koodin nykyisen tilan, mutta eivät todellista/odotettua toimintaa ✔
- B) Koodi on täysin virheetön, koska kaikki testit läpäisivät
- C) Laatu taataan, jos testien määrä on suuri
- D) Testin läpäiseminen todistaa, että kattavuus on täydellinen
Selitys: Testit saattavat vahvistaa koodin nykyistä (ehkä bugista) toimintaa, eivät sen suunniteltua toimintaa. tai se ei välttämättä sisällä merkityksellistä väitettä ja se hyväksytään aina. Jotta voit nähdä, että testit tarkistavat todellisia odotuksia, sinun on tietoisesti rikottava koodi ja varmistettava, että testi muuttuu punaiseksi.
10. Tekoäly on tuottanut sinulle valmiin koodilohkon ongelmaa varten. Epäilet, että koodi on saatettu kopioida sanatarkasti avoimen lähdekoodin projektista. Mikä on oikea lähestymistapa?
- A) Lisenssin käyttäminen ajattelematta, koska koodi toimii
- B) Koodin lähteen/lisenssin tarkistaminen, tarvittaessa uudelleenkirjoittaminen ja yrityspolitiikan noudattaminen ✔
- C) Muuta vain muuttujien nimet ja katso, että ongelma on ratkaistu
- D) Olettaen, että lisensointi koskee vain suuria yrityksiä
Kuvaus: AI voi toistaa harjoitustiedoissa olevan tekijänoikeudella suojatun/lisensoidun koodin sanatarkasti. Lisenssirikkomus kaupallisessa tuotteessa aiheuttaa vakavia oikeudellisia riskejä. On tarpeen tarkistaa koodin lähde ja lisenssi, kirjoittaa se tarvittaessa omin sanoin ja noudattaa laitoksen lisenssipolitiikkaa.
11. AI ehdotti, että vaihtaisit välittömästi mikropalveluarkkitehtuuriin projektissasi. Mikä on sopivin tekninen lähestymistapa tätä ehdotusta arvioitaessa?
- A) Jaa koko järjestelmä välittömästi mikropalveluihin, koska tekoäly ehdottaa
- B) Olettaen, että mikropalvelu on aina paras valinta
- C) Arvioi ehdotus todellisen tarpeen, kuormituksen, joukkueen rakenteen ja plus-miinus -suhteen mukaan ✔
- D) Päätöksen tekeminen pelkästään arkkitehtuurin suosion perusteella
Selitys: Arkkitehtoniset päätökset riippuvat kontekstista; Mikropalvelut tuovat lisäarvoa tarpeisiin, kuten mittakaavaan ja tiimien erottamiseen, mutta tuovat mukanaan kustannuksia, kuten toiminnan monimutkaisuutta, hajautettua virheenkorjausta ja kustannuksia. Arvioi ehdotus todellisen tarpeen, kuormituksen, joukkueen rakenteen sekä edut ja haitat tasapainon mukaan; Yleisiä neuvoja ei pidä noudattaa sokeasti.
12. Tekoäly tuotti koodillesi virtaviivaistetun README- ja API-dokumentaation; mutta jotkin päätepisteet ja parametrit eivät täsmää koodissa. Mikä on oikea käytös?
- A) Dokumentin julkaiseminen sellaisenaan, koska teksti on sujuvaa
- B) Korjaa vain otsikko ja jätä loput ennalleen
- C) Asiakirjan lisääminen varastoon lukematta sitä
- D) Vertaa jokaista päätepistettä ja parametria todelliseen koodiin ja korjaa ne, jotka eivät täsmää ✔
Kuvaus: Dokumentaation tulee heijastaa tarkasti todellista koodia; Väärä asiakirja pakottaa sen lukeneet kehittäjät käyttämään sitä väärin. Jokainen päätepiste, parametri ja palautusarvo on verrattava todelliseen koodiin ja mahdolliset epäsuhtaudet tulee korjata.
13. Mikä syöttötapa on oikea korkealaatuisimman tulosteen saamiseksi, kun pyydetään koodia tekoälyltä?
- A) Selkeä kieli/versio, syöttö-tulostussopimus, rajoitteet ja virhetilanteet ✔
- B) Sano vain "kirjoita minulle toimiva koodi"
- C) Kirjoita lyhin pyyntö antamatta mitään kontekstia
- D) Vain määrittää kuinka monta riviä koodia tulee olemaan
Kuvaus: Tehokas kehote; Se sisältää käytetyn kielen ja version, syöttö-tulostussopimuksen, suorituskyky- ja tyylirajoitukset, virheolosuhteet ja "pysy vain pyydetyssä laajuudessa" -ohjeen. Kontekstiton "kirjoita minulle funktio" -pyyntö on yleinen ja tuottaa usein sopimatonta koodia.
14. Tekoäly loi konfiguroinnin CI/CD (jatkuva integrointi/käyttöönotto) -putkelle ja upotti siihen tietokannan salasanan pelkkänä tekstinä. Mikä on oikea korjaus?
- A) Jätä salasana pelkkäksi tekstiksi, koska se toimii
- B) Salaisuuksien siirtäminen pois ympäristömuuttujan tai salaisuuden hallintatyökalun kautta, ei arkistoon laittamalla selvää tekstiä ✔
- C) Siirrä salasana vain kommenttiriville
- D) Tiedostonimen muuttaminen ratkaisee ongelman
Selitys: Salasanojen, kuten salasanojen ja avainten, kirjoittaminen pelkkänä tekstinä asetustiedostoon aiheuttaa versionhallinnan vuotamisen ja luvattoman käytön riskin. Salaisuudet; Ympäristömuuttujien tai erityisen salaisuuksien hallintaohjelman tulisi pitää se poissa, eikä se saa koskaan mennä arkistoon pelkkänä tekstinä.