Üksus 12 / 12

Piirid: turvalisus, privaatsus, litsents ja eetika

Kasu:

  • Võimalus ära tunda ja kontrollida, et tehisintellekt võib toota võltsitud API-sid, ebaturvalist koodi ja autoriõigustega kaitstud sisu
  • Võimalus hallata tehisintellekti kasutamist lähtekoodi konfidentsiaalsuse, isikuandmete ja ettevõtte poliitika piires
  • Mõistmine, et lõplik vastutus litsentsi järgimise, turvalisuse ja eetika eest jääb insenerile.

Mooduli eksam

1. Arvutiinsenerina peaks tehisintellekti koodi genereerimise tööriistaga töötades lõplik vastutus selle eest, milline järgmistest asjadest jääma alati inimese kanda?

  • A) Tootmisse pandud koodi õigsuse, turvalisuse ning ülevaatuse ja testimise lõplik kinnitamine ✔
  • B) Funktsiooni esimese koodiskeleti loomine
  • C) Muutujate nimede soovituste loendi koostamine
  • D) Koodikommentaaride teksti mustandi ettevalmistamine

Kirjeldus: AI; See võib kiirendada selliseid toiminguid nagu koodiskelett, testide mustand ja dokumentatsioon. Samas on inseneri kohustus genereeritud kood üle vaadata, testida ja kinnitada, et tagada selle õigsus, ohutus ja nõuetele vastavus ning tootmisse laskmine; seda ei saa ilma sõltumatu kontrollita AI-le delegeerida.

2. AI on loonud teie jaoks funktsiooni ja tundub, et see töötab õnnelikul teel. Mis on parim samm enne selle tootmisse panemist?

  • A) Kuna funktsioon näib töötavat, pange see otse tootmisse
  • B) Kontrollige käitumist, kirjutades ja käivitades väikeseid ühikuteste, mis hõlmavad servajuhtumeid ✔
  • C) Lihtsalt vaadates funktsiooni ridade arvu
  • D) Funktsiooni nime kirjeldavamaks muutmine

Selgitus: tööna näimine ei tähenda, et tal on õigus. Väikeste ühikutestide kirjutamine ja käitamine, mis hõlmavad selliseid äärejuhtumeid nagu tühi sisend, null, negatiivne, väga suur väärtus ja mittevastavus, kontrollivad funktsiooni tegelikku käitumist ilma seda otsekeskkonda teisaldamata.

3. AI soovitas meetodit nimega „array.sortStable()”, mida teie keeles ei eksisteeri, ja selgitas seda selgelt. Mis on esimene õige toiming?

  • A) Meetodi kasutamine otse, kuna AI tundub enesekindel
  • B) Määrake meetod ise ja kasutage selle nime täpselt
  • C) Meetodi olemasolu kontrollimine keele/raamatukogu ametlikust dokumentatsioonist ✔
  • D) Sulgege kompilaatori hoiatus ja jätkake

Selgitus: Keelemudelid võivad tõenäoliselt moodustada teegi-, paketi- või meetodinimesid, mida tegelikult ei eksisteeri (hallutsineerida). Iga pakutud API tuleks sõna-sõnalt kontrollida keele või raamatukogu ametliku ja kehtiva dokumentatsiooniga; Kui see ei sisaldu dokumendis, ei tohiks seda kasutada.

4. Soovite kleepida oma ettevõtte konfidentsiaalse lähtekoodi ja manustatud API-võtme avalikku tehisintellekti tööriista ning küsida abi. Milline on kõige õigem lähenemine?

  • A) Koodi kleepimine nii, nagu see on API-võtmega kiiruse tagamiseks
  • B) Piisab lihtsalt ettevõtte nime kustutamisest ja kõige muu jagamisest
  • C) Koodi jagamine ja seejärel tehisintellektil selle kustutamise palumine
  • D) Saladuste ja varjatud loogika eemaldamine ning probleemi taandamine esinduslikuks näiteks või institutsionaalse tööriista kasutamine ✔

Kirjeldus: salajane lähtekood ja mandaadid (API võti, parool, ühenduse string); See on riskantne ettevõtte saladuse ja turvalisuse seisukohast. On vaja eemaldada saladused ja varjatud äriloogika ning taandada probleem anonüümsele/esinduslikule näitele või kasutada ettevõtte/mitteandmete jagamise tööriista.

