zisky:
- Schopnost rozpoznat a ověřit, že umělá inteligence může produkovat falešná rozhraní API, nezabezpečený kód a obsah chráněný autorským právem
- Schopnost řídit používání AI v mezích důvěrnosti zdrojového kódu, osobních údajů a podnikové politiky
- Pochopení, že konečnou odpovědnost za dodržování licenčních podmínek, zabezpečení a etiku nese technik.
Modulová zkouška
1. Jako počítačový inženýr, když pracujete s nástrojem pro generování kódu AI, konečnou odpovědnost za to, co z následujícího by měl vždy zůstat člověk?
- A) Konečné schválení správnosti, zabezpečení a revize a testování kódu uvedeného do výroby ✔
- B) Vytvoření první kostry kódu pro funkci
- C) Vytvoření seznamu návrhů na názvy proměnných
- D) Příprava návrhu textu pro komentáře ke kódu
Popis: AI; Může urychlit úkoly, jako je kostra kódu, testovací návrh a dokumentace. Je však odpovědností inženýra zkontrolovat, otestovat a schválit vygenerovaný kód, aby se ujistil, že je správný, bezpečný a v souladu s požadavky, a zavést jej do výroby; toto nelze delegovat na AI bez nezávislého ověření.
2. AI pro vás vytvořila funkci a zdá se, že funguje na šťastné cestě. Jaký je nejlepší krok před uvedením do výroby?
- A) Protože se zdá, že funkce funguje, dejte ji přímo do výroby
- B) Ověřte chování napsáním a spuštěním testů malých jednotek, které zahrnují okrajové případy ✔
- C) Stačí se podívat na počet řádků funkce
- D) Vytvoření popisnějšího názvu funkce
Vysvětlení: Vypadat, že pracujete, neznamená mít pravdu. Psaní a spouštění testů malých jednotek, které pokrývají okrajové případy, jako je prázdný vstup, nula, zápor, velmi velká hodnota a neshoda, ověřují skutečné chování funkce, aniž by ji přesunuli do živého prostředí.
3. AI navrhla metodu nazvanou 'array.sortStable()', která ve vašem jazyce neexistuje, a vysvětlila ji jasným způsobem. Jaké je první správné opatření?
- A) Použití metody přímo, protože AI vypadá sebevědomě
- B) Sami si definujte metodu a použijte její název přesně
- C) Ověření existence metody z oficiální dokumentace jazyka/knihovny ✔
- D) Zavřete varování kompilátoru a pokračujte
Vysvětlení: Jazykové modely mohou věrohodně tvořit názvy knihoven, balíčků nebo metod, které ve skutečnosti neexistují (halucinují). Každé navrhované API by mělo být ověřeno doslovně podle oficiální a aktuální dokumentace jazyka nebo knihovny; Pokud není součástí dokumentu, neměl by být použit.
4. Chcete vložit důvěrný zdrojový kód vaší společnosti a vložený klíč API do veřejného nástroje AI a požádat o pomoc. Jaký je nejsprávnější přístup?
- A) Vložení kódu tak, jak je s klíčem API pro rychlost
- B) Stačí smazat název firmy a vše ostatní sdílet
- C) Sdílení kódu a poté požádání AI o jeho smazání
- D) Odstranění tajemství a skryté logiky a redukce problému na reprezentativní příklad nebo použití institucionálního nástroje ✔
Popis: Tajný zdrojový kód a přihlašovací údaje (klíč API, heslo, připojovací řetězec); Je to riskantní z hlediska firemního tajemství a bezpečnosti. Je nutné odstranit tajemství a skrytou obchodní logiku a zredukovat problém na anonymní/reprezentativní příklad nebo použít podnikový/nesdílený nástroj pro sdílení dat.
5. AI řekl, že složitost vyhledávací funkce, kterou napsal, byla O(n); ale v kódu jsou dvě vnořené smyčky. Jaké je správné technické chování?
- A) Ručně analyzujte kód a sami extrahujte složitost a v případě potřeby ji změřte ✔
- B) Přijměte O(n) a pokračujte, protože AI řekla
- C) Předpokládejme, že počet cyklů nemá nic společného s výkonem
- D) Stačí změnit název funkce
Vysvětlení: Časová složitost (Big-O) ukazuje, jak se zvyšuje počet operací s rostoucím vstupem. Dvě vnořené smyčky obvykle znamenají O(n^2). Tvrzení o složitosti AI by mělo být ověřeno manuální analýzou kódu a v případě potřeby měřením se zvyšujícími se vstupy; Spoléhání se na tvrzení vytváří nesprávný předpoklad plnění.
6. AI generovaný kód, který přímo vkládá vstup uživatele do dotazu SQL zřetězením textu. Jaký je zde hlavní problém a správné řešení?
- A) Žádný problém; sloučení textu je nejrychlejší metoda
- B) Existuje riziko vložení SQL; Měl by být použit parametrizovaný dotaz (připravený příkaz), který odděluje vstup ✔
- C) Stačí převést dotaz na velká písmena
- D) Napsáním dotazu kratším problém vyřešíte
Popis: Přidání uživatelského vstupu přímo do textu dotazu vytváří zranitelnost SQL injection; Útočník může upravit dotaz pomocí vstupu. Správným řešením je použít parametrizovaný dotaz (připravený příkaz), který odděluje vstup od textu dotazu. Toto je jedna z nejčastějších chyb zabezpečení v kódu AI.
7. Na kontrolu části kódu vytvořeného AI máte omezený čas. Které problémy je nejlepší upřednostnit?
- A) Formátujte pouze detaily, jako je odsazení a mezery
- B) Pouze délka názvů proměnných
- C) Logická správnost, zranitelnosti a chování okrajových případů ✔
- D) Pouze celkový počet řádků souboru
Popis: Nejvyšší riziko při kontrole kódu; Jedná se o problémy, které způsobují vážné škody, jako jsou logické chyby, zranitelnosti zabezpečení a úniky důvěrných informací. Problémy s formátem a stylem jsou opraveny automatickými nástroji; Hlavní lidská pozornost by měla být věnována přesnosti, bezpečnosti a chování hraničních případů.
8. Chcete, aby umělá inteligence vyřešila chybu. Který vstup by nejlépe pomohl AI najít hlavní příčinu?
- A) Stačí říct „kód nefunguje, opravte to“
- B) Stačí zadat název souboru
- C) Stačí říct očekávaný výsledek, bez textu chyby
- D) Poskytněte úplnou chybovou zprávu, trasování zásobníku, příslušný kód a příklad minimální reprodukce ✔
Vysvětlení: Pro efektivní ladění je nutné předat AI úplnou chybovou zprávu, trasování zásobníku, relevantní fragment kódu a nejmenší reprodukovatelný vzorek, který chybu způsobil. Vágní prohlášení „nefunguje“ nutí AI hádat a vydávat paušální doporučení.
9. Všechny testy jednotky vytvořené AI projdou při prvním spuštění. Které riziko by se v této situaci nemělo ignorovat?
- A) Testy mohou potvrdit aktuální stav kódu, ale ne skutečné/očekávané chování ✔
- B) Kód je absolutně bez chyb, protože všechny testy prošly
- C) Kvalita je zaručena, pokud je počet testů velký
- D) Absolvování testu prokazuje, že pokrytí je kompletní
Vysvětlení: Testy mohou ověřovat aktuální (možná chybné) chování kódu, nikoli jeho zamýšlené chování; nebo nemusí obsahovat žádné smysluplné tvrzení a je vždy předán. Aby bylo vidět, že testy prověřují skutečné očekávání, je nutné vědomě prolomit kód a potvrdit, že test zčervená.
10. AI vám vytvořila hotový blok kódu pro problém. Máte podezření, že kód mohl být doslovně zkopírován z projektu s otevřeným zdrojovým kódem. Jaký je správný přístup?
- A) Použití licence bez přemýšlení, protože kód funguje
- B) Kontrola zdroje/licence kódu, v případě potřeby přepsání a dodržování firemních zásad ✔
- C) Stačí změnit názvy proměnných a považovat problém za vyřešený
- D) Za předpokladu, že se licencování týká pouze velkých společností
Popis: Umělá inteligence dokáže doslovně reprodukovat kód chráněný autorskými právy/licencovaný v trénovacích datech. Porušení licence v komerčním produktu vytváří vážná právní rizika. Je nutné zkontrolovat zdroj a licenci kódu, v případě potřeby jej přepsat vlastními slovy a dodržovat licenční politiku instituce.
11. AI navrhla, abyste pro svůj projekt okamžitě přešli na architekturu mikroslužeb. Jaký je nejvhodnější technický přístup při hodnocení tohoto návrhu?
- A) Okamžitě rozdělte celý systém na mikroslužby, protože AI navrhuje
- B) Za předpokladu, že mikroservis je vždy nejlepší volbou
- C) Vyhodnoťte návrh podle skutečné potřeby, zatížení, struktury týmu a plus-minus bilanci ✔
- D) Rozhodnutí pouze na základě oblíbenosti architektury
Vysvětlení: Architektonická rozhodnutí závisí na kontextu; Mikroslužby přidávají hodnotu v potřebách, jako je rozsah a oddělení týmů, ale přicházejí s náklady, jako je provozní složitost, distribuované ladění a náklady. Vyhodnoťte návrh podle skutečné potřeby, zatížení, struktury týmu a vyváženosti pro a proti; Obecné rady by se neměly slepě dodržovat.
12. AI vytvořila pro váš kód zjednodušenou dokumentaci README a API; ale některé koncové body a parametry se v kódu neshodují. Jaké je správné chování?
- A) Publikování dokumentu tak, jak je, protože text je plynulý
- B) Opravte název a zbytek nechte tak, jak je
- C) Přidání dokladu na sklad bez jeho čtení
- D) Porovnejte každý koncový bod a parametr se skutečným kódem a opravte všechny, které se neshodují ✔
Popis: Dokumentace by měla přesně odrážet skutečný kód; Nesprávný dokument tlačí vývojáře, kteří jej četli, k nesprávnému použití. Každý koncový bod, parametr a návratová hodnota by měly být ověřeny proti skutečnému kódu a jakékoli neshody by měly být opraveny.
13. Který vstupní přístup je správný pro výstup nejvyšší kvality, když požadujete kód od AI?
- A) Jasné uvedení jazyka/verze, vstupní a výstupní smlouvy, omezení a chybových situací ✔
- B) Stačí říct „napiš mi nějaký pracovní kód“
- C) Napište nejkratší požadavek bez uvedení jakéhokoli kontextu
- D) Stačí zadat, kolik řádků kódu bude
Popis: Výkonná výzva; Zahrnuje použitý jazyk a verzi, vstupní a výstupní smlouvu, omezení výkonu a stylu, chybové stavy a pokyn „zůstaňte pouze v požadovaném rozsahu“. Bezkontextový požadavek „napiš mi funkci“ je obecný a často produkuje nevhodný kód.
14. AI vygenerovala konfiguraci pro váš kanál CI/CD (nepřetržitá integrace/nasazování) a vložila do něj heslo databáze ve formě prostého textu. Jaká je správná oprava?
- A) Ponechat heslo jako prostý text, protože to funguje
- B) Přesouvání tajemství ven pomocí proměnných prostředí nebo nástroje pro správu tajemství, nevkládání prostého textu do úložiště ✔
- C) Přesuňte heslo pouze do řádku komentáře
- D) Problém vyřeší změna názvu souboru
Vysvětlení: Zápis tajných informací, jako jsou hesla a klíče v prostém textu do konfiguračního souboru, představuje riziko úniku řízení verzí a neoprávněného přístupu. Tajemství; Mělo by být chráněno proměnnými prostředí nebo speciálním správcem tajemství a nikdy by nemělo vstupovat do úložiště jako prostý text.