5. AI ütles, et tema kirjutatud otsingufunktsiooni keerukus oli O(n); kuid koodis on kaks pesastatud silmust. Milline on õige insenerikäitumine?

  • A) Analüüsige koodi käsitsi ja eraldage ise keerukus ning vajadusel mõõtke ✔
  • B) Nõustuge O(n) ja jätkake, sest AI ütles
  • C) Eeldades, et tsüklite arv ei ole jõudlusega midagi pistmist
  • D) Muutke lihtsalt funktsiooni nime

Selgitus: Aja keerukus (Big-O) näitab, kuidas toimingute arv sisendi kasvades suureneb. Kaks pesastatud ahelat tähendavad tavaliselt O(n^2). Tehisintellekti keerukuse väidet tuleks kontrollida käsitsi koodi analüüsimise ja vajaduse korral suurendavate sisenditega mõõtmise teel; Nõudele tuginemine loob vale eelduse täitmise kohta.

6. AI loodud kood, mis lisab teksti ühendamise teel kasutaja sisendi otse SQL-päringusse. Mis on siin peamine probleem ja õige lahendus?

  • A) Pole probleemi; teksti liitmine on kiireim meetod
  • B) on SQL-i süstimise oht; Kasutada tuleks parameetritega päringut (ettevalmistatud lauset), mis eraldab sisendi ✔
  • C) Piisab lihtsalt päringu muutmisest suurtähtedeks
  • D) Päringu lühemaks kirjutamine lahendab probleemi

Kirjeldus: kasutaja sisendi lisamine otse päringu tekstile loob SQL-i sisestamise haavatavuse; Ründaja saab päringut sisendiga muuta. Õige lahendus on kasutada parameetritega päringut (ettevalmistatud lauset), mis eraldab sisendi päringu tekstist. See on üks AI-koodis kõige sagedamini vahele jäänud turvavigu.

7. Tehisintellekti loodud kooditüki ülevaatamiseks on teil piiratud aeg. Milliseid probleeme on parem eelistada?

  • A) Ainult vormingu üksikasjad, nagu taane ja vahed
  • B) Ainult muutujate nimede pikkus
  • C) Loogiline korrektsus, haavatavused ja servajuhtumi käitumine ✔
  • D) Ainult faili ridade koguarv

Kirjeldus: Kõrgeim risk koodi ülevaatamisel; Need on tõsist kahju tekitavad probleemid, nagu loogikavead, turvanõrkused ja konfidentsiaalse teabe lekked. Vormingu ja stiili probleemid lahendatakse automaatsete tööriistadega; Inimese põhitähelepanu tuleks pöörata täpsusele, turvalisusele ja käitumisele.

8. Soovite lasta tehisintellektil vea lahendada. Milline sisend aitaks tehisintellektil kõige paremini leida algpõhjuse?

  • A) Lihtsalt öeldes "kood ei tööta, parandage see"
  • B) Andke lihtsalt faili nimi
  • C) Öeldes lihtsalt oodatud tulemus, ilma veatekstita
  • D) Esitage täielik veateade, virna jälg, asjakohane kood ja minimaalse reprodutseerimise näide ✔

Selgitus: tõhusaks silumiseks on vaja tehisintellektile anda täielik veateade, virna jälg, asjakohane koodilõik ja väikseim reprodutseeritav näidis, mis vea tekitab. Ebamäärane väide "ei tööta" sunnib AI-d oletama ja andma üldisi soovitusi.

9. Kõik tehisintellekti loodud ühikutestid läbivad esimesel katsel. Millist riski ei tohiks selles olukorras ignoreerida?

  • A) Testid võivad kinnitada koodi hetkeseisu, kuid mitte tegelikku/oodatud käitumist ✔
  • B) Kood on täiesti veatu, kuna kõik testid läbisid
  • C) Kvaliteet on garanteeritud, kui testide arv on suur
  • D) Testi läbimine tõestab, et katvus on täielik

Selgitus: testid võivad kinnitada koodi praegust (võib-olla vigast) käitumist, mitte selle kavandatud käitumist. või see ei pruugi sisaldada ühtegi sisulist väidet ja on alati läbitud. Et näha, et testid kontrollivad tegelikku ootust, on vaja teadlikult kood murda ja kinnitada, et test muutub punaseks.

10. AI on koostanud teile probleemi jaoks valmis koodiploki. Arvate, et kood võidi sõna-sõnalt kopeerida avatud lähtekoodiga projektist. Milline on õige lähenemine?

  • A) Litsentsi kasutamine mõtlemata, sest kood töötab
  • B) Koodi allika/litsentsi kontrollimine, vajadusel ümberkirjutamine ja ettevõtte poliitika järgimine ✔
  • C) Muutke lihtsalt muutujate nimesid ja leidke probleem lahendatuks
  • D) Eeldusel, et litsentsimine puudutab ainult suuri ettevõtteid

Kirjeldus: AI suudab treeningandmetes sõna-sõnalt reprodutseerida autoriõigustega kaitstud/litsentsitud koodi. Kaubandusliku toote litsentsi rikkumine tekitab tõsiseid juriidilisi riske. Vajalik on kontrollida koodi allikat ja litsentsi, vajadusel oma sõnadega ümber kirjutada ning järgida asutuse litsentsimispoliitikat.

11. AI soovitas teil oma projekti jaoks kohe üle minna mikroteenuste arhitektuurile. Milline on selle ettepaneku hindamisel kõige sobivam tehniline lähenemine?

  • A) Jagage kogu süsteem kohe mikroteenusteks, kuna tehisintellekt soovitab
  • B) Eeldades, et mikroteenus on alati parim valik
  • C) Hinda ettepanekut vastavalt tegelikule vajadusele, koormusele, meeskonna struktuurile ja pluss-miinus tasakaalule ✔
  • D) Otsuse tegemine ainult arhitektuuri populaarsuse põhjal

Selgitus: Arhitektuursed otsused sõltuvad kontekstist; Mikroteenused lisavad väärtust sellistes vajadustes nagu ulatus ja meeskonna eraldamine, kuid nendega kaasnevad kulud, nagu töö keerukus, hajutatud silumine ja kulud. Hinda ettepanekut vastavalt tegelikule vajadusele, koormusele, meeskonna struktuurile ning plusside ja miinuste tasakaalule; Üldisi nõuandeid ei tohiks pimesi järgida.

12. AI koostas teie koodi jaoks täiustatud README ja API dokumentatsiooni; kuid mõned lõpp-punktid ja parameetrid ei ühti koodis. Milline on õige käitumine?

  • A) Dokumendi avaldamine sellisena, nagu see on, kuna tekst on ladus
  • B) Parandage lihtsalt pealkiri ja jätke ülejäänud nii nagu on
  • C) Dokumendi lisamine lattu ilma seda lugemata
  • D) Võrrelge iga lõpp-punkti ja parameetrit tegeliku koodiga ning parandage kõik, mis ei ühti ✔

Kirjeldus: dokumentatsioon peaks tegelikku koodi täpselt kajastama; Vale dokument sunnib seda lugenud arendajaid seda valesti kasutama. Iga lõpp-punkti, parameetrit ja tagastusväärtust tuleks tegeliku koodiga võrrelda ning kõik mittevastavused tuleks parandada.

13. Milline sisestusviis on AI-lt koodi küsimisel kõige kvaliteetsema väljundi jaoks õige?

  • A) Keele/versiooni, sisend-väljundlepingu, piirangute ja veaolukordade selge esitamine ✔
  • B) lihtsalt öeldes "kirjutage mulle mõni töökood"
  • C) Kirjutage lühim taotlus ilma konteksti andmata
  • D) Lihtsalt täpsustades, mitu rida koodi seal on

Kirjeldus: Võimas viip; See sisaldab kasutatavat keelt ja versiooni, sisend-väljundlepingut, jõudluse ja stiili piiranguid, veatingimusi ja käsku "jääge ainult nõutud ulatusse". Kontekstita „kirjuta mulle funktsioon” taotlus on üldine ja tekitab sageli sobimatut koodi.

14. AI genereeris teie CI/CD (pidev integreerimine/juurutamine) torujuhtme konfiguratsiooni ja manustas sellesse lihttekstina andmebaasi parooli. Milline on õige lahendus?

  • A) Parooli jätmine lihttekstina, sest see töötab
  • B) Saladuste teisaldamine keskkonnamuutuja või salahaldustööriista kaudu, mitte lihtteksti hoidlasse paigutamine ✔
  • C) Liigutage parool ainult kommentaarireale
  • D) Failinime muutmine lahendab probleemi

Selgitus. Saladuste (nt paroolid ja võtmed) lihttekstina konfiguratsioonifaili kirjutamine kujutab endast versioonikontrolli lekkimise ja volitamata juurdepääsu ohtu. Saladused; Keskkonnamuutujad või spetsiaalne saladuste haldur peaksid seda väljas hoidma ja see ei tohiks kunagi siseneda hoidlasse lihttekstina.